Product data extraction
Turn public product pages into catalog records: name, price, availability, variants, ratings, and features when present on the page. One schema per page shape, not a parser per site.
Send a URL and a supported JSON Schema. ByteKit returns the fields your app expects, with validation status and warnings when the page cannot produce a clean match.
A public product page becomes a validated record. validated: true · warnings: []
Send a public URL and a supported object-root JSON Schema. ByteKit fetches the page, extracts the fields you defined, validates the result, and returns warnings so your system can accept the object or handle a clean miss.
{ "url": "https://acme.store/jacket", "schema": { "type": "object", "properties": { "title": { "type": "string" }, "price": { "type": "number" }, "availability": { "type": "string" }, "features": { "type": "array", "items": { "type": "string" } } } } }
{ "data": { "title": "Waterproof Jacket", "price": 49, "availability": "In stock", "features": [ "Breathable 3-layer fabric", "Two zip pockets" ] }, "validated": true, "warnings": [], "model": "bytekit-extract-1", "metrics": { "fields": 4, "filled": 4 }, "scrape": { "status": 200 } }
The extracted object is returned in data, wrapped alongside
validated, warnings,
metrics, model, and the underlying
scrape metadata.
Billed as a fixed credit charge per request plus the source page bandwidth. The extracted object is validated against your schema before it is returned.
Reach for /v1/schema when your app needs fields, not a blob of
page content.
Turn public product pages into catalog records: name, price, availability, variants, ratings, and features when present on the page. One schema per page shape, not a parser per site.
Read pricing, plan, and feature pages into comparable fields. The validation state and source URL travel with each record, so your team knows what was extracted and what needs review.
Pull predictable fields from articles, docs, listings, and profiles: title, author, publish date, company, category, or canonical URL. Use /scrape for full content; use /v1/schema for the structured layer.
Populate internal records straight from public URLs. When a page has no schema-valid object, ByteKit returns warnings instead of pretending the extraction succeeded.
Both take a public URL. They differ in the shape of the response.
/scrape page content The page itself, cleaned and ready to store or feed a model.
/v1/schema known fields The specific fields you asked for, checked against your schema.
Enough of the specification to describe a clean record, and no more.
The endpoint is designed for public pages and honest structured output, not guessing.
When the page does not contain a schema-valid object, the response returns data: null, validated: false, and warnings explaining what could not be found.
Unclear or absent fields are represented honestly as null. The endpoint does not invent a value to fill the shape.
It is designed for public pages and honest structured output. It is not a guessing engine and not a browser-automation tool.
{ "data": null, "validated": false, "warnings": [ "price not found on page", "availability could not be determined" ] }
/v1/schema turns a public web page into a validated JSON object that matches the fields your application expects. Send a URL and a supported JSON Schema; the response includes the extracted data plus a validation state.
Use /scrape when you need page content: markdown, HTML, links, images, or source context. Use /v1/schema when you already know the fields you want back, such as product name, price, or availability.
A focused subset for structured extraction: object roots, properties, required fields, arrays and items, enums, supported internal references, and descriptive metadata. Full JSON Schema is not supported.
Missing or unclear values are returned as null rather than invented, and a warning explains what could not be found. That keeps downstream workflows trustworthy.
The response returns data: null, validated: false, and warnings describing why the page was retrieved but could not produce a schema-valid object.
/v1/schema targets public pages. It does not support cookies, custom headers, selector waits, delays, logins, or arbitrary browser automation.
It is billed as a fixed credit charge per request plus the source page bandwidth. Test real URLs before committing to a plan. Rates are shown in the pricing section above.
Schema is billed as a fixed credit charge per request plus the source page bandwidth. Every plan supports the same API — start on PAYG with a one-time free balance, then pay for usage.
| PAYG free balance | 50 MB + 100 credits |
| PAYG bandwidth | $8 / GB |
| Monthly plans | from $29 / mo |
| Cache hits · failed | 50% · $0 |
Create a free API key and send one public page through /v1/schema.
The useful test is the page your product actually depends on.