last update
May 5, 2026
license
MITv1.0.0
format
SKILL.md
- Install
// Downloads SKILL.md into ~/.claude/skills/firecrawl-scraper/
$ curl -fsSL --create-dirs -o ~/.claude/skills/firecrawl-scraper/SKILL.md https://claudeskil.com/skills/firecrawl-scraper/SKILL.md - Invoke
// Inside Claude Code, type the skill name as a slash command
> /firecrawl-scraper query last week's signups - Or just ask
// Claude loads the skill by itself when a request matches its description
> query last week's signups
- name:
- Firecrawl Scraper
- slug:
- firecrawl-scraper
- version:
- v1.0.0
- license:
- MIT
- author:
- @chiragthummar16
- categories:
- tags:
- #firecrawl#scraping#web#crawler#extraction
- description:
Production web scraping via Firecrawl. Handles JS sites, anti-bot, rate-limits.
// What you can do with it
- Scrape (/v1/scrape) — fetches a single URL and returns Markdown, cleaned HTML, links, and metadata. Renders JS and waits for content before extracting.
- Crawl (/v1/crawl) — submits an async crawl job, polls the job id, and streams results as pages complete, honoring includePaths/excludePaths, limit, and maxDepth.
- Extract / JSON mode — pass a JSON Schema or a natural-language prompt and get typed objects back. Also surfaces JSON-LD, OpenGraph, and microdata it finds on the page.
- Map (/v1/map) — quickly enumerate a site's URLs before committing to a full crawl.
README.md
Firecrawl Scraper
Firecrawl Scraper is a skill for pulling clean, structured content out of websites that fight back — JavaScript-rendered SPAs, sites behind bot challenges, and endpoints that throttle aggressively. It wraps the Firecrawl API and adds retry logic, structured-data extraction, and crawl pacing so you can feed reliable data into research notebooks, monitoring jobs, or ETL pipelines. Built for data analysts and backend engineers who need scraped pages as Markdown or typed JSON rather than raw HTML soup.
When to use it
- You need the rendered content of a JS-heavy page (React/Next/Vue) where a plain HTTP GET returns an empty shell.
- A target site returns 403s, CAPTCHAs, or rate-limit 429s and a naive scraper keeps stalling.
- You want a whole section of a site crawled (docs, a blog archive, a catalog) without writing your own frontier/dedupe logic.
- You need fields pulled into a schema — prices, article metadata, author, publish date — instead of parsing the DOM by hand.
What it does
The skill calls Firecrawl's core endpoints and shapes the results for you:
- Scrape (
/v1/scrape) — fetches a single URL and returns Markdown, cleaned HTML, links, and metadata. Renders JS and waits for content before extracting. - Crawl (
/v1/crawl) — submits an async crawl job, polls the job id, and streams results as pages complete, honoringincludePaths/excludePaths,limit, andmaxDepth. - Extract / JSON mode — pass a JSON Schema or a natural-language prompt and get typed objects back. Also surfaces JSON-LD, OpenGraph, and microdata it finds on the page.
- Map (
/v1/map) — quickly enumerate a site's URLs before committing to a full crawl.
Retries use exponential backoff on 429/5xx and respect the Retry-After header; crawl orchestration throttles concurrency to stay under your plan's rate limit.
Usage
curl -fsSL --create-dirs -o ~/.claude/skills/firecrawl-scraper/SKILL.md https://claudeskil.com/skills/firecrawl-scraper/SKILL.md
export FIRECRAWL_API_KEY=fc-...
# single page as markdown
> scrape https://example.com/pricing and give me the plans table
# typed extraction with a schema
> crawl https://blog.acme.com (limit 50, only /posts/*) and extract
> { title, author, publishedAt, tags[] } from each post
Tips & gotchas
- Crawl is asynchronous — large jobs return a job id and complete over time; the skill polls for you, but set a sane
limitto avoid burning credits. - Each scraped page consumes credits; use map first to scope URLs before a broad crawl.
- For flaky SPAs, ask for a
waitFordelay or an action sequence (click/scroll) so dynamic content loads before extraction. excludePathsis your friend for skipping/tag/,/login, and pagination loops that bloat results.
FAQ
Do I need a Firecrawl account? Yes. Set FIRECRAWL_API_KEY; the free tier works for testing, but crawls and JS rendering draw down credits faster than plain scrapes.
Markdown or raw HTML? Default is LLM-friendly Markdown plus metadata. Request html or rawHtml formats explicitly if you need the original markup.
Is it polite to target sites? Firecrawl handles rendering and proxies, but you remain responsible for robots.txt, terms of service, and reasonable rate limits.
$ cat reviews/