firecrawl search
Web search with optional content scraping. Returns search results as JSON, optionally with full page content.
When to use
- You don't have a specific URL yet
- You need to find pages, answer questions, or discover sources
- First step in the workflow escalation pattern: search → scrape → map → crawl → interact
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
Options
| Option | Description |
| ------------------------------------ | --------------------------------------------- |
| --limit <n> | Max number of results |
| --sources <web,images,news> | Source types to search |
| --categories <github,research,pdf> | Filter by category |
| --tbs <qdr:h\|d\|w\|m\|y> | Time-based search filter |
| --location | Location for search results |
| --country <code> | Country code for search |
| --scrape | Also scrape full page content for each result |
| --scrape-formats | Formats when scraping (default: markdown) |
| -o, --output <path> | Output file path |
| --json | Output as JSON |
Tips
--scrapefetches full content — don't re-scrape URLs from search results. This saves credits and avoids redundant fetches.- Always write results to
.firecrawl/with-oto avoid context window bloat. - Use
jqto extract URLs or titles:jq -r '.data.web[].url' .firecrawl/search.json - Naming convention:
.firecrawl/search-{query}.jsonor.firecrawl/search-{query}-scraped.json
See also
- firecrawl-scrape — scrape a specific URL
- firecrawl-map — discover URLs within a site
- firecrawl-crawl — bulk extract from a site