Introducing Firecrawl v2.5 - The world's best web data API. Read the blog.
. .
.. ..+
.:.
.. .. .::
+.. ..: :.
.:..::. .. ..
.--:::. .. ... .:. ..
.. .:+=-::.:. . ...-.::. ..
::.... .:--+::..: ......:+....:. :.. ..
....... ::-=:::: ..:-:-...: .--..:: .........
.. . . . ..::-:-.. .-+-:::.. ...::::. .: ...::.:..
. -... ....: . . .--=+-::. :-=-:.... . .:..:: .:---:::::-::....
..::........::=..... ...:-.. .:-=--+=-:. ..--:..=::.... . .:.. ..:---::::---=:::..:...
..........::::.:::::::-::.-.. ...::--==:. ..-::-+==-:... .-::....... ..--:. ..:=+==.---=-+-:::::::-..
. .....::......:: ::::-::.---=+-:..::-+==++X=-:. ..:-::-=-== ---.. .:.--::.. .:-==::=--X==-----====--::+:::+...
..-....-:..::-::=-=-:-::--===++=-==-----== X+=-:.::-==----+==+XX+=-::.:+--==--::. .:-+X=----+X=-=------===--::-:...:. ....
....::::...:-:-==+++=++==+++XX++==++--+-+==++++=-===+=---:-==+X:XXX+=-:-=-==++=-:. .:-=+=- -=X+X+===+---==--==--:..::...+....+
..:::---.::.---=+==XXXXXXXX+XX++==++===--+===:+X+====+=--::--=+XXXXXXX+==++==+XX+=: ::::--=+++X++X+XXXX+=----==++.+=--::+::::+. ::.=...
.:::-==-------=X+++XXXXXXXXXXX++==++.==-==-:-==+X++==+=-=--=++++X++:X:X+++X+-+X X+=---=-==+=+++XXXXX+XX=+=--=X++XXX==---::-+-::::.:..-..
. .
.. ..+
.:.
.. .. .::
+.. ..: :.
.:..::. .. ..
.--:::. .. ... .:. ..
.. .:+=-::.:. . ...-.::. ..
::.... .:--+::..: ......:+....:. :.. ..
....... ::-=:::: ..:-:-...: .--..:: .........
.. . . . ..::-:-.. .-+-:::.. ...::::. .: ...::.:..
. -... ....: . . .--=+-::. :-=-:.... . .:..:: .:---:::::-::....
..::........::=..... ...:-.. .:-=--+=-:. ..--:..=::.... . .:.. ..:---::::---=:::..:...
..........::::.:::::::-::.-.. ...::--==:. ..-::-+==-:... .-::....... ..--:. ..:=+==.---=-+-:::::::-..
. .....::......:: ::::-::.---=+-:..::-+==++X=-:. ..:-::-=-== ---.. .:.--::.. .:-==::=--X==-----====--::+:::+...
..-....-:..::-::=-=-:-::--===++=-==-----== X+=-:.::-==----+==+XX+=-::.:+--==--::. .:-+X=----+X=-=------===--::-:...:. ....
....::::...:-:-==+++=++==+++XX++==++--+-+==++++=-===+=---:-==+X:XXX+=-:-=-==++=-:. .:-=+=- -=X+X+===+---==--==--:..::...+....+
..:::---.::.---=+==XXXXXXXX+XX++==++===--+===:+X+====+=--::--=+XXXXXXX+==++==+XX+=: ::::--=+++X++X+XXXX+=----==++.+=--::+::::+. ::.=...
.:::-==-------=X+++XXXXXXXXXXX++==++.==-==-:-==+X++==+=-=--=++++X++:X:X+++X+-+X X+=---=-==+=+++XXXXX+XX=+=--=X++XXX==---::-+-::::.:..-..
//
Introducing /extract - Now in open beta
//
Get web data
with a prompt
with a prompt
Get web data
with a prompt
with a prompt
Turn entire websites into structured data with AI
/extract • API
JSON
Request
1POST /v2/extract
2{
3 "urls": ["https://firecrawl.dev"],
4 "prompt": "Extract all product prices",
5 "schema": {
6 "price": "string",
7 "plan": "string",
8 "features": ["string"]
9 }
10}Response
1{
2 "results": [
3 {
4 "plan": "Starter",
5 "price": "$29/mo",
6 "features": ["Basic scraping", "JSON output"]
7 },
8 {
9 "plan": "Pro",
10 "price": "$99/mo",
11 "features": ["Advanced extraction", "Custom schema"]
12 }
13 ]
14}Trusted by 5000+
companies of all sizes
companies of all sizes














































