POST /v1/scrape to fetch a single URL and receive its content in one or more output formats — markdown (stripped and cleaned for LLM injection), raw HTML, a list of all discovered links, or a rendered screenshot. By default, navigation bars, headers, footers, and other boilerplate are removed, leaving only the main page content.
The legacy alias
POST /v1/fetch (and the unversioned POST /fetch) redirects with HTTP 307 to POST /v1/scrape, preserving the request body. Use /v1/scrape directly in new integrations.Endpoint
Authorization: Bearer sk-<key>
Request Parameters
string
required
The fully-qualified URL to scrape (e.g.
https://docs.python.org/3/whatsnew/3.13.html).string[]
default:"[\"markdown\"]"
Output formats to include in the response. Any combination of:
"markdown"— cleaned, LLM-ready markdown"html"— raw page HTML"links"— all hyperlinks found on the page"screenshot"— base64-encoded rendered screenshot
formats are omitted from data.boolean
default:"true"
When
true, strips navigation, headers, footers, and sidebars, returning only the primary page content. Set to false if you need the full DOM.integer
default:"60000"
Maximum time in milliseconds to wait for the page to load and extract. Accepted range: 1000–300000 (1 second to 5 minutes).
Response
boolean
true if the page was fetched and content extracted successfully.object
Extracted content and metadata.
