Skip to main content
POST
Extract structured data from URLs

Authorizations

X-API-Key
string
header
required

Body

application/json
urls
string[]
required

The pages to extract from. Each must be an http(s) URL. A trailing /* marks a crawl scope: every page discovered under that path is extracted and merged into the result.

Maximum array length: 10
Example:
schema
object

JSON Schema describing the shape you want back. Optional if prompt is given; when both are present the schema fixes the field names and types while the prompt guides what to pull.

prompt
string

Natural-language instruction for what to extract. Use with or instead of a schema.

Maximum string length: 2000
Example:

"Pull the product name, price in USD, and whether it is in stock."

preferStructure
boolean

Preserve document structure (headings, lists, tables) over prose density when reading the page — good for listing and catalog pages. Default off.

Pull in extra source pages by web-searching your prompt, to fill fields your URLs do not cover. Requires a prompt.

showSources
boolean

Return the concrete list of URLs that were actually extracted, after any wildcard and web-search expansion. Default off.

showConfidence
boolean

For each field, return a confidence score and the exact source passage the value was drawn from. Default off.

mergeEntities
boolean

Merge the per-page results into one deduplicated collection — one row per entity, with its contributing source URLs — instead of a separate result per page. Default off.

maxAge
number

Reuse a recent capture of each page if it is younger than this many milliseconds. Omit or 0 to always fetch fresh. Capped at 7 days.

Required range: 0 <= x <= 604800000

Response

200 - application/json

The extracted data.

data
object
required