Firecrawl Review — Video Script with recording checklist

← All scripts

Firecrawl — All You Need to Know (Review Video Script)

Hook

If you've ever tried to feed a website into an AI model, you already know the pain. You paste a URL, and you get back a wall of navigation menus, cookie banners, ads, and broken HTML. The actual content you wanted is buried somewhere in the middle.

Web pages were built for human eyes, not for machines. So every AI agent that needs live data from the internet hits the same wall.

Firecrawl is the tool that fixes that. It takes any URL and hands you back clean, LLM-ready data — markdown, structured JSON, screenshots, whatever you need.

Today I'm doing a full review. What it is, what it does, what it costs, how I used to use it, and how I use it now — including the Claude Code skill, the MCP server, and a Cloudflare Worker I deployed around it. Let's get into it.

What is Firecrawl

So what exactly is Firecrawl? In one line: it's a web data API for AI. You give it a URL or a search query, and it gives you back clean, structured data that a language model can actually use.

Think of it as the infrastructure layer between the messy live web and your AI app. It handles all the ugly parts — proxies, anti-bot systems, JavaScript rendering, dynamic content — so you don't have to.

And this isn't a small niche tool. Firecrawl is trusted by over 80,000 companies, including names like Shopify, Canva, Replit, Zapier, and Lovable. It's also the largest open-source project in this space, with over 100,000 stars on GitHub — so you can self-host it if you want, or use their managed cloud version.

The cloud version adds their proprietary engine that handles proxies and rendering reliably, plus a dashboard and the interactive features. For most people, the cloud version is the one you want.

The core features

Firecrawl is really six tools under one API. Let me walk through each one.

  • Scrape takes a single URL and returns its content — as markdown, HTML, a screenshot, or structured JSON. This is the one you'll use most.
  • Search lets you search the web and get the full page content of the results in one call. No need to search and then scrape separately — it's one step from a question to usable content.
  • Crawl follows links from a starting URL and scrapes an entire site or section. You control the depth, the page limit, and which paths to include or exclude.
  • Map instantly discovers every URL on a website. Great when you want to see a site's structure before you crawl it.
  • Interact is the newer one. You scrape a page, then keep working with it — click buttons, fill forms, navigate multi-step flows. Useful when the data is behind a login or some sequence of clicks.
  • Agent is autonomous data gathering. You describe what you want in plain English — like "find the top 5 AI startups and their funding" — and it goes and gets it for you.

One detail I like: with Scrape you can pass a JSON schema, and Firecrawl returns data matching your exact shape — product listings, pricing tables, contact info — with no parsing on your side.

Why it's actually good

A lot of tools claim to scrape the web. Here's what makes Firecrawl stand out in practice.

  • It handles the hard stuff. JavaScript-heavy pages and single-page apps render automatically. There's a smart wait that knows when content has actually loaded. It even parses PDFs, DOCX files, and more.
  • No proxy headaches. Firecrawl says it covers around 96% of the web, including JS-heavy pages, with no proxies or puppeteer scripts for you to manage.
  • It's fast. They quote a P95 latency of about 3.4 seconds across millions of pages — fast enough for real-time agents, not just batch jobs.
  • LLM-ready output. The default is clean markdown, optimized for context windows, so you spend fewer tokens and get better results.
  • Caching. You can choose your caching pattern, backed by a growing web index, so repeat requests are cheap and quick.

And because it's open source, none of this is a black box. You can read the code, contribute, or run the whole thing yourself.

My old way of using Firecrawl

Now let me get personal for a minute, because the way I use Firecrawl today is very different from how I started.

When I first picked it up, I used it the obvious way — straight through the API. I'd go to the dashboard, copy my API key, and paste it into a Python or Node script.

Every time I wanted to scrape something, I'd write code. Import the SDK, set up the client, call scrape, handle the response, print it out. For quick one-off jobs I'd drop down to raw curl commands and hand-build the JSON body.

It worked. But it was friction. If I was already chatting with an AI coding assistant and I needed live data from a page, I couldn't just ask for it. I had to stop, switch to a terminal or an editor, write a little script, run it, copy the output back. Every single time.

