firecrawl/cli · Official

firecrawl-search

Web search with full page content. Use when no URL is known: finding sources, articles, or news. For papers use firecrawl-research-index; for library, API, error, or bug questions use firecrawl-developer-index.

All-time #358 Trending #2203 Hot #5585 First seen Mar 10, 2026
8-week activity · all time api

Installation

$ npx skills add firecrawl/cli --skill firecrawl-search

Summary

  • Web search with optional full-page content extraction from results.
  • Returns real search results as JSON with optional --scrape flag to fetch complete page markdown for each result, avoiding redundant fetches Supports filtering by source type (web, images, news), category (GitHub, research, PDF), time range (past hour/day/week/month/year), location, and country Use --limit to control result count and --scrape-formats to customize output formats when extracting full content Part of a workflow escalation pattern: search first to discover URLs, then use dedicated scrape/map/crawl skills for deeper extraction

Stronger alternatives

Audit results are mixed — compare nearby options before installing.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Security audits

Partner security reviews for this skill.

agent-trust-hub SAFE

Analyzed May 15, 2026

The firecrawl-search skill enables web searching and content extraction through the Firecrawl CLI. The skill is safe for use as its behaviors align with its documented purpose of searching and scraping web data.

snyk MEDIUM

Analyzed May 15, 2026

[MEDIUM] W011: Third-party content exposure detected (indirect prompt injection risk).

socket Score 0.9000 · 1 alerts

Analyzed May 15, 2026

  • license 1
  • maintenance 1
  • quality 0.9
  • supply chain 1
  • vulnerability 1

1 alert

Also in this package

Other skills from firecrawl/cli · top by installs.

npx skills add firecrawl/cli

Browse all from firecrawl/cli

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 626
Default branch main
Open issues 16
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash(firecrawl *), Bash(npx firecrawl-cli *)

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,988 B
  • docs SUMMARY.md 234 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 81,565 installs

Videos

Tutorials, guides, and showcases specifically about this skill.

SKILL.md

firecrawl search

Web search with optional content scraping. Returns search results as JSON, optionally with full page content.

Quick start

# Basic search
firecrawl search "your query" -o .firecrawl/result.json --json

# Search and scrape full page content from results
firecrawl search "your query" --scrape -o .firecrawl/scraped.json --json

# News from the past day
firecrawl search "your query" --sources news --tbs qdr:d -o .firecrawl/news.json --json

Run firecrawl search --help for the full option list.

--categories developer weighs the developer index beside ordinary web results in this same call (no passage control, no index filters). --categories research is a website filter, not the paper index. Dedicated skills: [firecrawl-developer-index](../firecrawl-developer-index/SKILL.md) and [firecrawl-research-index](../firecrawl-research-index/SKILL.md).

Done when: results are saved under .firecrawl/, verified non-empty, processed for the request, and one feedback event is sent within the time window (unless opted out).

Tips

  • --highlights on by default: results are query-relevant excerpts, not full-page snippets. Use --no-highlights for the original snippets.
  • --scrape fetches full content — reuse that content instead of re-scraping result URLs. This saves credits and avoids redundant fetches.
  • Always write results to .firecrawl/ with -o to avoid context window bloat.
  • Use jq to extract URLs or titles: jq -r '.data.web[].url' .firecrawl/search.json
  • Naming convention: .firecrawl/search-{query}.json or .firecrawl/search-{query}-scraped.json

Send feedback after every search (refunds 1 credit)

Search costs 2 credits. After you've actually used the results (or decided they were useless), send structured feedback with firecrawl search-feedback <id>. The first feedback per search refunds 1 credit and helps us improve search quality. Do this once per search, in the background, after you finish processing the results — it does not block your main task.

Opt out: if FIRECRAWLNOSEARCHFEEDBACK=1 (or FIRECRAWLDISABLESEARCHFEEDBACK=1) is set, the CLI silently skips the call and never sends anything. Respect that — do not try to work around it. (Team admins can also disable this server-side; the API will return feedbackErrorCode: "TEAMOPTEDOUT" and the CLI will exit 0 silently.)

Rules to know before you call this:

  • Time window: must be sent within ~2 minutes of the search. Late feedback is rejected.
  • --missing-content is the most important field. It's a list of specific pieces of content you expected but did not find. One topic per entry, each in its own string. These aggregate across teams and tell us what to index next.
  • Substantive content required (zero-effort feedback is rejected with HTTP 400):

- good → must include at least one --valuable-sources entry. - partial → must include --valuable-sources or --missing-content. - bad → must include --missing-content or --query-suggestions.

  • Daily refund cap (per team, per UTC day, default 100 credits). Once your team has been refunded 100 credits today, further submissions still record feedback but no longer refund credits. The response includes creditsRefundedToday / dailyRefundCap / dailyCapReached. When dailyCapReached: true, stop calling search-feedback for the rest of the UTC day — it won't refund anything and you're wasting bandwidth.
  • Idempotent: re-submitting for the same search id returns success but no extra refund.
  • --silent & is the right pattern — exit code 0 even on failure, so a rejected/expired call never crashes your pipeline.

Verify the search returned results before reading its id. Zero-result searches write no output file, so the file may be missing — or left over from an earlier search. The guard below skips feedback when the file is missing or has zero results; call search-feedback only inside it:

# Send once per search. Rate honestly and replace the placeholder with the
# rating that matches what actually happened. The two fields shown
# satisfy the substantive-content rule for every rating.
if SEARCH_ID=$(jq -er 'select(any(.data[]; length > 0)) | .id' .firecrawl/search-react-hooks.json); then
  firecrawl search-feedback "$SEARCH_ID" \
    --rating "<good|partial|bad>" \
    --valuable-sources '[{"url":"https://react.dev/reference/react/hooks","reason":"Most authoritative"}]' \
    --missing-content '[{"topic":"useDeferredValue","description":"No example of useDeferredValue with Suspense"}]' \
    --silent &
fi

--missing-content accepts:

  • JSON array of {topic, description?} objects (richest, preferred)
  • "topic: description" strings (shorthand)
  • Plain "topic1, topic2, topic3" (when you only have topic names)
  • Repeated --missing-content flags

--silent suppresses output and & runs it in the background so feedback never blocks you.

See also

  • [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape a specific URL
  • [firecrawl-map](../firecrawl-map/SKILL.md) — discover URLs within a site
  • [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract from a site
  • [firecrawl-developer-index](../firecrawl-developer-index/SKILL.md) — issues, merged PRs, READMEs, and docs
  • [firecrawl-research-index](../firecrawl-research-index/SKILL.md) — published papers, not search --categories research
  • firecrawl-build-search — building search into an app instead of running it here