---
id: sm-firecrawl
name: "firecrawl"
url: https://skills.yangsir.net/skill/sm-firecrawl
author: firecrawl
domain: ai-data-management-analysis
tags: ["web-scraping", "data-extraction", "api-development", "backend-services", "cli-tools"]
install_count: 58900
rating: 4.70 (952 reviews)
github: https://github.com/firecrawl/cli
---

# firecrawl

> Firecrawl技能提供命令行接口和代理能力，支持网页抓取、内容搜索等功能，帮助用户高效获取和处理网络数据，是后端数据处理的利器。

**Stats**: 58,900 installs · 4.7/5 (952 reviews)

## Before / After 对比

### Firecrawl数据抓取与搜索提速

## Readme

# firecrawl

# Firecrawl CLI

Web scraping, search, and browser automation CLI. Returns clean markdown optimized for LLM context windows.

Run `firecrawl --help` or `firecrawl <command> --help` for full option details.

## Prerequisites

Must be installed and authenticated. Check with `firecrawl --status`.

```
  🔥 firecrawl cli v1.8.0

  ● Authenticated via FIRECRAWL_API_KEY
  Concurrency: 0/100 jobs (parallel scrape limit)
  Credits: 500,000 remaining

```

- **Concurrency**: Max parallel jobs. Run parallel operations up to this limit.

- **Credits**: Remaining API credits. Each scrape/crawl consumes credits.

If not ready, see [rules/install.md](https://github.com/firecrawl/cli/blob/HEAD/skills/firecrawl-cli/rules/install.md). For output handling guidelines, see [rules/security.md](https://github.com/firecrawl/cli/blob/HEAD/skills/firecrawl-cli/rules/security.md).

```
firecrawl search "query" --scrape --limit 3

```

## Workflow

Follow this escalation pattern:

- **Search** - No specific URL yet. Find pages, answer questions, discover sources.

- **Scrape** - Have a URL. Extract its content directly.

- **Map + Scrape** - Large site or need a specific subpage. Use `map --search` to find the right URL, then scrape it.

- **Crawl** - Need bulk content from an entire site section (e.g., all /docs/).

- **Browser** - Scrape failed because content is behind interaction (pagination, modals, form submissions, multi-step navigation).

Need
Command
When

Find pages on a topic
`search`
No specific URL yet

Get a page's content
`scrape`
Have a URL, page is static or JS-rendered

Find URLs within a site
`map`
Need to locate a specific subpage

Bulk extract a site section
`crawl`
Need many pages (e.g., all /docs/)

AI-powered data extraction
`agent`
Need structured data from complex sites

Interact with a page
`browser`
Content requires clicks, form fills, pagination, or login

Download a site to files
`download`
Save an entire site as local files

For detailed command reference, use the individual skill for each command (e.g., `firecrawl-search`, `firecrawl-browser`) or run `firecrawl <command> --help`.

**Scrape vs browser:**

- Use `scrape` first. It handles static pages and JS-rendered SPAs.

- Use `browser` when you need to interact with a page, such as clicking buttons, filling out forms, navigating through a complex site, infinite scroll, or when scrape fails to grab all the content you need.

- Never use browser for web searches - use `search` instead.

**Avoid redundant fetches:**

- `search --scrape` already fetches full page content. Don't re-scrape those URLs.

- Check `.firecrawl/` for existing data before fetching again.

## Output & Organization

Unless the user specifies to return in context, write results to `.firecrawl/` with `-o`. Add `.firecrawl/` to `.gitignore`. Always quote URLs - shell interprets `?` and `&` as special characters.

```
firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md

```

Naming conventions:

```
.firecrawl/search-{query}.json
.firecrawl/search-{query}-scraped.json
.firecrawl/{site}-{path}.md

```

Never read entire output files at once. Use `grep`, `head`, or incremental reads:

```
wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md

```

Single format outputs raw content. Multiple formats (e.g., `--format markdown,links`) output JSON.

## Working with Results

These patterns are useful when working with file-based output (`-o` flag) for complex tasks:

```
# Extract URLs from search
jq -r '.data.web[].url' .firecrawl/search.json

# Get titles and URLs
jq -r '.data.web[] | "\(.title): \(.url)"' .firecrawl/search.json

```

## Parallelization

Run independent operations in parallel. Check `firecrawl --status` for concurrency limit:

```
firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait

```

For browser, launch separate sessions for independent tasks and operate them in parallel via `--session <id>`.

## Credit Usage

```
firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json

```
Weekly Installs14.5KRepository[firecrawl/cli](https://github.com/firecrawl/cli)GitHub Stars190First SeenJan 21, 2026Security Audits[Gen Agent Trust HubPass](/firecrawl/cli/firecrawl/security/agent-trust-hub)[SocketPass](/firecrawl/cli/firecrawl/security/socket)[SnykWarn](/firecrawl/cli/firecrawl/security/snyk)Installed onopencode12.9Kcodex12.9Kgemini-cli12.8Kgithub-copilot12.3Kkimi-cli11.7Kamp11.7K

---
*Source: https://skills.yangsir.net/skill/sm-firecrawl*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-firecrawl/markdown*