Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
benedictking avatar

Firecrawl Scraper

  • 575 installs
  • 9 repo stars
  • Updated April 21, 2026
  • benedictking/firecrawl-scraper

firecrawl-scraper is a Claude Code skill with a Node.js CLI that scrapes, crawls, maps, and batch-fetches web pages into agent-ready content via the Firecrawl API without wiring REST calls by hand.

About

firecrawl-scraper is a Claude skill from benedictking/firecrawl-scraper that bundles a Node.js CLI wrapper around Firecrawl API endpoints for agent workflows. Developers configure a FIRECRAWL_API_KEY in .env and invoke commands for scrape, crawl, map, batch-scrape, and crawl-status with JSON payloads from stdin or files. The helper script supports --file payload loading and --wait flags for long crawls. Engineers reach for firecrawl-scraper when building agents, RAG pipelines, or research automations that need clean markdown from live URLs without writing custom HTTPS client code for each Firecrawl endpoint.

  • CLI wrapper around Firecrawl scrape, crawl, map, batch-scrape, and crawl-status endpoints
  • Accepts JSON via argv, stdin, or --file payloads for repeatable agent workflows
  • Optional --wait on long-running crawl jobs with status polling by crawl id
  • Loads FIRECRAWL_API_KEY from environment or a local .env next to the helper script

Firecrawl Scraper by the numbers

  • 575 all-time installs (skills.sh)
  • Ranked #390 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/benedictking/firecrawl-scraper --skill firecrawl-scraper

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs575
repo stars9
Security audit1 / 3 scanners passed
Last updatedApril 21, 2026
Repositorybenedictking/firecrawl-scraper

How do you scrape web pages into agent-ready content with Firecrawl?

Scrape, crawl, map, or batch-fetch web pages into agent-ready content via Firecrawl without wiring REST calls by hand.

Who is it for?

Backend and agent developers who need Firecrawl scrape and crawl endpoints callable from shell scripts and Claude agent workflows.

Skip if: Static sites you already own where sitemap exports suffice, or projects blocked from using paid third-party scraping APIs.

When should I use this skill?

An agent workflow needs to fetch, crawl, or batch-scrape live web URLs into clean content and the developer wants a prebuilt Firecrawl CLI instead of raw REST calls.

What you get

Agent-ready markdown or structured page content from scrape, crawl, map, and batch-scrape Firecrawl API responses.

  • Scraped markdown content
  • Crawl job results
  • Site map data

Files

SKILL.mdMarkdownGitHub ↗

Firecrawl Scraper Skill

Trigger Conditions & Endpoint Selection

Choose Firecrawl endpoint based on user intent:

  • scrape: Need to extract content from a single web page (markdown, html, json, screenshot, pdf)
  • crawl: Need to crawl entire website with depth control and path filtering
  • map: Need to quickly get a list of all URLs on a website
  • batch-scrape: Need to scrape multiple URLs in parallel
  • crawl-status: Given crawl job ID, check crawl progress/results (optional --wait)

Recommended Architecture (Main Skill + Sub-skill)

This skill uses a two-phase architecture:

1. Main skill (current context): Understand user question → Choose endpoint → Assemble JSON payload 2. Sub-skill (fork context): Only responsible for HTTP call execution, avoiding conversation history token waste

Execution Method

Use Task tool to invoke firecrawl-fetcher sub-skill, passing command and JSON (stdin):

Task parameters:
- subagent_type: Bash
- description: "Call Firecrawl API"
- prompt: cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs <scrape|crawl|map|batch-scrape|crawl-status> [--wait]
  { ...payload... }
  JSON

Payload Examples

1) Scrape Single Page

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs scrape
{
  "url": "https://example.com",
  "formats": ["markdown", "links"],
  "onlyMainContent": true,
  "includeTags": [],
  "excludeTags": ["nav", "footer"],
  "waitFor": 0,
  "timeout": 30000
}
JSON

Available formats:

  • "markdown", "html", "rawHtml", "links", "images", "summary"
  • {"type": "json", "prompt": "Extract product info", "schema": {...}}
  • {"type": "screenshot", "fullPage": true, "quality": 85}

2) Scrape with Actions (Page Interaction)

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs scrape
{
  "url": "https://example.com",
  "formats": ["markdown"],
  "actions": [
    {"type": "wait", "milliseconds": 2000},
    {"type": "click", "selector": "#load-more"},
    {"type": "wait", "milliseconds": 1000},
    {"type": "scroll", "direction": "down", "amount": 500}
  ]
}
JSON

