Scrape one URL
Request
- Base URL: https://api.fastcrw.com
- URL: https://api.fastcrw.com/v1/scrape
- Auth: one of:
- HTTP bearer
- none
Request body
Strip navigation, ads, and boilerplate; keep main article content only
null = auto-detect, true = force JS rendering, false = skip JS rendering
Milliseconds to wait after JS rendering before extracting content
CSS selectors / HTML tags to include in extraction
CSS selectors / HTML tags to remove before extraction
JSON Schema describing the structured output shape for the 'json' format
Return per-field evidence alongside the 'json' format: each top-level scalar schema property comes back as a Basis with an honest status. Requires a JSON schema; off by default, and when off the request sent to the model is unchanged.
Custom HTTP request headers forwarded to the target URL
CSS selector to narrow content extraction to a specific element
XPath expression to narrow content extraction to a specific element
Query string for BM25/cosine chunk filtering (used with chunkStrategy)
Filtering algorithm to rank chunks against query
Number of top chunks to return after filtering (default: 5)
Per-request proxy URL (http/https/socks5). Overrides global config.
Per-request proxy pool to rotate among (BYOP). Takes precedence over proxy and server config.
Rotation strategy for proxyList (default: sticky_per_host)
2-letter ISO 3166-1 alpha-2 country code for residential proxy egress (e.g. 'us', 'gb')
Override stealth mode for this request (null = use global config)
Unsupported Firecrawl parameter — returns a clear error if supplied
BYOK: LLM provider API key for structured extraction (overrides server key)
Per-request LLM provider override
Per-request LLM model identifier override
Per-request LLM base URL override for Chat Completions-compatible or Responses-compatible providers (e.g. https://api.deepseek.com/v1)
User-supplied instructions appended to the summary system prompt (capped at 500 chars)
Maximum bytes of scraped content sent to LLM for 'summary' format (capped at 200 KB)
Pin this request to a specific renderer. A non-auto browser tier implies renderJs:true unless renderJs:false is set. impersonated-http is a JS-less tier that presents a real Chrome TLS fingerprint; it never implies renderJs, and combining it with renderJs:true is rejected.
End-to-end deadline budget in milliseconds (default: 8000, max: 60000)
When true, response includes debugExtraction trace with every candidate the extractor considered
Plain-language monitor goal for the meaningful-change judge
Run the LLM meaningful-change judge on a changed page (requires goal)
Capture the whole page rather than the viewport, for formats: ["screenshot"].
How old a cached copy of this fetch may be, in milliseconds. 0 always fetches. Clamped to a 24 hour ceiling. Extraction options (formats, schema, selectors) are not part of the cache key, so a second pass over the same page reuses the fetch.
Set false to read the cache without writing to it.
Response
Scrape result
Top-level advisory (e.g. fallback render notice)
Changes
No recorded changes to this operation across all 1 revision of this API.