Skip to main content
POST
Scrape to Markdown

Authorizations

X-API-Key
string
header
required

Body

application/json
url
string
required

The URL to scrape. Must be http(s).

Example:

"https://example.com"

maxAge
number

Serve from cache if a capture of this URL is younger than this many milliseconds. Omit for the default 24h window; 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}.

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 common ad and tracking elements. Default true.

Keep inline links in the markdown. Default false — dropping them is what keeps our output dense. Turn on for reference, API-docs and code pages where cross-references are content.

renderJs
boolean

Force full page rendering for JavaScript-heavy pages. Left to the pipeline when omitted.

waitFor
number

Extra milliseconds to let the page settle before capture.

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

Overall time budget for the request, in milliseconds.

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

Extra request headers to send when fetching the page.

Response

data
object
required