Firecrawl Extract
firecrawl_extractExtract structured information from web pages using LLM capabilities.
How it works ↓Pricing
Per call
$0.05
Model
flat
Pay only for what you use. No subscriptions.
Inputs
schema
objecturls *
arrayenableWebSearch
booleanincludeSubdomains
booleanallowExternalLinks
booleanprompt
stringInput Parameters
Cost per run
Execution cost$0.05
About Firecrawl Extract
Firecrawl Extract on xpay — schema-driven structured data, no scraper code
firecrawl_extract is Firecrawl's purpose-built endpoint for schema-driven extraction: pass a URL (or list of URLs) and a JSON Schema, get back typed data matching the schema. Browser rendering, retries, and the LLM extraction step are handled server-side.
It is the right tool when:
- You have a clear schema in mind (
{"price": "number", "availability": "string"}). - You want to avoid writing CSS selectors, regex, or LLM extraction prompts yourself.
- You're extracting the same shape across many pages (a product catalog, a list of profiles, a set of news articles).
Request shape
{
"urls": ["https://example.com/product/abc"],
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"price": {"type": "number"},
"in_stock": {"type": "boolean"},
"rating": {"type": "number"}
},
"required": ["name", "price"]
},
"prompt": "Extract product details from this page."
}
Response:
{
"data": {
"name": "Acme Widget",
"price": 29.99,
"in_stock": true,
"rating": 4.6
}
}
Multi-URL extraction
Pass urls as an array. Firecrawl fetches each, applies the schema, and returns a job ID. Poll with firecrawl_check_extract_status until status: "completed". Useful for batches of 10–10,000 URLs without writing concurrency code yourself.
Wildcard URLs
Firecrawl supports glob-style URLs like https://news.example.com/2026/* — Firecrawl will discover matching pages, render each, and apply the schema. Equivalent to map → scrape → extract in one billable workflow.
When to use extract vs. scrape with json format
firecrawl_extract— multi-URL, glob URLs, when you want Firecrawl's higher-level extraction logic with a natural-language prompt.firecrawl_scrapewith formats=["json"] — single URL, full control over scrape options (waitFor, actions, headers), schema-driven extraction.
Both produce typed JSON. extract trades flexibility for ergonomics.
Pricing
firecrawl_extract is $0.05 per URL on xpay. Multi-URL jobs are billed per URL processed. $5 free credit on signup means ~100 free extractions before you pay anything.
Real-world examples
- E-commerce price monitoring — track
{name, price, availability}across competitor product pages. - News digest — extract
{headline, author, published_date, summary}from a list of article URLs. - Lead enrichment — pull
{name, title, company, linkedin_url}from public profile pages. - Compliance / regulatory tracking — extract
{rule_id, jurisdiction, effective_date, summary}from regulator sites.
Frequently Asked Questions
It fetches a URL (or list of URLs), runs full browser rendering, and returns structured JSON matching a JSON Schema you provide. Firecrawl handles the LLM extraction step and the retries; you just describe the shape you want.
extract supports multi-URL and glob/wildcard URLs natively, with a higher-level extraction logic and an optional natural-language prompt. scrape is single-URL with full control over rendering options like waitFor, actions, headers, and cookies. Both produce typed JSON; pick based on whether you need batch or fine-grained control.
$0.05 per URL on xpay. Multi-URL jobs are billed per URL processed. New accounts get $5 in free credits — about 100 free extractions.
Yes. Pass urls as an array, or use a glob URL like https://example.com/products/*. Firecrawl processes them server-side and returns a job ID; poll firecrawl_check_extract_status until completed.
Yes. firecrawl_extract runs full browser rendering before applying the schema, so SPAs and React/Vue/Next sites work the same as static HTML.
If the field is required and absent, Firecrawl returns an error or null. If optional, it is omitted from the response. Use the prompt parameter to give Firecrawl hints about where to look on the page.
Not directly through firecrawl_extract. If you want a separate LLM, use firecrawl_scrape to get clean markdown, then run your preferred model on the result. firecrawl_extract is the all-in-one endpoint that handles fetch + render + extract in one call.