And my AI agent had no idea Firecrawl even existed. It couldn't reach for it on its own, because nothing told it the tool was available. So the agent would either hallucinate the page content or just tell me it couldn't browse the web.

That's the gap. The API was great — the workflow around it wasn't. Then I actually sat down and read their documentation, and that changed completely.

The new way — Skill & CLI

Here's what I found in their docs. Firecrawl ships a CLI and a set of "skills" — and skills are the thing that lets an AI coding agent like Claude Code discover Firecrawl and use it automatically.

Without a skill, your agent doesn't know Firecrawl is there. With it, the agent can search, scrape, crawl, and map straight from the terminal, on its own. The whole install is basically one command.

  • Step 1Open your project in Claude Code, then run the installer. This one command does everything:
npx -y firecrawl-cli@latest init --all --browser

Two flags matter here. --all installs every Firecrawl skill segment — the CLI skills, the build skills, and the workflow skills — into every AI coding agent it detects on your machine. --browser opens your browser so you can authenticate with Firecrawl automatically, no copy-pasting keys.

  • Step 2Finish the browser login it opens. That links the CLI to your Firecrawl account and API key.
  • Step 3Restart your agent. This part is important — Claude Code only discovers the new skills after a restart.
  • Step 4Verify it worked. Run the status command:
firecrawl --status

You should see the CLI version, "Authenticated", your concurrency limit, and your remaining credits. If you see all of that, you're done.

If you'd rather install the CLI on its own — without the skills — you can do that too:

npm install -g firecrawl-cli firecrawl login --browser

You can also log in with a key directly using firecrawl login --api-key fc-YOUR-KEY, or set the FIRECRAWL_API_KEY environment variable.

Once that's in, the agent — or you — can just run things like firecrawl scrape a URL, firecrawl search a query, firecrawl map a site, or firecrawl crawl a whole domain. No script, no API boilerplate. I literally just ask Claude for the data and it goes and gets it.

The new way — MCP server

The skill and CLI cover Claude Code. But I also wanted Firecrawl available in other AI tools — and for that, Firecrawl has an official MCP server.

MCP, the Model Context Protocol, is the standard way to plug a tool into an AI client. The Firecrawl MCP server works with Claude, Cursor, Windsurf, VS Code, and basically anything MCP-compatible. Over 400,000 of these have been installed.

The fastest way to add it to Claude Code is one command in your terminal:

claude mcp add firecrawl-mcp \ --env FIRECRAWL_API_KEY=fc-YOUR-API-KEY \ -- npx -y firecrawl-mcp

That registers the server, passes your API key as an environment variable, and tells Claude to launch it with npx — so there's nothing to install globally.

If your client wants the raw config instead — Cursor, Windsurf, or a manual setup — you add this JSON block to the MCP servers section of its config file:

