Firecrawl
Listed at https://firecrawl.dev
💰 Token Pricing
| Type | Price | Note |
|---|---|---|
| Input | 纯 credit-based 按 endpoint 与特性消耗,每月按 plan 重置额度;额外 credit 按 $5 一档购买(每档 1k–5k credits 不等)。从 firecrawl.dev/pricing 与 docs.firecrawl.dev/billing.md 验证(2026-08-29):Free 1k/月 $0;Hobby 5k/月 $19(年付 $16);Standard 100k/月 $83(年付 $99);Growth 500k/月 $333(年付 $399);Scale 1M/月 $599;Enterprise Custom。Credit 单价:Scrape / Crawl / Map 1 cr/page、Search 2 cr/10 results、Monitor 1 cr/page/check、Interact 2–7 cr/browser-minute。Batch Scrape / Extract 按子操作同价。Agent 5 daily runs free,超量动态计费。 | per million tokens |
| Output | 无独立 output 维度——Firecrawl 输出的是 scraped markdown / HTML / JSON 内容,计费仅按输入端的 credit 消耗与并发浏览器占用。出站数据本身不另收费;唯一例外是 Search 在 ZDR(zero-data-retention)企业档下按企业价另议。 | per million tokens |
| Cache Read | 无 token 级 cache。Firecrawl 自带页面层 maxAge 缓存(默认 2 天 = 172800000 ms,命中率高的页面秒级返回),仅对新鲜 scrape 调用扣 1 credit;`maxAge: 0` 强制刷新,`storeInCache: false` 不入库。 | Discounted |
🤖 Supported Models (10)
✨ Pros
- ✓v2 API covers nine endpoints in one stack — Scrape / Crawl / Map / Search / Batch Scrape / Extract / Interact / Monitor / Agent — no need to assemble multiple scraping tools
- ✓JSON mode (`formats: [{type: "json", schema: {...}}]`) returns OpenAI-format structured data on a single scrape call, eliminating a second parsing step
- ✓maxAge page cache defaults to 2 days: cache hits return in milliseconds (~10x speedup measured); `maxAge: 0` forces a fresh scrape, `storeInCache: false` skips persisting the result
- ✓Interact browser sandbox: dual Playwright-code or natural-language-prompt modes at 2–7 credits/minute with a 1-minute minimum
- ✓Monitor supports three target types — Page (known URL diffs), Website (scheduled full crawl), Web-scale (always-on search for new results) — with webhook + email + Slack notifications
- ✓Agent autonomous research: 5 daily runs free, then dynamic usage-based pricing; supports JSON schema output and composes with Extract
- ✓Self-hostable under AGPL-3.0: official Docker / Kubernetes images let enterprises avoid mainland-China latency and compliance gaps
- ✓MCP server support: the firecrawl-mcp-server exposes Scrape / Search / Parse keyless endpoints, with an official SKILL.md for one-line Claude Code / Cursor integration
- ✓Permanent Free tier with no credit card: 1,000 credits/month + 5 daily Agent runs — the lowest evaluation barrier among mainstream web-scraping APIs
⚠️ Cons
- ×No mainland China endpoint: api.firecrawl.dev is single-region with 200-400 ms transpacific latency; stable production traffic should self-host
- ×No token-level cache: only the page-level maxAge cache applies; high-frequency same-URL updates need manual maxAge + storeInCache management
- ×Output not rate-limited but Input charges credits: Search bills 4 credits for 11 results (rounded up to 2-credit units), so high-frequency search accumulates costs fast
- ×Free tier stops at 1k credits/month: tightly coupled to project timelines, month-end burst traffic can hit 429
- ×Interact browser charges a 1-minute minimum: sub-minute probes still bill a full minute, hard to compress during debug
- ×Monitor and Agent pricing is dynamic: monitor frequency and agent task volume directly drive credit consumption with no fixed cap
- ×Self-hosted edition is AGPL-3.0: commercial forks or redistribution must open-source the fork; closed-source commercial usage needs the hosted edition or a separate commercial license
- ×No affiliate program yet: apirank has no Firecrawl affiliate link live; sign up via the homepage
- ×Not a general-purpose LLM API: Firecrawl is a scraping / crawling platform, not a chat completions / responses API; sits in a different lane than OpenAI / Anthropic
🎯 Best For
RAG engineers who need to turn entire sites or large URL batches into clean markdown; agent teams building web-scale monitors for compliance, pricing, news, hiring, or product-page diffs; product teams driving browsers via natural-language prompts for end-to-end web tests, form fills, or login-session interactions; agent developers who want to scrape the current page from inside Claude Code / Cursor / Windsurf via firecrawl-mcp-server; enterprises constrained by mainland-China latency or compliance (self-host the Firecrawl Docker / Kubernetes image); evaluation or personal projects (Free tier, 1k credits/month + 5 daily Agent runs, no credit card).
💰 Pricing & Plans
| Plan | Monthly Credits | Concurrent Browsers | Monthly Price (Monthly) | Monthly Price (Yearly) | Extra Credit Pack |
|---|---|---|---|---|---|
| Free | 1,000 | 2 | $0 | — | — (no purchase) |
| Hobby | 5,000 | 5 | $19/mo | $16/mo | $5 / 1,000 credits |
| Standard | 100,000 | 25 | $99/mo (~$83 effective) | $83/mo | $5 / 2,000 credits |
| Growth | 500,000 | 50 | $399/mo (~$333 effective) | $333/mo | $5 / 2,500 credits |
| Scale | 1,000,000 | 100 | $599/mo | $599/mo | $5 / 5,000 credits |
| Enterprise | Custom | 100+ | Contact sales | Contact sales | Custom + bulk discounts + ZDR Search |
| Credit cost — Scrape / Crawl / Map | 1 credit / page or call | — | — | — | all plans |
| Credit cost — Batch Scrape / Extract | 1 credit / URL | — | — | — | all plans |
| Credit cost — Search | 2 credits / 10 results (rounded up) | — | — | — | all plans (ZDR custom for Enterprise) |
| Credit cost — Interact (Playwright code) | 2 credits / browser minute | — | — | — | 1-minute minimum |
| Credit cost — Interact (prompt-driven) | 7 credits / browser minute | — | — | — | 1-minute minimum |
| Credit cost — Monitor | 1 credit / page / check | — | — | — | all plans |
| Agent daily free runs | 5 / day, then dynamic | — | — | — | applies to every plan including Free |
| maxAge page cache | default 2 days (172800000 ms) | — | — | — | free on every plan |
🔧 API & Developer Experience
- •API Style: REST + SDK wrappers; v2 endpoints live at https://api.firecrawl.dev/v2 (with backward-compatible /v1 surface still served). Official Python SDK `firecrawl` (PyPI), Node SDK `firecrawl-js` (npm), and a hosted MCP server `firecrawl-mcp-server` exposing Scrape / Search / Parse for Claude Code / Cursor / Windsurf. SDKs wrap the raw HTTP endpoints so most callers never touch curl.
- •Endpoints: POST /v2/scrape (single URL with formats array), POST /v2/crawl (recursively crawl a site with page limits, paths include/exclude, maxDepth), POST /v2/map (list every URL on a site), POST /v2/search (web search + optional scrape), POST /v2/batch/scrape (explicit URL list, sync + async modes), POST /v2/extract (LLM-driven extraction across many URLs / URL patterns), POST /v2/interact (browser sandbox with code or prompt), POST /v2/monitor (scheduled checks), POST /v2/agent (autonomous research), GET /v2/crawl/:id + /v2/batch/scrape/:id (status + results), GET /v2/usage (credit consumption), GET /v2/queue/status (concurrency headroom).
- •Auth: Bearer token (single `Authorization: Bearer fc-XXX` header) issued from the Firecrawl dashboard at firecrawl.dev/dashboard/api-keys. Team-scoped: all keys in one team share the same concurrent-browser limit and monthly credit pool. Enterprise adds optional IP restrictions (allowlist of CIDR ranges) and per-key endpoint / output-format restrictions, both enforced server-side.
- •JSON Mode (structured extraction): v2 API change: the v1 `jsonOptions` parameter is gone. Embed the schema directly in the formats array: `formats: [{type: "json", schema: {type: "object", properties: {...}, required: [...]}}]`. The OpenAI schema is used verbatim, so any JSON schema generated for an OpenAI tool call works without rewriting. Returns `{success: true, data: {...}}` where `data` already conforms to the schema; no second LLM call required.
- •Batch Scrape & Async: POST /v2/batch/scrape accepts a list of URLs and returns `{id, urls, status}`. Poll /v2/batch/scrape/:id for `{status, completed, total, data: [...]}`. Async mode streams results via webhook when the job finishes; sync mode blocks until the job completes (subject to the timeout parameter, max 48h in the concurrency queue). All scrape options (formats, JSON schema, headers, maxAge, onlyMainContent) pass through to each URL.
- •Interact (Browser Sandbox): POST /v2/interact accepts either `{url, code: "playwright code..."}` for code-driven sessions (2 credits/minute) or `{url, prompt: "click login, fill email, click submit"}` for prompt-driven sessions (7 credits/minute). 1-minute minimum on every session; billed per browser-minute. Returns `{success, code, execution_logs, interactive_screenshot, captures: [...]}`. Useful for login-walled scraping, JS-rendered SPAs, form submissions.
- •maxAge Page Cache: Set `maxAge` (milliseconds) on any scrape call to control cache freshness. Default 172800000 ms (2 days); cache hits return in milliseconds instead of seconds (~10x speedup). `maxAge: 0` forces fresh scrape (bypasses cache, slower). `storeInCache: false` returns the page but does not persist it to the cache (useful for one-off scrapes that should not influence other callers).
- •Monitor (Scheduled Checks): Three target types: `/monitor` for known URLs (single-page diff), `/monitor` for entire websites (scheduled full crawl), `/monitor` for web-scale (always-on search). Configure schedule (cron), optional plain-language goal, and notification channels (webhook, email, Slack). Credit cost is 1 credit / page / check. Bounty program (5,000 credits) rewards feedback on government / legal / regulatory / public-record sources.
- •Agent: POST /v2/agent with `{prompt, urls?, schema?}` runs an autonomous research agent that browses, searches, and synthesizes. 5 daily runs free on every plan including Free; usage-based pricing beyond. Supports JSON schema output and composes with Extract for multi-URL structured research. Useful for `find all products that match X and return price / SKU / stock` workflows that span multiple sites.
- •MCP Server: `npx -y firecrawl-mcp-server` exposes Scrape / Search / Parse to Claude Code / Cursor / Windsurf as native MCP tools. Hosted MCP keyless endpoint at `https://api.firecrawl.dev/mcp/sse` allows Scrape / Search / Parse without an API key (low rate limits). Full MCP server with all tools requires an account connection or API key. SKILL.md onboarding at firecrawl.dev/agent-onboarding/SKILL.md; WorkOS ID-JAG auth path for agent platforms that can mint one.
- •SDKs & Self-Hosting: Official Python (`pip install firecrawl`), Node (`npm install firecrawl`), Go (community), Rust (community). Self-hosted edition under AGPL-3.0 license: official Docker image + Kubernetes manifests at github.com/firecrawl/firecrawl, with Bring-Your-Own-Database (Postgres / Redis) and Bring-Your-Own-Queue support. Enterprise commercial license available for closed-source forks; pricing on contact.
- •Rate Limits & Concurrency: Per-team rate limits (requests/minute) cap request volume; concurrent-browser limits (2 / 5 / 25 / 50 / 100+ by plan) cap parallel jobs. Exceeding either returns 429. `GET /v2/queue/status` returns current availability before sending work. Max queued jobs = 50,000 on Free/Hobby/Standard, 100,000 on Growth, 200,000+ on Scale/Enterprise. Jobs in the queue wait up to 48h before timing out.
🕸️ Web Scraping at Production Scale
Firecrawl positions itself as the scraping layer for the agent era. Where raw HTML scraping breaks on JS-rendered SPAs, login-walled pages, and bot detection, Firecrawl bundles nine v2 endpoints behind one credit system: Scrape, Crawl, Map, Search, Batch Scrape, Extract, Interact for Playwright code or prompts, Monitor, and Agent. The v2 JSON mode collapses two-step workflows into one call by embedding an OpenAI schema in the formats array. The self-hosted AGPL-3.0 build gives enterprises a clean path around mainland-China latency. Firecrawl's hosted MCP server exposes Scrape / Search / Parse as native tools for Claude Code / Cursor / Windsurf — the first scraping tool designed for in-agent invocation.
🌐 Regional Availability & Latency
Firecrawl's hosted API runs from a single-region base URL at https://api.firecrawl.dev (US, San Francisco) with no documented Asia-Pacific or mainland China routing layer. North American and European production traffic sees single-digit tens of ms first-byte latency; mainland China requires a proxy or transit, with typical 200-400 ms transpacific first-byte latency. For enterprises with mainland China latency or data-residency requirements, the self-hosted AGPL-3.0 Docker / Kubernetes build runs entirely on the customer's infrastructure and removes the transpacific round trip. No ICP-licensed mainland China hosted endpoint as of August 2026, but the MCP server at api.firecrawl.dev/mcp/sse serves Scrape / Search / Parse keyless endpoints globally for evaluation. Agent-friendly onboarding at firecrawl.dev/agent-onboarding/SKILL.md handles CLI / browser auth, API key setup, and capability summary.