# Firecrawl > Canonical: https://www.yalc.ai/mcps/firecrawl/ Scrape, crawl, search, and extract structured data from any web page, surfaced inside Claude Code. ## Categories - prospecting - intelligence **Website:** https://www.firecrawl.dev/ **Repo:** https://github.com/mendableai/firecrawl-mcp-server ## Glance - License: Open source - Maintainer: Mendable AI - Tools: 8 verbs **Install Command:** claude mcp add firecrawl --env FIRECRAWL_API_KEY=fc-xxx -- npx -y firecrawl-mcp **Install Notes:** Get a free API key at firecrawl.dev (500 pages free tier). Replace `fc-xxx` with the key, run the command, restart Claude Code. The hosted version is the default. Self host the open source version if your data sensitivity requires it. **Yalc Fit Score:** 10 **Yalc Verdict:** The web data layer for every Yalc workflow that pulls from outside our database stack. JS rendering, anti-bot, and structured extraction all handled by Claude tool calls. ## Plain Description The Firecrawl MCP is the official `firecrawl-mcp` package from Mendable AI. It exposes 8 web data verbs as native Claude tools: scrape, batch_scrape, map, search, crawl, extract, interact, and agent. Output is markdown by default, optimized for LLM context windows, with optional structured JSON via schemas. For Yalc workflows, Firecrawl is the canonical web intake layer. When a prompt says "look up this competitor's pricing", "extract structured data from these 30 vendor pages", "monitor changes on a product changelog", or "search the web for fintech news", Firecrawl handles the wire. Yalc decides what to fetch and what to do with the result. ## Yalc Framework **Workflow Step:** intake ### Workflow Narrative The Firecrawl MCP sits at the **intake** node for any web sourced data. It complements Crustdata: Crustdata for structured B2B databases, Firecrawl for everything else (vendor sites, blogs, changelogs, product pages, news). JS rendering, smart wait, anti bot, and caching are all handled inside Firecrawl. Yalc workflows treat each Firecrawl call as a black box that returns clean markdown or structured JSON. **Workflow Position:** The web intake node. Yalc invokes Firecrawl when the answer lives on a public page rather than in a database. Output flows downstream into Notion, Claude analysis, or comparison reports. ### Prompt Patterns - Yalc, scrape these 30 competitor pricing pages via Firecrawl. Extract plan name, monthly price, included features into a structured table. Write to "Competitive intel" in Notion. → Yalc batches scrape calls with a JSON schema, normalizes output, writes to Notion. - Yalc, search the web via Firecrawl for "Series B fintech Germany 2026" and pull the top 20 results. Cross reference against our ICP list, surface unworked matches. → Yalc uses Firecrawl search, fuzzy matches against Notion, outputs candidates. - Yalc, monitor this product changelog page weekly. When a new entry appears mentioning "API" or "integration", summarize and post to #product. → Yalc uses Firecrawl scrape with cache busting, diffs against last fetch, classifies via Claude. ### Chaining **Upstream:** Yalc prompt with a URL or query (no upstream) **Downstream:** Firecrawl output → Claude (analysis) → Notion or Slack ### Anti Patterns - Don't scrape the same URL on a tight loop without caching. Firecrawl supports cache hints. Use them. Otherwise you'll burn the free tier in a day. - Don't use Firecrawl when a vendor has an official API. Even on the free tier, Firecrawl is slower and less structured than a real API. Vendor API first, Firecrawl as fallback. - Don't crawl entire sites when you only need 5 pages. The crawl verb is powerful but expensive. Use scrape on specific URLs unless you genuinely need link following. **Compatibility:** Works in Claude Code (primary), Claude Desktop, Cursor, Codex, and any MCP-compatible client. Open source on GitHub (mendableai/firecrawl-mcp-server). Self-host option available if data sensitivity prohibits third-party scraping. ## Pros - 500 page free tier. Real workflows ship without paying. - Open source. 100k+ GitHub stars. Active maintenance. - 8 verbs cover the full web data surface (scrape, crawl, search, extract, interact, agent, etc.). - JS rendering, smart wait, anti-bot all handled. No tuning needed. - Markdown output by default. LLM context-window optimized. ## Cons - Sites with aggressive anti-bot (Cloudflare strict, Datadome) still occasionally fail. - Crawl verb is expensive. Easy to burn budget if not careful. - JSON schema extraction works most of the time. Complex schemas need iteration. - Self hosting means maintaining browsers, queues, scaling. Real work. ## Who For - GTM engineers building agentic research workflows - Operators who need pricing, changelog, news scraping in regular workflows - Data teams piloting LLM driven web data ingestion at small to mid scale ## Related ### Tool **Rule:** Pricing tiers and plan choice context. ### Skill **Rule:** First party Yalc skill that wraps the four core Firecrawl verbs with retries and caching. ## Alternatives - **Apify MCP** - Rule: Switch when you need a marketplace of pre built scrapers (Reddit, LinkedIn, Twitter) rather than a general crawler. - Url: /mcps/apify/ - **Bright Data MCP** - Rule: Switch when residential proxies and aggressive anti bot evasion at scale matter most. - Url: # - **Direct Firecrawl REST API** - Rule: Skip the MCP if you're running headless cron jobs outside Claude Code. The REST API is more efficient for batch workloads. - Url: # ## Faq - Q: How does the MCP compare to Firecrawl's REST API? - A: Functionally equivalent results. The MCP is more convenient inside Claude Code because the verbs become native tool calls Claude composes during conversation. The REST API is better for headless cron jobs and batch pipelines. - Q: Can I scrape JavaScript heavy sites? - A: Yes. Firecrawl renders JS by default with smart wait. SPAs and React apps work without manual configuration. - Q: Does the MCP work for LinkedIn or Reddit? - A: For LinkedIn, no. LinkedIn aggressively blocks general scrapers. Use the Unipile MCP instead. For Reddit, technically yes, but Apify's Reddit actors are battle tested for production volume. - Q: How does the free tier behave inside the MCP? - A: Same 500 page allotment as the REST API. The MCP returns the same rate limit errors when you exceed. Plan accordingly with cache hints and selective verbs. - Q: How do I extract structured data from a page? - A: Pass a JSON schema to the scrape or extract verb. Firecrawl runs the page through an LLM with the schema, returns structured JSON. Works most of the time. Complex schemas may need a few iterations. - Q: Is the open source version the same as hosted? - A: Same core engine, MIT licensed. Self hosting means you manage the infra (browsers, queues, scaling). Hosted is the convenient option for most teams. **Reviewer:** Othmane Khadri