Skip to main content
POST
Best for a few facts from one page, like a price, a date or a list of names. Every field is checked against the page text and comes back null when the page does not state it. Use scrape for the whole page.

Price

5 credits for most pages: the page’s own price plus 4 credits. A call that finds none of the fields is free. See Pricing for what credits cost.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

maxTextLength
integer

Cut every text value in the response to this many characters. A value that was cut ends with …, and a page whose text was cut has isTruncated set to true. A screenshot is never cut. Leave it out to get the full text.

Required range: x >= 1

Body

application/json
urls
string[]
required

The pages to read, up to 10, such as ["https://bun.com/blog/bun-v1.3"]. With more than one, the fields are filled from all of them together. A page that cannot be read is skipped and named in warning, and costs nothing. The call fails only when no page can be read.

Required array length: 1 - 10 elements
Maximum string length: 2048
schema
object

The fields to fill, as a JSON Schema (draft-07 or 2020-12) object with properties. Pydantic's model_json_schema() and zod's toJSONSchema() output work as they are. enum, const, anyOf, oneOf, nullable types, $ref with $defs, required, descriptions and any key names are read. Up to 100 top-level fields and 32 KB. A field the page does not state comes back null.

prompt
string

What to pull from the pages in plain words, such as the version and the release date.

Required string length: 1 - 500
ignoreSitemap
boolean
includeSubdomains
boolean
showSources
boolean
scrapeOptions
object

How to read each page, the same options as scrape.

zeroDataRetention
boolean
default:false

Send true to keep nothing from this call: pages are read live, the result is held for one hour at most, and nothing is logged. Costs 1 credit more per page.

ignoreInvalidURLs
boolean
default:true

Skip addresses that are not public website URLs. Send false to refuse the call instead.

threatProtection
any

Response

The data, and the credits this call used.

success
boolean
required
invalidURLs
string[]
required
id
string