Firecrawl Scrape
firecrawl_scrapeScrape content from a single URL with advanced options.
How it works ↓Pricing
Per call
$0.03
Model
flat
Pay only for what you use. No subscriptions.
Inputs
screenshotOptions
objectexcludeTags
arrayformats
arrayqueryOptions
objectincludeTags
arrayprofile
objectparsers
arraymobile
booleanzeroDataRetention
booleanjsonOptions
objectskipTlsVerification
booleanstoreInCache
booleanurl *
stringremoveBase64Images
booleanproxy
stringmaxAge
numberonlyMainContent
booleanlocation
objectwaitFor
numberpdfOptions
objectInput Parameters
Cost per run
Execution cost$0.03
About Firecrawl Scrape
Firecrawl Scrape on xpay — clean content from any URL, with optional schema extraction
firecrawl_scrape fetches a single URL, runs full browser rendering for JavaScript-heavy pages, and returns the result in your chosen format: clean Markdown, raw HTML, screenshot, links, or structured JSON conforming to a schema you provide. It's the workhorse Firecrawl endpoint and the right default for single-page content extraction.
Output formats
- markdown (default) — reading-quality Markdown. Best for LLM consumption.
- html / rawHtml — cleaned or raw HTML.
- links — every URL discovered on the page.
- screenshot — full-page or above-the-fold PNG.
- json — schema-driven structured extraction (the killer feature).
Schema-driven JSON extraction
Pass a JSON Schema in the request and Firecrawl runs the page, finds the data points, and returns typed JSON that matches your schema. No regex, no CSS selectors, no DOM debugging.
{
"url": "https://anthropic.com/pricing",
"formats": ["json"],
"jsonOptions": {
"schema": {
"type": "object",
"properties": {
"tiers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {"type": "string"},
"input_per_mtok": {"type": "number"},
"output_per_mtok": {"type": "number"}
}
}
}
}
}
}
}
You get back { "tiers": [{ "name": "Sonnet", "input_per_mtok": 3, "output_per_mtok": 15 }, ...] }. This is materially better than scraping the page and asking an LLM to extract JSON — Firecrawl handles JS rendering, retries, and the extraction in one billable call.
Key options
| Option | Purpose |
|---|---|
formats | Array of output types (markdown, html, json, links, screenshot) |
onlyMainContent | Strip nav/footer/ads — usually want true for LLM consumption |
waitFor | Wait N ms for JS to render before extracting (use 5000–10000 for SPAs) |
actions | Click, scroll, wait, fill — interact with the page before scraping |
mobile | Render as mobile viewport |
headers / cookies | Custom request headers / cookies |
includeTags / excludeTags | CSS selectors to keep or drop |
jsonOptions.schema | JSON Schema for structured extraction |
When firecrawl_scrape is right
- You know the URL and want clean content or typed JSON from it.
- The page is JS-rendered and a plain HTTP fetch returns empty HTML.
- You need structured fields without writing scrapers.
When something else is better
- Multiple URLs from the same domain —
firecrawl_crawlis more efficient. - You don't know which page has the data —
firecrawl_searchorfirecrawl_mapfirst. - High-volume static-HTML scraping — Bright Data batch tools are cheaper.
Pricing
firecrawl_scrape is $0.01–$0.05 per call on xpay depending on options (JSON extraction and screenshots cost a bit more). $5 free credit on signup.
Frequently Asked Questions
It fetches a single URL, renders JavaScript, and returns the page content in your chosen format: Markdown, HTML, links, screenshot, or structured JSON matching a JSON Schema you provide.
Pass a JSON Schema in jsonOptions.schema. Firecrawl runs the page (with full JS rendering), finds the data points described by your schema, and returns typed JSON. No CSS selectors, no regex.
Plain GET often returns empty HTML for SPAs because the content is rendered client-side. firecrawl_scrape runs a real browser, waits for JS, handles anti-bot defenses, and returns the rendered content — clean Markdown by default.
$0.01–$0.05 per call on xpay depending on options. JSON extraction and screenshots cost more than plain markdown extraction. New accounts get $5 in free credits.
firecrawl_extract is the higher-level helper for structured extraction across multiple URLs or when you want Firecrawl to figure out the right approach. firecrawl_scrape is single-URL and gives you full control over formats and rendering options.
Set waitFor to 5000–10000 (milliseconds) so Firecrawl waits for JS to render before extracting. If JSON extraction returns empty content, try a different URL — SPAs often spread content across multiple URLs and the route fragment may not be the actual data URL.
Yes. Use the actions parameter — Firecrawl supports click, scroll, wait, fill, screenshot, and write actions. Useful for cookie banners, pagination, or content gated behind a click.

