Firecrawl is an API-first web scraping and crawling platform developed by Mendable that converts any website into clean, LLM-ready markdown or structured data. Unlike traditional scrapers that return raw HTML, Firecrawl handles JavaScript rendering, pagination, anti-bot bypasses, and content cleaning automatically. With over 97,000 GitHub stars and backing from Y Combinator ($14.5M Series A), it has become essential infrastructure for RAG pipelines, AI agents, and data extraction workflows.
Firecrawl operates as a cloud API service with multiple operational modes. Its core engine combines:
Firecrawl provides four primary modes for different use cases:
Extract content from a single URL. Returns clean markdown with metadata (title, description, Open Graph tags, robots directives).
Recursively discover and process all accessible subpages from a starting URL. Supports limit, excludePaths, includePaths, and depth controls. No sitemap required.
Generate a complete site map of all discoverable URLs without extracting content. Useful for planning targeted scrapes.
LLM-powered structured data extraction using schemas or natural language prompts. Define a Zod/Pydantic schema and Firecrawl returns typed JSON matching your specification.
Firecrawl's primary value proposition is producing data optimized for LLM consumption:
from firecrawl import FirecrawlApp # Initialize with API key app = FirecrawlApp(api_key="fc-YOUR_API_KEY") # Scrape a single page to markdown result = app.scrape_url( "https://docs.python.org/3/tutorial/", params={"formats": ["markdown"]} ) print(result["markdown"][:500]) # Crawl an entire site crawl = app.crawl_url( "https://docs.python.org/3/tutorial/", params={ "limit": 50, "scrapeOptions": {"formats": ["markdown"]}, "excludePaths": ["/genindex*", "/search*"] } ) for page in crawl["data"]: print(f"URL: {page['metadata']['sourceURL']}") print(f"Title: {page['metadata']['title']}") print(f"Content length: {len(page['markdown'])} chars") print("---") # Extract structured data with a prompt extracted = app.scrape_url( "https://example.com/pricing", params={ "formats": ["extract"], "extract": { "prompt": "Extract all pricing tiers with name, price, and features list" } } ) print(extracted["extract"])
Firecrawl integrates with major AI frameworks and tools:
FireCrawlLoader document loader for scrape and crawl modesfirecrawl-mcp-server for Claude, Cursor, and other MCP clientsnpx firecrawl-cli for command-line usage and agent configuration
| Tier | Pages/Month | Price | Key Features |
|---|---|---|---|
| Free | 500 | $0 | Scrape, crawl, basic extract |
| Starter | 3,000 | $16/mo | Priority support |
| Standard | 100,000 | $83/mo | Batch scrape, webhooks |
| Scale | 500,000 | $333/mo | Dedicated infrastructure |