Skip to main content
POST
Get structured data

Authorizations

X-API-Key
string
header
required

Body

application/json
url
string
required

The URL to scrape. Must be http(s); a bare domain such as example.com is read over https.

Example:

"https://example.com"

maxAge
integer

Serve from cache if a capture of this URL is younger than this many milliseconds. Omit for the default window, two days for a page and one hour for a feed; 0 always fetches fresh. Capped at 7 days.

Required range: 0 <= x <= 604800000
cacheOnly
boolean

Only serve from cache. If there is no fresh cached copy, return 404 instead of fetching.

storeInCache
boolean

Persist the capture for later re-extraction. Default true.

preferStructure
boolean

Preserve document structure (headings, lists, tables) over prose density — good for marketing and service pages. Default off.

async
boolean

Return a job id immediately instead of waiting for the result. Poll GET /v1/web/scrape/{id}. Opt in only: a synchronous call never degrades to a job id on its own, so you get a page or an error, not two response shapes.

onlyMainContent
boolean

Return only the main content, dropping nav/boilerplate. Default true.

includeTags
string[]

CSS selectors to keep. When set, only matching elements are considered.

Maximum array length: 50
Example:
excludeTags
string[]

CSS selectors to strip before extraction.

Maximum array length: 50
Example:
removeBase64Images
boolean

Strip inline base64 images from the output. Default true.

blockAds
boolean

Remove ads and tracking elements. Default true.

dismissCookies
boolean

Remove cookie and consent banners. Default true. Set false to keep them; a banner the site adds with scripts after load is kept only when the page is rendered.

dismissPopups
boolean

Close newsletter and promotion popups when the page is rendered. Default true. Set false to keep them.

render
boolean

Always read the page in a browser, as a visitor sees it once its scripts have run. Default false: the page is read in a browser only when its HTML is not enough. Combine with dismissCookies and dismissPopups set to false to keep what scripts add after load.

Keep inline links in the markdown. By default links are kept wherever the page text carries them. Set true to keep them on every page, or false for the densest prose.

waitFor
integer

Extra milliseconds to let the page settle before capture.

Required range: 0 <= x <= 30000
timeout
integer

Overall time budget for the request, in milliseconds.

Required range: 1000 <= x <= 100000
location
object
headers
object

Extra request headers to send when fetching the page.

method
enum<string>
default:GET

HTTP method to fetch the URL with. Use POST for endpoints that only answer a POST, such as JSON and GraphQL APIs. Defaults to GET.

Available options:
GET,
POST
body
string

Request body, sent verbatim. Only used when method is POST. Set the content type yourself via headers; nothing is assumed about the format.

Maximum string length: 65536
Example:

"{\"limit\":25,\"offset\":0}"

Response

data
object
required