firecrawl scrape
Via the Firecrawl MCP (preferred)
This plugin bundles the Firecrawl MCP server. When it's connected, prefer the native firecrawl_scrape tool over the CLI — it needs no local install and authenticates through the plugin's one-time browser sign-in. Pass the same capabilities described below (formats, JSON extraction with a schema, waitFor, proxy/stealth) as tool arguments. The firecrawl CLI commands below are the fallback for when the MCP isn't connected.
Scrape one or more URLs. Returns clean, LLM-optimized markdown. Multiple URLs are scraped concurrently.
When to use
- You have a specific URL and want its content
- The page is static or JS-rendered (SPA)
- Step 2 in the workflow escalation pattern: search → scrape → map → crawl → interact
Quick start
# Basic markdown extraction
firecrawl scrape "<url>" -o .firecrawl/page.md
# Main content only, no nav/footer
firecrawl scrape "<url>" --only-main-content -o .firecrawl/page.md
# Wait for JS to render, then scrape
firecrawl scrape "<url>" --wait-for 3000 -o .firecrawl/page.md
# Multiple URLs (each saved to .firecrawl/)
firecrawl scrape https://example.com https://example.com/blog https://example.com/docs
# Get markdown and links together
firecrawl scrape "<url>" --format markdown,links -o .firecrawl/page.json
# Ask a question about the page
firecrawl scrape "https://example.com/pricing" --query "What is the enterprise plan price?"
Options
| Option |
Description |
-f, --format <formats> |
Output formats: markdown, html, rawHtml, links, screenshot, json |
-Q, --query <prompt> |
Ask a question about the page content (5 credits) |
-H |
Include HTTP headers in output |
--only-main-content |
Strip nav, footer, sidebar — main content only |
--wait-for <ms> |
Wait for JS rendering before scraping |
--include-tags <tags> |
Only include these HTML tags |
--exclude-tags <tags> |
Exclude these HTML tags |
--redact-pii |
Redact personally identifiable information from output |
-o, --output <path> |
Output file path |
Tips
- Prefer plain scrape over
--query. Scrape to a file, then use grep, head, or read the markdown directly — you can search and reason over the full content yourself. Use --query only when you want a single targeted answer without saving the page (costs 5 extra credits).
- Try scrape before interact. Scrape handles static pages and JS-rendered SPAs. Only escalate to
interact when you need interaction (clicks, form fills, pagination).
- Multiple URLs are scraped concurrently — check
firecrawl --status for your concurrency limit.
- Single format outputs raw content. Multiple formats (e.g.,
--format markdown,links) output JSON.
- Always quote URLs — shell interprets
? and & as special characters.
- Naming convention:
.firecrawl/{site}-{path}.md
See also
1---2name: firecrawl-scrape3description: Extract clean markdown from any URL, including JavaScript-rendered SPAs. Use this skill whenever the user provides a URL and wants its content, says "scrape", "grab", "fetch", "pull", "get the page", "extract from this URL", or "read this webpage". Handles JS-rendered pages, multiple concurrent URLs, and returns LLM-optimized markdown. Use this instead of WebFetch for any webpage content extraction.4---56# firecrawl scrape78## Via the Firecrawl MCP (preferred)910This plugin bundles the Firecrawl MCP server. When it's connected, prefer the native **`firecrawl_scrape`** tool over the CLI — it needs no local install and authenticates through the plugin's one-time browser sign-in. Pass the same capabilities described below (formats, JSON extraction with a schema, `waitFor`, proxy/stealth) as tool arguments. The `firecrawl` CLI commands below are the fallback for when the MCP isn't connected.1112Scrape one or more URLs. Returns clean, LLM-optimized markdown. Multiple URLs are scraped concurrently.1314## When to use1516- You have a specific URL and want its content17- The page is static or JS-rendered (SPA)18- Step 2 in the [workflow escalation pattern](../firecrawl-cli/SKILL.md): search → **scrape** → map → crawl → interact1920## Quick start2122```bash23# Basic markdown extraction24firecrawl scrape "<url>" -o .firecrawl/page.md2526# Main content only, no nav/footer27firecrawl scrape "<url>" --only-main-content -o .firecrawl/page.md2829# Wait for JS to render, then scrape30firecrawl scrape "<url>" --wait-for 3000 -o .firecrawl/page.md3132# Multiple URLs (each saved to .firecrawl/)33firecrawl scrape https://example.com https://example.com/blog https://example.com/docs3435# Get markdown and links together36firecrawl scrape "<url>" --format markdown,links -o .firecrawl/page.json3738# Ask a question about the page39firecrawl scrape "https://example.com/pricing" --query "What is the enterprise plan price?"40```4142## Options4344| Option | Description |45| ------------------------ | ---------------------------------------------------------------- |46| `-f, --format <formats>` | Output formats: markdown, html, rawHtml, links, screenshot, json |47| `-Q, --query <prompt>` | Ask a question about the page content (5 credits) |48| `-H` | Include HTTP headers in output |49| `--only-main-content` | Strip nav, footer, sidebar — main content only |50| `--wait-for <ms>` | Wait for JS rendering before scraping |51| `--include-tags <tags>` | Only include these HTML tags |52| `--exclude-tags <tags>` | Exclude these HTML tags |53| `--redact-pii` | Redact personally identifiable information from output |54| `-o, --output <path>` | Output file path |5556## Tips5758- **Prefer plain scrape over `--query`.** Scrape to a file, then use `grep`, `head`, or read the markdown directly — you can search and reason over the full content yourself. Use `--query` only when you want a single targeted answer without saving the page (costs 5 extra credits).59- **Try scrape before interact.** Scrape handles static pages and JS-rendered SPAs. Only escalate to `interact` when you need interaction (clicks, form fills, pagination).60- Multiple URLs are scraped concurrently — check `firecrawl --status` for your concurrency limit.61- Single format outputs raw content. Multiple formats (e.g., `--format markdown,links`) output JSON.62- Always quote URLs — shell interprets `?` and `&` as special characters.63- Naming convention: `.firecrawl/{site}-{path}.md`6465## See also6667- [firecrawl-search](../firecrawl-search/SKILL.md) — find pages when you don't have a URL68- [firecrawl-interact](../firecrawl-interact/SKILL.md) — when scrape can't get the content, use `interact` to click, fill forms, etc.69- [firecrawl-download](../firecrawl-download/SKILL.md) — bulk download an entire site to local files