🔥 Firecrawl

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.

148,053
Stars
8,488
Forks
395
Contributors

Why Firecrawl?

Industry-leading reliability

Covers 96% of the web, including JS-heavy pages — no proxy headaches, just clean data.

Blazingly fast

P95 latency of 3.4s across millions of pages, built for real-time agents and dynamic apps.

LLM-ready output

Clean markdown, structured JSON, screenshots, and more — spend fewer tokens, build better AI apps.

We handle the hard stuff

Rotating proxies, orchestration, rate limits, JS-blocked content, and more — zero configuration.

Agent ready

Connect Firecrawl to any AI agent or MCP client with a single command.

Open source

Developed transparently and collaboratively — join our community.

Feature Overview

Core Endpoints

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

More

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

Quick Start

Sign up at firecrawl.dev to get your API key. Try the playground to test it out.

Python
Node.js
cURL
CLI
from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

search_result = app.search("firecrawl", limit=5)

Scrape

Python
Node.js
cURL
CLI
from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR_API_KEY")

result = app.scrape('firecrawl.dev')

Interact

Python
Node.js
cURL
CLI
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")

Power Your Agent

Connect Firecrawl to any AI agent or MCP client in minutes.

Skill

Give your agent easy access to real-time web data with one command.

npx -y firecrawl-cli@latest init --all --browser

MCP

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"
      }
    }
  }
}

Agent Onboarding

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

More Endpoints

Agent

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

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"]
    }
  }'

Map

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"}'

Batch Scrape

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"])

SDKs

Our SDKs provide a convenient way to use all Firecrawl features and automatically handle polling for async operations.

Python

pip install firecrawl-py

Node.js

npm install firecrawl

Java

Gradle/Maven dependency available

Elixir

mix deps.add firecrawl

Rust

cargo add firecrawl

Go

Community SDK available

Integrations

Agents & AI Tools

Firecrawl Skill

Easy access to real-time web data

Firecrawl CLI Skills

Command-line agent skills

Firecrawl Workflows

Automated data gathering workflows

Firecrawl MCP

MCP server integration

Platforms

Lovable

Cloud platform integration

Zapier

Automated workflows

n8n

Workflow automation

View all integrations →

Resources

Open Source vs Cloud

Firecrawl is open source under the AGPL-3.0 license. The cloud version at firecrawl.dev includes additional features:

Open Source vs Cloud Comparison

To run locally, see the Contributing Guide. To self-host, see Self-Hosting Guide.

Contributing

We love contributions! Please read our Contributing Guide before submitting a pull request.

Contributors