Three core endpoints
/scrape — send a URL, get structured content back. By default it returns Markdown, which uses about 67% fewer tokens than raw HTML — a big saving that adds up across a RAG pipeline (RAG = feeding scraped text to an LLM so it can answer from real sources). You can also get JSON by supplying a schema describing the fields you want. It handles JavaScript-heavy sites because a real browser runs behind it.
/crawl — give it a starting URL and it returns every page on the site, with limits on how deep it goes and glob patterns (wildcard URL filters like /docs/*) to narrow the set. Handy for ingesting documentation or building a knowledge base.
/search — runs a web search and fetches the page content in a single call. Built for AI agents that need to ground answers in up-to-date information without stitching together several APIs.
The MCP server
This is Firecrawl's most-used feature in 2026. The MCP server is something you point Claude Code, Cursor, or any MCP client at. The LLM then gets ready-made tools — firecrawl.scrape(url), firecrawl.search(query), firecrawl.crawl(url) — that it can call in plain language. The key shift: your code does not call Firecrawl; the LLM does, on its own, when the user says "scrape this page" or "find me current pricing for X".
For agent-style workflows, this effectively gives any LLM the ability to use the web as a built-in skill. Combine it with Pydantic + Instructor (Python tools that force the model's output to match a defined schema) and you get a production-grade extraction pipeline in just a few lines.
Trade-offs vs alternatives
vs Crawl4AI (open source): Firecrawl is a managed service; Crawl4AI is something you run and maintain yourself. Firecrawl deals with anti-bot defenses and proxies for you; with Crawl4AI you set all of that up. Pick Firecrawl for speed, Crawl4AI when you need full control over your own data.
vs Scrappey or Bright Data: Firecrawl has an opinion about output — it returns Markdown tuned for LLMs. Scrappey returns raw HTML and lets you parse it however you like. For RAG pipelines, Firecrawl saves you the HTML-to-Markdown step. For traditional scraping (pulling specific fields with selectors), Scrappey is more flexible.
vs ScrapeGraphAI: Firecrawl gives you the building blocks; ScrapeGraphAI builds an extraction pipeline for you from a plain-language prompt. They sit at different levels of abstraction.
