firecrawl-instruct
Firecrawl CLI 是一个命令行工具,用于网页搜索、抓取、交互和爬行。它能将这些功能作为技能集成到 AI 编码代理中,使代理能够直接从终端执行实时网络操作,并构建基于 Firecrawl 的应用,极大地简化了AI智能体与外部网络的交互。
npx skills add https://github.com/firecrawl/cli --skill firecrawl-instructBefore / After 效果对比
1 组过去,为AI智能体配置网页数据抓取任务,需要手动编写复杂的爬虫脚本或使用浏览器自动化工具,耗时且易出错,每次面对新网站或新需求都需要大量开发和调试工作。
借助 Firecrawl CLI,AI智能体可以直接利用其内置技能进行网页抓取、爬行和交互。这极大地简化了数据获取流程,使智能体能快速执行网络操作,显著减少了为AI应用集成网络数据所需的时间和精力。
🔥 Firecrawl CLI
Command-line interface for Firecrawl. Search, scrape, interact, crawl, map, and run agent jobs directly from your terminal.
Installation
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@1.16.2 init -y --browser
-yruns setup non-interactively--browseropens the browser for Firecrawl authentication automatically- skills install globally to every detected AI coding agent by default
Setup Skills, Workflows, and MCP
If you are using an AI coding agent like Claude Code, you can also install the skills manually:
firecrawl setup skills
firecrawl setup workflows
These install globally across all detected coding editors by default. Use --agent <agent> to scope either command to one editor.
Agent skills
The init command installs all Firecrawl agent skill segments into AI coding agents (Cursor, Claude Code, Windsurf, etc.):
- CLI skills — teach agents how to use the Firecrawl CLI for live web work (search, scrape, interact, map, crawl, agent)
- Build skills — teach agents how to integrate Firecrawl into application code (choose endpoints, wire SDKs, set up API keys)
- Workflow skills — teach agents how to produce Firecrawl-powered deliverables such as research briefs, SEO audits, QA reports, lead lists, knowledge bases, and design-system extraction
To reinstall skills manually:
firecrawl setup skills
firecrawl setup workflows
To install the Firecrawl MCP server into your editors (Cursor, Claude Code, VS Code, etc.):
firecrawl setup mcp
Quick Start
Just run a command - the CLI will prompt you to authenticate if needed:
firecrawl https://example.com
Authentication
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]:
Authentication Methods
# 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
Self-hosted / Local Development
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.
Commands
scrape - Scrape URLs
Extract 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
Scrape Options
| 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 |
--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 |
Available Formats
| 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 |
Examples
# 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 web
Search the web and optionally scrape content from search results.
# Basic search
firecrawl search "firecrawl"
# Limit results
firecrawl search "AI news" --limit 10
# Search news sources
firecrawl search "tech startups" --sources news
# Search images
firecrawl search "landscape photography" --sources images
# Multiple sources
firecrawl search "machine learning" --sources web,news,images
# Filter by category (GitHub, research papers, PDFs)
firecrawl search "web data python" --categories github
firecrawl search "transformer architecture" --categories research
firecrawl search "machine learning" --categories github,research
# Time-based search
firecrawl search "AI announcements" --tbs qdr:d # Past day
firecrawl search "tech news" --tbs qdr:w # Past week
# Location-based search
firecrawl search "restaurants" --location "San Francisco,California,United States"
firecrawl search "local news" --country DE
# Search and scrape results
firecrawl search "firecrawl tutorials" --scrape
firecrawl search "API documentation" --scrape --scrape-formats markdown,links
# Output as pretty JSON
firecrawl search "AI data tools"
Search Options
| Option | Description |
|---|---|
--limit <n> | Maximum results (default: 5, max: 100) |
--sources <sources> | Comma-separated: web, images, news (default: web) |
--categories <categories> | Comma-separated: github, research, pdf |
--tbs <value> | Time filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) |
--location <location> | Geo-targeting (e.g., "Germany", "San Francisco,California,United States") |
--country <code> | ISO country code (default: US) |
--timeout <ms> | Timeout in milliseconds (default: 60000) |
--ignore-invalid-urls | Exclude URLs invalid for other Firecrawl endpoints |
--scrape | Enable scraping of search results |
--scrape-formats <formats> | Scrape formats when --scrape enabled (default: markdown) |
--only-main-content | Include only main content when scraping (default: true) |
-o, --output <path> | Save to file |
--json | Output as compact JSON |
Examples
# Research a topic with recent results
firecrawl search "React Server Components" --tbs qdr:m --limit 10
# Find GitHub repositories
firecrawl search "web data library" --categories github --limit 20
# Search and get full content
firecrawl search "firecrawl documentation" --scrape --scrape-formats markdown --json -o results.json
# Find research papers
firecrawl search "large language models" --categories research --json
# Search with location targeting
firecrawl search "best coffee shops" --location "Berlin,Germany" --country DE
# Get news from the past week
firecrawl search "AI startups funding" --sources news --tbs qdr:w --limit 15
map - Discover all URLs on a website
Quickly discover all URLs on a website without scraping content.
# List all URLs (one per line)
firecrawl map https://example.com
# Output as JSON
firecrawl map https://example.com --json
# Search for specific URLs
firecrawl map https://example.com --search "blog"
# Limit results
firecrawl map https://example.com --limit 500
Map Options
| Option | Description |
|---|---|
--limit <n> | Maximum URLs to discover |
--search <query> | Filter URLs by search query |
--sitemap <mode> | include, skip, or only |
--include-subdomains | Include subdomains |
--ignore-query-parameters | Dedupe URLs with different params |
--timeout <seconds> | Request timeout |
--json | Output as JSON |
-o, --output <path> | Save to file |
Examples
# Find all product pages
firecrawl map https://shop.example.com --search "product"
# Get sitemap URLs only
firecrawl map https://example.com --sitemap only
# Save URL list to file
firecrawl map https://example.com -o urls.txt
# Include subdomains
firecrawl map https://example.com --include-subdomains --limit 1000
crawl - Crawl an entire website
Crawl multiple pages from a website.
# Start a crawl (returns job ID)
firecrawl crawl https://example.com
# Wait for crawl to complete
firecrawl crawl https://example.com --wait
# With progress indicator
firecrawl crawl https://example.com --wait --progress
# Check crawl status
firecrawl crawl <job-id>
# Limit pages
firecrawl crawl https://example.com --limit 100 --max-depth 3
Crawl Options
| Option | Description |
|---|---|
--wait | Wait for crawl to complete |
--progress | Show progress while waiting |
--limit <n> | Maximum pages to crawl |
--max-depth <n> | Maximum crawl depth |
--include-paths <paths> | Only crawl matching paths |
--exclude-paths <paths> | Skip matching paths |
--sitemap <mode> | include, skip, or only |
--allow-subdomains | Include subdomains |
--allow-external-links | Follow external links |
--crawl-entire-domain | Crawl entire domain |
--ignore-query-parameters | Treat URLs with different params as same |
--delay <ms> | Delay between requests |
--max-concurrency <n> | Max concurrent requests |
--scrape-options <json> | JSON scrape options passed to each page |
--scrape-options-file <path> | Path to scrape options JSON file |
--webhook <url-or-json> | Webhook URL or configuration |
--cancel | Cancel an active crawl job by job ID |
--timeout <seconds> | Timeout when waiting |
--poll-interval <seconds> | Status check interval |
Examples
# Crawl blog section only
firecrawl crawl https://example.com --include-paths /blog,/posts
# Exclude admin pages
firecrawl crawl https://example.com --exclude-paths /admin,/login
# Crawl with rate limiting
firecrawl crawl https://example.com --delay 1000 --max-concurrency 2
# Deep crawl with high limit
firecrawl crawl https://example.com --limit 1000 --max-depth 10 --wait --progress
# Save results
firecrawl crawl https:/
...
用户评价 (0)
发表评价
暂无评价
统计数据
用户评分
为此 Skill 评分