Schema-driven structured extraction
Fetches url and extracts structured JSON conforming to the supplied
JSON Schema (draft 2020-12) using an LLM. Fast-path only — slow-path
rendering options (wait_until=networkidle, delay_ms,
wait_for_selector) cause a 400 unsupported_option.
Dual-axis billing: a fixed per-request credit charge plus the underlying page's bandwidth, billed at its upstream wire bytes with no endpoint factor (a 100 KiB estimate is pre-charged, then reconciled). The bandwidth is still billed when the scrape succeeds but extraction later fails; both axes are refunded only when the scrape itself never runs.
For AI agents: https://bytekit.com/llms.txt — every docs page is available as markdown by appending .md
Authorization
AuthorizationRequiredBearer <token>API key. Manage keys from the dashboard at app.bytekit.com.
In: header
Request Body
application/jsonRequiredurlRequiredstringTarget page URL (HTTP/HTTPS, SSRF-blocked, fast-path only).
"uri"schemaRequiredobjectJSON Schema (draft 2020-12) describing the desired output. Serialized size ≤ 50 KB, nesting depth ≤ 8, must compile under Ajv, and must be normalizable into Groq's strict-mode subset: root type: object, and only an allowlist of keywords at any depth — type, properties, required, additionalProperties, items, enum, $defs, $ref, description, title and default ($ref limited to #/$defs). Every other keyword, such as pattern, format, minimum, maxLength, const, oneOf, anyOf, allOf or if/then/else, returns 422 schema_incompatible.
promptstringOptional natural-language extraction hint.
2000modelstringExtraction model. An out-of-list value returns 400 unsupported_model (not a Zod 422).
"openai/gpt-oss-20b"Value in: "openai/gpt-oss-20b" | "openai/gpt-oss-120b"wait_for_selectorstring | nullnullwait_untilstring"load"Value in: "load" | "domcontentloaded" | "networkidle"delay_msinteger0Minimum: 0Maximum: 10000countrystring | nullTwo-letter country code, upper-cased. null is coerced to US.
"US"languagestring | nullAccepted and forwarded to the extraction service, which does not read it: it currently has no effect.
nullExtraction completed (success or graceful extract failure).