# Home

The API to search, scrape, and interact with the web at scale. 🔥 Firecrawl is the web context API to find sources, extract content, and turn it into clean Markdown or structured data your agents can ship with. It is also [open source](https://github.com/firecrawl/firecrawl). Trusted by 150,000+ companies including Apple, Shopify, Canva, Zapier, DoorDash, Lovable, Replit, Alibaba, Sierra, and Gamma, and powering 5B+ requests served to date.

## Core API Endpoints

### Search

Search the web and get full content from results, not just links. Two credits per 10 results.

```python
# pip install firecrawl-py
from firecrawl import Firecrawl

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

# Perform a search:
search_result = app.search("firecrawl", limit=5)
```

```javascript
// npm install firecrawl
import { Firecrawl } from "firecrawl";

const app = new Firecrawl({ apiKey: "fc-YOUR_API_KEY" });

// Perform a search:
app.search("firecrawl", { limit: 5 });
```

```bash
curl -X POST 'https://api.firecrawl.dev/v2/search' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
  "query": "firecrawl",
  "limit": 5
}'
```

```bash
# CLI
firecrawl search "firecrawl" --limit 5
```

Example search output:

```json
[
  {
    "url": "https://firecrawl.dev",
    "title": "Firecrawl",
    "markdown": "Turn websites into..."
  },
  {
    "url": "https://docs.firecrawl.dev",
    "title": "Firecrawl Docs",
    "markdown": "# Getting Started..."
  }
]
```

### Scrape

Get LLM-ready data from websites. Markdown, JSON, screenshot, and more. One credit per page.

```python
# pip install firecrawl-py
from firecrawl import Firecrawl

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

# Scrape a website:
app.scrape('firecrawl.dev')
```

```javascript
// npm install firecrawl
import { Firecrawl } from "firecrawl";

const app = new Firecrawl({ apiKey: "fc-YOUR_API_KEY" });

// Scrape a website:
app.scrape("firecrawl.dev");
```

```bash
curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
  "url": "firecrawl.dev"
}'
```

```bash
# CLI: Install and authenticate (one-time)
npm install -g firecrawl-cli
firecrawl login --api-key fc-YOUR_API_KEY

# Scrape a URL (markdown, use --only-main-content for clean output)
firecrawl scrape https://firecrawl.dev
firecrawl https://firecrawl.dev --only-main-content
```

Example markdown output:

```markdown
# Firecrawl

Firecrawl helps AI systems search,
scrape, and interact with the web.

## Features

- Search: Find information across the web
- Scrape: Clean data from any page
- Interact: Click, navigate, operate pages
- Agent: Autonomous data gathering
```

### Interact

Scrape a page, then take actions on it. Click buttons, fill forms, and navigate dynamic content using natural language prompts or code.

```python
from firecrawl import Firecrawl

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

# Scrape a page, then interact with it:
result = app.scrape("https://amazon.com")
scrape_id = result.metadata["scrapeId"]

app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
app.interact(scrape_id, prompt="Click the first result")
```

```javascript
import { Firecrawl } from "firecrawl";

const app = new Firecrawl({ apiKey: "fc-YOUR_API_KEY" });

// Scrape a page, then interact with it:
const result = await app.scrape("https://amazon.com");

await app.interact(result.metadata.scrapeId, {
  prompt: "Search for 'mechanical keyboard'",
});
await app.interact(result.metadata.scrapeId, {
  prompt: "Click the first result",
});
```

```bash
# cURL: Scrape the page
curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"url": "https://amazon.com"}'

# Interact with the page (use scrapeId from step 1)
curl -X POST 'https://api.firecrawl.dev/v2/scrape/SCRAPE_ID/interact' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"prompt": "Search for mechanical keyboard"}'
```

```bash
# CLI: One-time setup
npx -y firecrawl-cli@latest init --all --browser

# Scrape a URL, then interact with it:
firecrawl scrape https://amazon.com
firecrawl interact exec --prompt "Search for 'mechanical keyboard'"
firecrawl interact exec --prompt "Click the first result"
```

Example interact output:

```json
{
  "success": true,
  "output": "Keyboard available at $100",
  "liveViewUrl": "https://liveview...",
  "interactiveLiveViewUrl": "https://..."
}
```

### Crawl

Crawl a URL and all its accessible subpages, outputting the content from each page. One credit per page. Controls for depth, page limits, and path filters. Respects robots.txt rules for the "FirecrawlAgent" directive.

### Map

Discover all URLs on a website in seconds. One credit per call.

## Agent-Ready Integration

Connect Firecrawl to any AI agent or MCP client in minutes. Over 400,000 MCP servers have been installed.

### Skill (one command setup)

Give your agent harness easy access to real-time web data.

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

### MCP Server Configuration

Connect any MCP-compatible client to the web in seconds.

```json
{
  "mcpServers": {
    "firecrawl-mcp": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "fc-YOUR_API_KEY"
      }
    }
  }
}
```

### Agent Onboarding

For AI agents: fetch this skill to sign up your user, get an API key, and start building with Firecrawl.

```bash
curl -s https://firecrawl.dev/agent-onboarding/SKILL.md
```

## Performance and Reliability

- **96% web coverage** including JS-heavy pages, no proxy configuration needed (vs Puppeteer 79%, cURL 75%)
- **P95 latency of 3,387 ms** on the 1,000-URL scrape benchmark, run Jan 13, 2026, built for real-time agents and dynamic apps
- **5B+ requests served** powering AI agents, RAG pipelines, and live workflows worldwide
- **Open source** with 130K+ GitHub stars, one of the top 100 repos on GitHub
- **1.25M+ developers and 150K+ companies** building with Firecrawl
- **2.5M+ weekly SDK downloads** across npm and PyPI
- **Zero configuration**: rotating proxies, orchestration, rate limits, and JS-blocked content handled automatically
- **Integrations**: fully integrated with well-known tools and workflows

## Built-in Capabilities

| Capability    | Description                                                                                                |
| ------------- | ---------------------------------------------------------------------------------------------------------- |
| Media parsing | Parse and output content from web-hosted PDFs, DOCX, and more                                              |
| Smart wait    | Intelligently waits for content to load before scraping                                                    |
| Enhanced mode | Advanced web coverage with comprehensive reliability                                                       |
| Actions       | Click, scroll, write, wait, press and more before extracting content                                       |
| Caching       | Choose your caching patterns, backed by a growing web index                                                |
| Fair Sourcing | Fair access to web content, starting with Wikimedia ([partnership](/blog/firecrawl-wikipedia-partnership)) |

## Use Cases

- **Deep research**: Extract comprehensive information for in-depth research. Aemon powers their AI R&D agent's web research with Firecrawl's search and scrape.
- **Smarter AI chats**: Power AI assistants with real-time, accurate web content. Sierra uses Firecrawl to ingest web data into knowledge bases.
- **AI agent tools**: Give AI agents high-quality web data with one command. Lovable enhances their AI agent's web tools with Firecrawl.
- **Onboarding**: Scrape web content to pre-populate and streamline user onboarding. Gamma supercharges onboarding with web data.
- **Lead enrichment**: Enhance sales data with web information. Cognism enriches lead profiles from across the web with Firecrawl.

See all use cases at [Use Cases](/use-cases/index.md).

## Community

Developers love building with Firecrawl:

- "If you're coding with AI, and haven't discovered @firecrawl yet, prepare to have your mind blown" -- Morgan Linton
- "Moved our internal agent's web scraping tool from Apify to Firecrawl because it benchmarked 50x faster with AgentOps." -- Alex Reibman
- "The Firecrawl team ships. I wanted types for their node SDK, and less than an hour later, I got them." -- Bardia

## FAQ

### General

**What is Firecrawl?** Firecrawl is the web context API for AI agents. One API to find sources, extract content, and turn the live web into clean Markdown or structured data your agents can ship with.

**What can I build with Firecrawl?** Teams use Firecrawl for deep research agents, RAG pipelines, lead enrichment, competitive intelligence, content generation, price monitoring, and more. Anywhere your AI agent or application needs live web data, Firecrawl provides the infrastructure to get it reliably.

**Why do AI agents need Firecrawl?** AI agents are only as good as the context they get, and the web is the largest source of live context — but it was built for humans, not machines. Firecrawl closes that gap by turning messy, dynamic, human-oriented websites into structured, machine-usable data.

**What are Search, Scrape, and Interact?** These are Firecrawl's three core capabilities. Search finds relevant sources on the live web. Scrape turns websites into clean, structured, agent-ready data. Interact handles the harder cases where an agent has to click, navigate, or operate a page to reach the information. Together they give AI agents a complete way to understand and use the live web.

**Does Firecrawl work with AI agents and MCPs?** Yes. Firecrawl has an official MCP server so agents in Cursor, Claude, Windsurf, and other MCP-compatible tools can search, scrape, and interact with the web directly. There is also a CLI for terminal workflows and agent skills for Claude Code and Codex that handle setup automatically. Over 400,000 MCP servers have been installed.

**Who uses Firecrawl?** Over 1.25M developers and 150,000+ companies build with Firecrawl, including teams at Apple, Canva, and Lovable. We've served more than 5 billion requests to date, powering deep research agents, RAG pipelines, lead enrichment, and AI workflows across the live web.

**Is Firecrawl open-source?** Yes. Firecrawl is the largest open source repo in the space with over 130K GitHub stars and 2.5M+ weekly SDK downloads across npm and PyPI. The repository is available on GitHub.

**How is Firecrawl different from other tools in the space?** Firecrawl is not just a scraper or a search API -- it is the infrastructure layer that helps AI systems find, read, and act on information across the live web. Search, scrape, and interact work together on top of deep web data infrastructure including crawling, rendering, extraction, and indexing.

**What is the difference between the open-source version and the hosted version?** The hosted version features Fire-engine, proprietary infrastructure that handles proxies, rendering, and more. It also includes interact capabilities for navigating pages, a dashboard for analytics, and everything is one API call away.

### How It Works

**How does /search work?** Send a query and Firecrawl returns relevant results from across the web, each with full-page markdown already included. One call to go from a question to usable content. Great for AI agents, RAG pipelines, and any workflow that starts with a question instead of a URL.

**How does /scrape work?** Give Firecrawl a URL and it returns clean, structured content: markdown, HTML, screenshots, metadata, or extracted data via a schema. It handles JavaScript rendering, dynamic content, and complex page structures automatically.

**How does /interact work?** Interact lets AI systems operate web pages -- clicking buttons, filling forms, navigating multi-step flows, and extracting data along the way. Useful when the information is behind a login, pagination, or any sequence of actions that a simple scrape cannot reach.

**Can I extract structured data from pages?** Yes. Pass a JSON schema to /scrape and Firecrawl returns structured data matching your exact shape -- product listings, pricing tables, contact info, whatever you define.

**What formats can Firecrawl convert web data into?** Clean markdown by default, optimized for LLM context windows. Also raw HTML, screenshots, page metadata, and structured JSON via schemas.

**Does Firecrawl handle JavaScript-rendered pages?** Yes. Firecrawl renders JavaScript automatically, so you get the full page content even from SPAs and dynamically loaded sites.

**Does Firecrawl support crawling entire sites?** Yes. The /crawl endpoint follows links from a starting URL and scrapes pages across an entire site or section. You can control depth, page limits, and path filters. It respects robots.txt rules set for the "FirecrawlAgent" directive.

**Does Firecrawl handle complex websites?** Yes. Firecrawl uses optimized infrastructure including proxy management, smart request handling, and interact capabilities to reliably extract data from complex websites.

### API and SDKs

**What SDKs are available?** Firecrawl has official SDKs for Python, Node.js, Go, Rust, Java, and Elixir, plus a CLI for terminal workflows. You can also call the REST API directly from any language. All SDKs support search, scrape, interact, and crawl.

**Where can I find my API key?** Click on the dashboard button on the top navigation menu when logged in. AI agents can get started with https://www.firecrawl.dev/agent-onboarding/SKILL.md. Otherwise, agents whose platform can mint a WorkOS ID-JAG for Firecrawl can use https://www.firecrawl.dev/auth.md for direct authentication.

### Billing

**Is Firecrawl free?** Firecrawl gives you 1,000 free credits every month, which covers about 1,000 pages, and no card is required. When you need more, choose Hobby, Standard, Growth, or Scale. Every paid plan runs on pay-as-you-go: you get the plan's monthly credits, and we add more in 5 USD increments when you run out. You set a monthly limit to cap the spend, or turn pay-as-you-go off. AI agents can get started with https://www.firecrawl.dev/agent-onboarding/SKILL.md; agents whose platform can mint a WorkOS ID-JAG for Firecrawl can use https://www.firecrawl.dev/auth.md for direct authentication.

**Do credits roll over to the next month?** Credits roll over on Scale and Enterprise. Scale carries unused credits for one month, and Enterprise carries a custom amount. Hobby, Standard and Growth credits do not roll over. Credits you buy with pay-as-you-go stay on your account.

**How does pay-as-you-go work?** We add credits to your account when your balance runs out, so your requests keep working. It is for paid plans only. Each increment costs 5 USD and charges the card on file. Set your Monthly pay-as-you-go limit in your Billing settings: enter a whole multiple of 5 USD to cap the monthly spend, enter 0 to turn pay-as-you-go off, or enter nothing for no limit. Credits you buy yourself do not count toward that limit.

**How many credits does a 5 USD pay-as-you-go increment give me?** A 5 USD increment gives you 1,000 credits on Hobby, 2,000 on Standard, 2,500 on Growth, and 5,000 on Scale.

**How many credits does each request cost?** Scrape, Crawl, Map, and Monitor each cost 1 credit per page. Search costs 2 credits per 10 results. Interact costs 2 credits per browser minute. The Firecrawl Research Index paper endpoints are free across every category, including AI/ML and life sciences. Agent is in preview with 5 free daily runs and dynamic pricing. Advanced features (JSON format, etc.) cost additional credits. See the credits table on the [Pricing](/pricing.md) page.

**Do you charge for failed requests?** A scrape that returns no result is not charged. A page that responds with an error status such as 403 or 404 is still returned to you and costs 1 credit. If a charge looks incorrect, reach out to [help@firecrawl.com](mailto:help@firecrawl.com) and we'll take a look.

_Canonical HTML: https://www.firecrawl.dev_

## Site Navigation

### Global Hub

- [Pricing](/pricing.md)
- [Blog](/blog/index.md)
- [Glossary](/glossary/index.md)
- [Alternatives](/alternatives/index.md)
- [Tools](/tools/index.md)
- [Use Cases](/use-cases/index.md)
- [Integrations](/integrations/index.md)
- [Changelog](/changelog/index.md)
