Command-line interface for Firecrawl. Search, scrape, interact, crawl, map, search research papers, developer sources, and government sources, and run agent jobs directly from your terminal.
> /plugin marketplace add firecrawl/cli> /plugin install firecrawl@firecrawl
Repo: firecrawl/cli
What's inside
Command-line interface for Firecrawl. Search, scrape, interact, crawl, map, search research papers, developer sources, and government sources, and run agent jobs directly from your terminal.
npm install -g firecrawl-cli
Or set up everything in one command (install CLI globally, authenticate, and add skills across all detected coding editors):
npx -y firecrawl-cli@latest init -y --browser
-y runs setup non-interactively--browser opens the browser for Firecrawl authentication automaticallyIf you are using an AI coding agent like Claude Code, you can also install skill groups manually — one command per family:
firecrawl setup core # scrape/search/crawl/interact primitives + index skills ("skills" is an alias)
firecrawl setup build # app-integration skills for the Firecrawl API
firecrawl setup workflows # end-to-end recipes (lead gen, deep research, ...)
Or install a single skill by name — the firecrawl- prefix is optional:
firecrawl setup developer-index
firecrawl setup seo-audit
If no API key is found afterwards, an interactive terminal offers a browser login (pass --browser to log in without the prompt); non-interactive runs never block — they print a hint and the skills walk agents through setup on first use.
These install globally across all detected coding editors by default. Use --agent <agent> to scope any of them to one editor.
By default skills route to every detected harness. To install and route to only one harness in a single command:
# One-shot from the install script (non-interactive, no TTY needed)
curl -fsSL https://firecrawl.dev/install.sh | bash -s -- --agent openclaw
# Or, once the CLI is installed
firecrawl init --agent openclaw # only OpenClaw
firecrawl setup skills --agent openclaw
firecrawl setup workflows --agent openclaw
Any args after bash -s -- are forwarded to firecrawl init, so you can add
things like --skip-auth for a skills-only, no-login setup. When you run
firecrawl init interactively without --agent, it shows a checkbox of your
detected harnesses (all selected by default) so you can pick a subset.
| Harness | --agent value |
|---|---|
| Claude Code | claude-code |
| Codex | codex |
| Cursor | cursor |
| Windsurf | windsurf |
| OpenCode | opencode |
| OpenClaw | openclaw |
| OpenHands | openhands |
| Hermes Agent | hermes-agent |
The init command installs the CLI skills by default and offers the workflow skills as optional extras, into AI coding agents (Cursor, Claude Code, Windsurf, etc.):
All skill families live in the firecrawl/skills catalog — including the build skills for integrating Firecrawl into application code:
npx skills add firecrawl/skills
Contributing skills? CLI skills (including the research/developer index skills) → PR this repo (
skills/). Build/SDK skills → PR thefirecrawlmonorepo (skills/). Workflow skills → PRfirecrawl/firecrawl-workflows. The catalog (firecrawl/skills) is read-only — never PR it directly.
To reinstall skills manually:
firecrawl setup core
firecrawl setup build
firecrawl setup workflows
To install the Firecrawl MCP server into your editors (Cursor, Claude Code, VS Code, etc.):
firecrawl setup mcp
To make Firecrawl the default web provider for supported AI agents:
firecrawl setup defaults # or: firecrawl make default
This disables native web fetch/search where supported so agents route web work
through Firecrawl. When run interactively, it asks harness by harness (Claude
Code, Codex) so you can choose exactly which to change. Use -y to skip the
picker and apply to all, or --agent to target one:
firecrawl setup defaults --agent codex # only Codex
firecrawl setup defaults -y # all harnesses, no prompts
To undo those config changes (also interactive, harness by harness):
firecrawl setup defaults --undo # pick which to restore
firecrawl setup defaults --undo --agent claude
Just run a command - the CLI will prompt you to authenticate if needed:
firecrawl https://example.com
On first run, you'll be prompted to authenticate:
🔥 firecrawl cli
Search, scrape, and interact with the web
Welcome! To get started, authenticate with your Firecrawl account.
1. Login with browser (recommended)
2. Enter API key manually
Tip: You can also set FIRECRAWL_API_KEY environment variable
Enter choice [1/2]:
# Interactive (prompts automatically when needed)
firecrawl
# Browser login
firecrawl login
# Direct API key
firecrawl login --api-key fc-your-api-key
# Environment variable
export FIRECRAWL_API_KEY=fc-your-api-key
# Per-command API key
firecrawl scrape https://example.com --api-key fc-your-api-key
For self-hosted Firecrawl instances or local development, use the --api-url option:
# Use a local Firecrawl instance (no API key required)
firecrawl --api-url http://localhost:3002 scrape https://example.com
# Or set via environment variable
export FIRECRAWL_API_URL=http://localhost:3002
firecrawl scrape https://example.com
# Self-hosted with API key
firecrawl --api-url https://firecrawl.mycompany.com --api-key fc-xxx scrape https://example.com
When using a custom API URL (anything other than https://api.firecrawl.dev), authentication is automatically skipped, allowing you to use local instances without an API key.
scrape - Scrape URLsExtract content from any webpage. Pass multiple URLs to scrape them concurrently -- each result is saved to .firecrawl/ automatically.
# Basic usage (outputs markdown)
firecrawl https://example.com
firecrawl scrape https://example.com
# Get raw HTML
firecrawl https://example.com --html
firecrawl https://example.com -H
# Multiple formats (outputs JSON)
firecrawl https://example.com --format markdown,links,images
# Save to file
firecrawl https://example.com -o output.md
firecrawl https://example.com --format json -o data.json --pretty
# Multiple URLs (scraped concurrently, each saved to .firecrawl/)
firecrawl scrape https://firecrawl.dev https://firecrawl.dev/blog https://docs.firecrawl.dev
| Option | Description |
|---|---|
-f, --format <formats> | Output format(s), comma-separated |
-H, --html | Shortcut for --format html |
-S, --summary | Shortcut for --format summary |
--only-main-content | Extract only main content (removes navs, footers, etc.) |
--wait-for <ms> | Wait time before scraping (for JS-rendered content) |
--screenshot | Take a screenshot |
--full-page-screenshot | Take a full page screenshot |
--include-tags <tags> | Only include specific HTML tags |
--exclude-tags <tags> | Exclude specific HTML tags |
--max-age <milliseconds> | Maximum age of cached content in milliseconds |
--lockdown | Enable lockdown mode for the scrape |
--redact-pii | Redact personally identifiable information from output |
--schema <json> | JSON schema for structured extraction |
--schema-file <path> | Path to JSON schema file for structured extraction |
--actions <json> | JSON actions array to run during scrape |
--actions-file <path> | Path to JSON actions file |
--proxy <proxy> | Proxy mode for scraping (for example, auto, basic) |
-o, --output <path> | Save output to file |
--json | Output as JSON format |
--pretty | Pretty print JSON output |
--timing | Show request timing info |
| Format | Description |
|---|---|
markdown | Clean markdown (default) |
html | Cleaned HTML |
rawHtml | Original HTML |
links | All links on the page |
images | All images on the page |
screenshot | Screenshot as base64 |
summary | AI-generated summary |
json | Structured JSON extraction |
changeTracking | Track changes on the page |
attributes | Page attributes and metadata |
branding | Brand identity extraction |
# Extract only main content as markdown
firecrawl https://blog.example.com --only-main-content
# Wait for JS to render, then scrape
firecrawl https://spa-app.com --wait-for 3000
# Get all links from a page
firecrawl https://example.com --format links
# Screenshot + markdown
firecrawl https://example.com --format markdown --screenshot
# Extract specific elements only
firecrawl https://example.com --include-tags article,main
# Exclude navigation and ads
firecrawl https://example.com --exclude-tags nav,aside,.ad
search - Search the webSearch the web with query-relevant highlights and optionally scrape content from search results.
FAQ
firecrawl-cli is a Claude Code plugin with 13 hand-picked skills for cli tools work, indexed on Flowy. Install it with the command on its page. It includes firecrawl-agent, firecrawl-alexandria, firecrawl-crawl. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it