Available actions:

  • wait, click, write, press, scroll, screenshot, scrape, executeJavascript

3) Parse PDF

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs scrape
{
  "url": "https://example.com/document.pdf",
  "formats": ["markdown"],
  "parsers": ["pdf"]
}
JSON

4) Extract Structured JSON

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs scrape
{
  "url": "https://example.com/product",
  "formats": [
    {
      "type": "json",
      "prompt": "Extract product information",
      "schema": {
        "type": "object",
        "properties": {
          "name": {"type": "string"},
          "price": {"type": "number"},
          "description": {"type": "string"}
        },
        "required": ["name", "price"]
      }
    }
  ]
}
JSON

5) Crawl Entire Website

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs crawl
{
  "url": "https://docs.example.com",
  "formats": ["markdown"],
  "includePaths": ["^/docs/.*"],
  "excludePaths": ["^/blog/.*"],
  "maxDiscoveryDepth": 3,
  "limit": 100,
  "allowExternalLinks": false,
  "allowSubdomains": false
}
JSON

5.1) Crawl + Wait for Completion

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs crawl --wait
{
  "url": "https://docs.example.com",
  "formats": ["markdown"],
  "limit": 100
}
JSON

6) Map Website URLs

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs map
{
  "url": "https://example.com",
  "search": "documentation",
  "limit": 5000
}
JSON

7) Batch Scrape Multiple URLs

cat <<'JSON' | node .claude/skills/firecrawl-scraper/firecrawl-api.cjs batch-scrape
{
  "urls": [
    "https://example.com/page1",
    "https://example.com/page2",
    "https://example.com/page3"
  ],
  "formats": ["markdown"]
}
JSON

8) Check Crawl Status

node .claude/skills/firecrawl-scraper/firecrawl-api.cjs crawl-status <crawl-id>

Wait for completion:

node .claude/skills/firecrawl-scraper/firecrawl-api.cjs crawl-status <crawl-id> --wait

Key Features

Formats

  • markdown: Clean markdown content
  • html: Parsed HTML
  • rawHtml: Original HTML
  • links: All links on page
  • images: All images on page
  • summary: AI-generated summary
  • json: Structured data extraction with schema
  • screenshot: Page screenshot (PNG)

Content Control

  • onlyMainContent: Extract only main content (default: true)
  • includeTags: CSS selectors to include
  • excludeTags: CSS selectors to exclude
  • waitFor: Wait time before scraping (ms)
  • maxAge: Cache duration (default: 48 hours)

Actions (Browser Automation)

  • wait: Wait for specified time
  • click: Click element by selector
  • write: Input text into field
  • press: Press keyboard key
  • scroll: Scroll page
  • executeJavascript: Run custom JS

Crawl Options

  • includePaths: Regex patterns to include
  • excludePaths: Regex patterns to exclude
  • maxDiscoveryDepth: Maximum crawl depth
  • limit: Maximum pages to crawl
  • allowExternalLinks: Follow external links
  • allowSubdomains: Follow subdomains

Environment Variables & API Key

Two ways to configure API Key (priority: environment variable > .env):

1. Environment variable: FIRECRAWL_API_KEY 2. .env file: Place in .claude/skills/firecrawl-scraper/.env, can copy from .env.example

Response Format

All endpoints return JSON with:

  • success: Boolean indicating success
  • data: Extracted content (format depends on endpoint)
  • For crawl: Returns job ID, use crawl-status (or GET /v2/crawl/{id}) to check status

Related skills

How it compares

Choose firecrawl-scraper over generic curl examples when you need a maintained CLI with crawl-status polling and batch-scrape support for agent pipelines.

FAQ

What Firecrawl endpoints does firecrawl-scraper support?

firecrawl-scraper exposes CLI commands for scrape, crawl, map, batch-scrape, and crawl-status via a Node.js helper script. Developers pass JSON payloads through stdin, files, or inline arguments to call each Firecrawl API operation.

How do you authenticate firecrawl-scraper?

firecrawl-scraper reads a FIRECRAWL_API_KEY from a .env file in the project directory. Developers obtain the key from the Firecrawl dashboard before running scrape or crawl commands.

When should developers use firecrawl-scraper?

Developers should use firecrawl-scraper when agent or backend workflows need live web content without hand-writing HTTPS calls to Firecrawl. The CLI fits RAG ingestion, research agents, and batch URL processing pipelines.

Is Firecrawl Scraper safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.