PluginBench
Skill
Official
Review
Audit score 70

firecrawl-scrape

firecrawl/cli

Extract clean markdown from any URL, including JavaScript-rendered pages.

What is firecrawl-scrape?

Scrape one or more URLs and get LLM-optimized markdown output. Handles both static pages and single-page applications (SPAs), with support for concurrent scraping of multiple URLs. Use this whenever you need to extract content from a webpage.

  • Extract clean markdown from static and JS-rendered pages
  • Scrape multiple URLs concurrently with a single command
  • Strip navigation, footer, and sidebar to isolate main content
  • Wait for JavaScript rendering before extraction
  • Query pages with natural language questions to get targeted answers
  • Output in multiple formats: markdown, HTML, links, screenshots, or JSON

How to install firecrawl-scrape

npx skills add null --skill firecrawl-scrape
Prerequisites
  • Firecrawl CLI installed and configured
  • Valid Firecrawl API key set up
  • Internet access to reach target URLs
Claude Code
Cursor
Windsurf
Cline

How to use firecrawl-scrape

  1. 1.Run `firecrawl scrape "<url>"` to extract markdown from a single URL
  2. 2.Add `--only-main-content` flag to remove navigation and footer elements
  3. 3.Use `--wait-for <ms>` if the page requires JavaScript rendering time
  4. 4.Specify output format with `-f, --format` (e.g., markdown, links, json)
  5. 5.Save output to a file with `-o <path>` for later reference or processing
  6. 6.For multiple URLs, list them as space-separated arguments to scrape concurrently

Use cases

Good for
  • Extract article content from a blog post or news site
  • Get pricing information from a company's pricing page
  • Scrape documentation or help pages for reference
  • Collect links and metadata from a webpage
  • Extract main content from a single-page application without manual interaction
Who it's for
  • Developers building web scraping workflows
  • Content researchers gathering information from multiple URLs
  • AI agents needing to read and understand webpage content
  • Anyone extracting data from websites for analysis or processing

firecrawl-scrape FAQ

When should I use scrape vs. interact?

Use scrape for static pages and JavaScript-rendered SPAs to extract content. Only escalate to interact when you need to click buttons, fill forms, or navigate through pages that require user interaction.

What does the --query option do and when should I use it?

The --query option lets you ask a natural language question about page content and get a targeted answer. However, it costs 5 extra credits. Prefer scraping to a file and searching the markdown yourself unless you only need a single specific answer.

How do I handle pages that require JavaScript to render?

Use the `--wait-for <ms>` option to wait for JavaScript execution before scraping. For example, `--wait-for 3000` waits 3 seconds for the page to render.

Can I scrape multiple URLs at once?

Yes, list multiple URLs as space-separated arguments. They are scraped concurrently, but check `firecrawl --status` to see your concurrency limit.

What output formats are available?

Available formats are: markdown, html, rawHtml, links, screenshot, and json. Use a single format for raw content output, or combine multiple formats (e.g., `--format markdown,links`) to get JSON output.

Full instructions (SKILL.md)

Source of truth, from firecrawl/cli.


name: firecrawl-scrape description: | 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. allowed-tools:

  • Bash(firecrawl *)
  • Bash(npx firecrawl *)

firecrawl scrape

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

OptionDescription
-f, --format <formats>Output formats: markdown, html, rawHtml, links, screenshot, json
-Q, --query <prompt>Ask a question about the page content (5 credits)
-HInclude HTTP headers in output
--only-main-contentStrip 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-piiRedact 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