| name | firecrawl |
| description | Firecrawl gives AI agents and apps fast, reliable web context with
strong search, scraping, and interaction tools. One install command
sets up both live CLI tools and app-integration skills. Route the
reader to the right usage path after install.
|
Firecrawl
Firecrawl helps agents search first, scrape clean content, and interact
with live pages when plain extraction is not enough.
Install
One command installs everything — the Firecrawl CLI for live web work
and the build skills for integrating Firecrawl into application
code. It also opens browser auth so the human can sign in or create an
account.
npx -y firecrawl-cli@latest init --all --browser
This gives you:
- CLI tools —
firecrawl search, firecrawl scrape, firecrawl interact, and more
- CLI skills —
firecrawl/cli, firecrawl-search, firecrawl-scrape, firecrawl-interact, firecrawl-crawl, firecrawl-map
- Build skills —
firecrawl-build, firecrawl-build-onboarding, firecrawl-build-scrape, firecrawl-build-search, firecrawl-build-interact, firecrawl-build-crawl, firecrawl-build-map
- Browser auth — walks the human through sign-in or account creation
Before doing real work, verify the install:
mkdir -p .firecrawl
firecrawl --status
firecrawl scrape "https://firecrawl.dev" -o .firecrawl/install-check.md
Choose Your Path
Both paths use the same install above. The difference is what you do
next.
- Need web data during this session -> Path A (live tools)
- Need to add Firecrawl to app code -> Path B (app integration)
- Need both -> do both; the install already covers everything
- Need an account or API key first -> Path C (auth only)
- Don't want to install anything -> Path D (REST API directly)
Path A: Live Web Tools
Use this when you need web data during your work: searching the web,
scraping known URLs, interacting with live pages, crawling docs, or
mapping a site.
After install, hand off to the CLI skill:
firecrawl/cli for the overall command workflow
firecrawl-search when you need search first
firecrawl-scrape when you already have a URL
firecrawl-instruct when the page needs clicks, forms, or login
firecrawl-crawl for bulk extraction
firecrawl-map for URL discovery
Default flow for live web work:
- start with search when you need discovery
- move to scrape when you have a URL
- use interact only when the page needs clicks, forms, or login
If the task becomes "wire Firecrawl into product code," switch to Path B.
Path B: Integrate Firecrawl Into an App
Use this when you're building an application, agent, or workflow that
calls the Firecrawl API from code and needs FIRECRAWL_API_KEY in
.env or runtime config.
The build skills are already installed from the same command above. No
separate install needed.
Choose the project mode before writing code:
- Fresh project -> pick the stack, install the SDK, add env vars, and run a smoke test
- Existing project -> inspect the repo first, then integrate Firecrawl where the project already handles APIs and secrets
If you already have a key, save it:
FIRECRAWL_API_KEY=fc-...
Then use:
firecrawl-build-onboarding to finish auth and project setup
firecrawl-build to choose the right endpoint
- the narrower
firecrawl-build-* skills for implementation details
The required question in the build path is:
- What should Firecrawl do in the product?
Use the answer to route to /search, /scrape, /interact, /crawl, or /map, then run one real Firecrawl request as a smoke test.
If you do not have a key yet, do Path C first.
Path C: Account Authorization Or API Key
Use this when the human still needs to sign up, sign in, authorize
access, or obtain an API key.
If you ran the install command above with --browser, the human was
already prompted to sign in. Check if the key is available before
running this flow.
If you already have a valid FIRECRAWL_API_KEY, skip this path.
If you're the human reading this in the browser, create an account or
sign in at:
If you're an agent and need the human to authorize an API key, use this
flow:
Step 1 — Generate auth parameters:
SESSION_ID=$(openssl rand -hex 32)
CODE_VERIFIER=$(openssl rand -base64 32 | tr '+/' '-_' | tr -d '=\n' | head -c 43)
CODE_CHALLENGE=$(printf '%s' "$CODE_VERIFIER" | openssl dgst -sha256 -binary | openssl base64 -A | tr '+/' '-_' | tr -d '=')
Step 2 — Ask the human to open this URL:
https://www.firecrawl.dev/cli-auth?code_challenge=$CODE_CHALLENGE&source=coding-agent#session_id=$SESSION_ID
If they already have a Firecrawl account, they'll sign in and authorize.
If not, they'll create one first and then authorize. The API key comes
back to you automatically after they click "Authorize."
Step 3 — Poll for the API key:
POST https://www.firecrawl.dev/api/auth/cli/status
Content-Type: application/json
{"session_id": "$SESSION_ID", "code_verifier": "$CODE_VERIFIER"}
Poll every 3 seconds. Responses:
{"status": "pending"} — keep polling
{"status": "complete", "apiKey": "fc-...", "teamName": "..."} — done
Step 4 — Save the key and continue:
echo "FIRECRAWL_API_KEY=fc-..." >> .env
Path D: Use Firecrawl Without Installing Anything
Use this when you don't want to install a CLI or skills package. This
works for both use cases:
- Live web work — an agent calling the API directly for search,
scrape, or interact during a session
- Building with Firecrawl — integrating the REST API into app code
You still need an API key. Two ways to get one:
- Human pastes it in — if you already have a key, just set
FIRECRAWL_API_KEY=fc-... in your environment or pass it directly
- Automated flow — do Path C to walk the human through browser auth
and receive the key automatically
Base URL: https://api.firecrawl.dev/v2
Auth header: Authorization: Bearer fc-YOUR_API_KEY
Available endpoints
POST /search — discover pages by query, returns results with optional full-page content
POST /scrape — extract clean markdown from a single URL
POST /interact — browser actions on live pages (clicks, forms, navigation)
Documentation and references
The API docs are the source of truth for request/response schemas,
parameters, and SDKs:
Session-specific auth
Set your Firecrawl API key as an environment variable before running any
Firecrawl commands. Never commit API keys to source control.
FIRECRAWL_API_KEY=fc-replace-with-your-api-key
Copy .env.example to .env and fill in your key, or export it in your shell:
export FIRECRAWL_API_KEY="fc-replace-with-your-api-key"