Skip to content
← Tools / Skills
ToolFirecrawl Inc./10 trustVerified
Firecrawl logo

Firecrawl

Web scraping and crawling API built for AI agents — turn any site into clean markdown or structured data.

Visit official site →

About

Firecrawl is a web data API and retrieval platform for AI agents: scrape pages to markdown/HTML/structured JSON, crawl whole sites with limits, map URLs, run agent-optimized search, and use LLM extraction with schemas. The official SDKs are TypeScript (@mendable/firecrawl-js) and Python (firecrawl-py), and there is an official MCP server so agents can drive it as a tool.

The core is open source (AGPL-3.0) and self-hostable via Docker Compose, but self-hosting is heavyweight (API + PostgreSQL + Redis + RabbitMQ + Playwright) and ships with auth off for the first run. The managed cloud adds the advanced anti-bot Fire-engine, screenshots, page actions, and agent/browser endpoints that the self-hosted stack lacks.

What it can do

  • • Scrape any URL to markdown, HTML, or LLM-extracted structured data (v2 API)
  • • Crawl entire sites with depth/limit controls, plus sitemap-style URL mapping
  • • Agent-optimized web search with date and file-type filters
  • • LLM extraction with zod/JSON schemas, batch scraping, and deep research endpoints
  • • Official MCP server (firecrawl/firecrawl-mcp-server) — connect agents in one command
  • • Self-hostable OSS core via Docker Compose or Kubernetes/Helm; cloud adds Fire-engine anti-bot, screenshots, and page actions

Setup

  1. Cloud (fastest): sign up at https://firecrawl.dev and create an API key (keys start with fc-).
  2. Install an SDK: npm install @mendable/firecrawl-js or pip install firecrawl-py.
  3. Scrape a page:

```js

import Firecrawl from '@mendable/firecrawl-js';

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

const res = await app.scrape('https://example.com', { formats: ['markdown'] });

```

  1. For crawl/extract: use app.crawl(url, { limit: 100 }) and app.extract({ urls, prompt, schema }) — both verified in the official JS SDK README.
  2. Self-host (full control): clone the repo, check out a pinned release (docs verified against v2.11.162), set POSTGRES_PASSWORD in .env, run docker compose up -d, then POST http://localhost:3002/v2/scrape.
  3. Do not expose the self-hosted stack publicly without adding auth, network controls, and TLS — the docs' baseline has no authentication.

Prerequisites

Cloud: a Firecrawl API key. Self-host: Git, Docker Engine + Compose v2, curl, and enough RAM/disk for Postgres/Redis/RabbitMQ/Playwright. LLM extraction needs an OpenAI-compatible provider.

Use cases

searchdataautomationbrowser

Works with

mcpGeneric APIAny agent (.md)

Trust score — 9/10

/10 trustVerified

Scored 9/10 (verified tier, metrics-v1). Evidence: 190,797 GitHub stars (log-scaled vs catalog peers); blended with ~5,339,910 monthly package downloads; last push 0d ago; 8 releases/12mo; 576 open issues. Manual review: repo moved mendable→firecrawl org; self-host ships auth-off; cloud-only anti-bot features; P95 latency claims provider-only. License: AGPL-3.0 (OSI; network copyleft).

★ 190,795 GitHub stars

How the trust score is built

Full methodology →
Adoption · stars/downloads, log-scaled vs peers
9.7/10
Maintenance · recency, releases, issue load
9.3/10
Openness · license + docs
10.0/10
Manual review · sanity read + red-flag check
8.0/10
  • · 190,797 GitHub stars (log-scaled vs catalog peers)
  • · blended with ~5,339,910 monthly package downloads
  • · last push 0d ago; 8 releases/12mo; 576 open issues
  • · manual review: repo moved mendable→firecrawl org; self-host ships auth-off; cloud-only anti-bot features; P95 latency claims provider-only

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.