{ "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "fc-YOUR-API-KEY" } } } }

After that, restart the client. Now the AI tool has Firecrawl's search, scrape, crawl, and interact available as native tools — it can call them mid-conversation without you lifting a finger.

So which do you pick? Honestly, for Claude Code I run the skill and CLI, because it's terminal-native and the agent uses it cleanly. For Cursor or other editors, the MCP server is the way. There's no harm in having both.

My Cloudflare Worker

Here's the last piece, and it's my favourite. I took Firecrawl and wrapped it in a Cloudflare Worker — so I have my own little scraping endpoint running at the edge.

Why bother? A few reasons. It keeps my Firecrawl API key off my devices and out of my scripts — the key lives in one place, on Cloudflare. Any tool, any machine, even a simple webhook can hit my Worker without ever seeing the key. And because it runs on Cloudflare's edge, it's fast and basically free for my volume.

The build is genuinely small. Firecrawl has a guide for this in their docs, and it takes about five minutes. Let me walk through it.

  • Step 1Make sure you have the Wrangler CLI — that's Cloudflare's deploy tool:
npm install -g wrangler
  • Step 2Create the Worker project and add the Firecrawl SDK:
npm create cloudflare@latest my-scraper cd my-scraper npm install @mendable/firecrawl-js
  • Step 3Store your Firecrawl API key as a Cloudflare secret. This is the important part — the key is encrypted on Cloudflare and never sits in your code:
wrangler secret put FIRECRAWL_API_KEY
  • Step 4In src/index.ts, the Worker reads that key, creates a Firecrawl client, and routes requests by path. I gave mine three routes:
  • POST /search — send a query, it runs a Firecrawl search and returns the results with full page content.
  • POST /scrape — send a URL, it scrapes it and returns clean markdown.
  • POST /interact — it scrapes a page, then drives a live browser session — clicking and reading dynamic content — and returns the answer.

Each route is just a few lines: read the JSON body, call the matching Firecrawl method — scrape, search, or interact — and return the response as JSON.

  • Step 5Deploy it to the edge with one command:
wrangler deploy

That gives you a live URL — something like my-scraper.your-name.workers.dev. From then on, scraping anything is a single curl request:

curl -X POST https://my-scraper.your-name.workers.dev/scrape \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com"}'

So now I don't even reach for a script. I hit my own endpoint — from the terminal, from a webhook, from another app — and clean web data comes back. The Firecrawl API key never leaves Cloudflare. That's the setup I actually run today.

Pricing & credits

Let's talk money. Firecrawl runs on a credit system, and the simple rule is: one credit equals one page scraped, crawled, or mapped.

A few actions cost differently — search is about 2 credits per 10 results, and interact is around 2 credits per browser minute. Advanced features can cost extra. And good news: failed requests usually aren't charged. The one exception is the FIRE-1 agent, which is billed even on failure.

Here are the plans. Prices are the annual rate, which works out to roughly two months free versus monthly.

  • Free — $0. 1,000 credits a month, 2 concurrent requests. No credit card needed. Genuinely enough to test everything.
  • Hobby — $16/month. 5,000 credits a month, 5 concurrent requests. For small personal projects.
  • Standard — $83/month. 100,000 credits a month, 50 concurrent requests. This is the "most popular" tier and the real starting point for production use.
  • Growth — $333/month. 500,000 credits a month, 100 concurrent requests, priority support.
  • Scale — $599/month. 1,000,000 credits a month, 150 concurrent requests, for serious volume.
  • Enterprise — custom. Unlimited scrapes, custom limits, an SLA, SSO, zero-data retention, and bulk discounts.

Two things to know. First, on every paid plan you can buy extra credits if you run out mid-month. Second — and this matters — credits do not roll over. Whatever you don't use that month is gone. The exceptions are auto-recharge credits and custom annual plans. So pick a tier that matches your actual monthly usage, not your peak month.

Pros and cons

Time for the honest pros and cons.

  • On the plus side, the output quality is excellent — clean, LLM-ready markdown out of the box. It handles JavaScript, anti-bot, and proxies for you. It's fast. It's open source, so you can self-host. And the agent integration — skills, CLI, MCP — is genuinely best-in-class. That free tier with 1,000 credits a month makes it risk-free to try.
  • On the downside, credits don't roll over, so unused budget is wasted. There's no pure pay-per-use plan — you're on a monthly tier. The jump from Hobby at 5,000 credits to Standard at 100,000 is a big gap with nothing in between. And the FIRE-1 agent charges even for failed requests, so watch your spend there.

None of these are dealbreakers. They're just the things I'd want you to know before you put a card in.

Verdict + outro

So — final verdict. Is Firecrawl worth it?

If you're building anything that needs live web data for AI — research agents, RAG pipelines, lead enrichment, price monitoring — yes, easily. It does the one hard job well: turning the messy web into clean data your model can use.

And the way I use it now — the Claude Code skill, the CLI, the MCP server, and the Cloudflare Worker on top — that's the difference between a tool I had to stop and write scripts for, and a tool my AI agent just reaches for on its own. That shift is the whole point of this video. 9 out of 10.

Start on the free tier — 1,000 credits a month, no card needed. The link is in the description.

If this helped, drop a like, and let me know in the comments what you'd scrape first. See you in the next one.

0 of 11 sections recorded