The API to search, scrape, and interact with the web at scale. 🔥
The web context API to find sources, extract content, and turn it into clean Markdown or structured data your agents can ship with.
Covers 96% of the web, including JS-heavy pages — no proxy headaches, just clean data.
P95 latency of 3.4s across millions of pages, built for real-time agents and dynamic apps.
Clean markdown, structured JSON, screenshots, and more — spend fewer tokens, build better AI apps.
Rotating proxies, orchestration, rate limits, JS-blocked content, and more — zero configuration.
Connect Firecrawl to any AI agent or MCP client with a single command.
Developed transparently and collaboratively — join our community.
| Feature | Description |
|---|---|
| Search | Search the web and get full page content from results |
| Scrape | Convert any URL to markdown, HTML, screenshots, or structured JSON |
| Interact | Scrape a page, then interact with it using AI prompts or code |
| Feature | Description |
|---|---|
| Agent | Automated data gathering, just describe what you need |
| Crawl | Scrape all URLs of a website with a single request |
| Map | Discover all URLs on a website instantly |
| Batch Scrape | Scrape thousands of URLs asynchronously |
Sign up at firecrawl.dev to get your API key. Try the playground to test it out.
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
search_result = app.search("firecrawl", limit=5)
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
result = app.scrape('firecrawl.dev')
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
result = app.scrape("https://amazon.com")
scrape_id = result.metadata.scrape_id
app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
app.interact(scrape_id, prompt="Click the first result")
Connect Firecrawl to any AI agent or MCP client in minutes.
Give your agent easy access to real-time web data with one command.
npx -y firecrawl-cli@latest init --all --browser
Connect any MCP-compatible client to the web in seconds.
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "fc-YOUR_API_KEY"
}
}
}
}
Are you an AI agent? Fetch this skill to sign up your user, get an API key, and start building with Firecrawl.
curl -s https://firecrawl.dev/agent-onboarding/SKILL.md
The easiest way to get data from the web. Describe what you need, and our AI agent searches, navigates, and retrieves it. No URLs required.
curl -X POST 'https://api.firecrawl.dev/v2/agent' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"prompt": "Find the pricing plans for Notion"
}'
Crawl an entire website and get content from all pages.
curl -X POST 'https://api.firecrawl.dev/v2/crawl' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://docs.firecrawl.dev",
"limit": 100,
"scrapeOptions": {
"formats": ["markdown"]
}
}'
Discover all URLs on a website instantly.
curl -X POST 'https://api.firecrawl.dev/v2/map' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"url": "https://firecrawl.dev"}'
Scrape multiple URLs at once.
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
job = app.batch_scrape([
"https://firecrawl.dev",
"https://docs.firecrawl.dev",
"https://firecrawl.dev/pricing"
], formats=["markdown"])
Our SDKs provide a convenient way to use all Firecrawl features and automatically handle polling for async operations.
pip install firecrawl-py
npm install firecrawl
Gradle/Maven dependency available
mix deps.add firecrawl
cargo add firecrawl
Community SDK available
Easy access to real-time web data
Command-line agent skills
Automated data gathering workflows
MCP server integration
Cloud platform integration
Automated workflows
Workflow automation
Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features:
To run locally, see the Contributing Guide. To self-host, see Self-Hosting Guide.
We love contributions! Please read our Contributing Guide before submitting a pull request.