[ 01 / 04 ]
·
Why Extract
//
A milestone in scraping
//
Web scraping was hard – now effortless
Scraping the internet meant broken scripts, bad data, and wasted time. With Extract, get any data in any format effortlessly – in a single API call.
AI-FIRST
EXTRACT
No more manual scraping
Extract structured data from any website using natural language prompts.
constscraper = await
puppeteer.launch()
constpage = await browser.newPage()
page.$eval('div.price', ...)
// Complex selectors, breaks often
EXTRACT API
"Get all product prices"
✓ Simple prompt
✓ Always works
RELIABLE
EXTRACT
Stop rewriting broken scripts
Say goodbye to fragile scrapers that break with every site update. Our AI adapts automatically.
SCRIPT
constscraper = await
Page.load('https://firecrawl.dev')
page.$eval('div.price')
// Breaks often
PROMPT
"Get all product prices"
✓ Always works
Traditional scraping
SCALE
EXTRACT
Extract entire websites in one call
From a single page to thousands, we handle navigation, pagination, and rate limits.
Extracting: 0/5 pages
NO LIMITS
EXTRACT
Forget context windows
Extract thousands of results without worrying about token limits.
0
TOKENS PROCESSED
No limits • No context windows
[ 02 / 04 ]
·
See it in Action
//
Video Demo
//
Use Extract for everything
From lead enrichment to AI onboarding to KYB – and more. Watch a demo of how Extract can help you get more out of your data.
[ 03 / 04 ]
·
Extract Features
Lead Enrichment
Enrich your leads with complete data
Transform basic contact info into comprehensive profiles with company data, social profiles, and contact details automatically.
Extract from any source - websites, directories, social media
Validate and clean existing data automatically
Export to your CRM or database instantly
INPUT: john@example.com
Enriched Profile
Company name
Employee count
Location
Email addresses
Phone numbers
Website URL
LinkedIn profile
Social media
OUTPUT: Complete profile
Dataset Builder
Build massive datasets effortlessly
Create comprehensive datasets from any source. Extract handles pagination, rate limits, and data validation automatically.
Popular Datasets
E-commerce Products
Extract product catalogs from any online store
Extracted Fields
Product name
Price
Description
Images
Reviews
Stock status
// Sample output
[
{
"id": 1,
"product_name": "...",
"price": "...",
...
}
]
+1 billion
Websites scraped
5 billion
Data points extracted
45k+
GitHub stars
[ 04 / 04 ]
·
FAQ
//
FAQ
//
Frequently asked questions
Everything you need to know about Extract
Extract is an AI-powered web scraping API that lets you extract structured data from any website using natural language prompts. Simply describe what data you want, and Extract will automatically find and structure it for you – no coding or CSS selectors required.
FOOTER
The easiest way to extract
data from the web
data from the web
. .
.. ..+
.:.
.. .. .::
+.. ..: :.
.:..::. .. ..
.--:::. .. ... .:. ..
.. .:+=-::.:. . ...-.::. ..
::.... .:--+::..: ......:+....:. :.. ..
....... ::-=:::: ..:-:-...: .--..:: .........
.. . . . ..::-:-.. .-+-:::.. ...::::. .: ...::.:..
. -... ....: . . .--=+-::. :-=-:.... . .:..:: .:---:::::-::....
..::........::=..... ...:-.. .:-=--+=-:. ..--:..=::.... . .:.. ..:---::::---=:::..:...
..........::::.:::::::-::.-.. ...::--==:. ..-::-+==-:... .-::....... ..--:. ..:=+==.---=-+-:::::::-..
. .....::......:: ::::-::.---=+-:..::-+==++X=-:. ..:-::-=-== ---.. .:.--::.. .:-==::=--X==-----====--::+:::+...
..-....-:..::-::=-=-:-::--===++=-==-----== X+=-:.::-==----+==+XX+=-::.:+--==--::. .:-+X=----+X=-=------===--::-:...:. ....
....::::...:-:-==+++=++==+++XX++==++--+-+==++++=-===+=---:-==+X:XXX+=-:-=-==++=-:. .:-=+=- -=X+X+===+---==--==--:..::...+....+
..:::---.::.---=+==XXXXXXXX+XX++==++===--+===:+X+====+=--::--=+XXXXXXX+==++==+XX+=: ::::--=+++X++X+XXXX+=----==++.+=--::+::::+. ::.=...
.:::-==-------=X+++XXXXXXXXXXX++==++.==-==-:-==+X++==+=-=--=++++X++:X:X+++X+-+X X+=---=-==+=+++XXXXX+XX=+=--=X++XXX==---::-+-::::.:..-..