Firecrawl Web Scraper
by @moochmaniac
Web scraping, crawling, and search via Firecrawl API. Converts web pages to clean markdown/JSON optimized for AI consumption. Use when you need to extract co...
clawhub install moochmaniac-firecrawl-scraperπ About This Skill
name: firecrawl-scraper description: Web scraping, crawling, and search via Firecrawl API. Converts web pages to clean markdown/JSON optimized for AI consumption. Use when you need to extract content from websites, crawl entire sites, or search and scrape web results. Handles JavaScript-heavy sites, dynamic content, and provides structured output. 96% web coverage including modern SPAs.
Firecrawl Scraper
Professional web scraping powered by Firecrawl API. Converts websites to clean, AI-ready markdown or structured JSON.
When to Use
Quick Start
Scrape a single page:
python3 scripts/scrape.py https://example.com
Crawl a website:
python3 scripts/scrape.py --crawl https://docs.example.com --depth 2 --limit 10
Search and scrape:
python3 scripts/scrape.py --search "AI agent frameworks" --limit 5
Check crawl status:
python3 scripts/scrape.py --crawl-status abc123
Commands
Scrape (Single Page)
Extract content from a single URL:
python3 scripts/scrape.py [options]
Options:
--formats markdown,html,screenshot β Output formats (default: markdown)--full β Include full page (no main content extraction)--json β Output raw JSON responseExamples:
# Basic scrape
python3 scripts/scrape.py https://docs.example.comGet HTML and markdown
python3 scripts/scrape.py https://site.com --formats markdown,htmlFull page (no content filtering)
python3 scripts/scrape.py https://site.com --fullJSON output
python3 scripts/scrape.py https://site.com --json
Crawl (Entire Website)
Systematically crawl and scrape multiple pages:
python3 scripts/scrape.py --crawl [options]
Options:
--depth N β Maximum crawl depth (default: 2)--limit N β Maximum pages to crawl (default: 10)--json β Output raw JSON responseExamples:
# Basic crawl
python3 scripts/scrape.py --crawl https://docs.site.comDeep crawl with limit
python3 scripts/scrape.py --crawl https://blog.com --depth 3 --limit 50Shallow crawl
python3 scripts/scrape.py --crawl https://site.com --depth 1 --limit 5
Note: Crawl returns a job ID. Use --crawl-status to check progress and retrieve results.
Search (Web Search + Scrape)
Search the web and get scraped content from results:
python3 scripts/scrape.py --search [options]
Options:
--limit N β Number of results (default: 5)--json β Output raw JSON responseExamples:
# Search and scrape
python3 scripts/scrape.py --search "WordPress security best practices"More results
python3 scripts/scrape.py --search "AI agents 2026" --limit 10JSON output
python3 scripts/scrape.py --search "casino bonuses" --json
Crawl Status
Check status of a crawl job:
python3 scripts/scrape.py --crawl-status
Returns JSON with:
scraping, completed, failedOutput Formats
Markdown (default): Clean, LLM-ready text with preserved structure
HTML: Full HTML source (useful for parsing specific elements)
Screenshot: Base64-encoded PNG of rendered page
JSON: Structured data extraction (custom schemas supported)
Features
Smart Content Extraction:
JavaScript Support:
Anti-Bot Handling:
Caching:
API Key Setup
The script looks for the Firecrawl API key in:
1. workspace/secrets/firecrawl_api_key (OpenClaw workspace)
2. secrets/firecrawl_api_key (relative to current directory)
3. FIRECRAWL_API_KEY environment variable
Current key is stored at: workspace/secrets/firecrawl_api_key
Credits & Pricing
Free tier: 500 credits Paid plans: Starting at $16/month (3,000 credits)
Use Cases
Documentation Extraction:
python3 scripts/scrape.py --crawl https://docs.framework.com --depth 2 --limit 50
Competitive Research:
python3 scripts/scrape.py --search "top casino affiliate sites" --limit 10
Content Migration:
python3 scripts/scrape.py https://old-site.com/page1 --formats markdown
News Monitoring:
python3 scripts/scrape.py --search "WordPress security updates" --limit 5
Blog Scraping:
python3 scripts/scrape.py --crawl https://blog.site.com --depth 1 --limit 20
Tips
--limit values to test--depth 1 for blog homepages (gets all posts)--depth 2-3 for documentation sites--search is faster than manual crawling for research--crawl-status regularly for long crawls--json for programmatic processingComparison to Other Tools
vs web_fetch tool:
vs browser tool:
β‘ When to Use
π‘ Examples
Scrape a single page:
python3 scripts/scrape.py https://example.com
Crawl a website:
python3 scripts/scrape.py --crawl https://docs.example.com --depth 2 --limit 10
Search and scrape:
python3 scripts/scrape.py --search "AI agent frameworks" --limit 5
Check crawl status:
python3 scripts/scrape.py --crawl-status abc123
π Tips & Best Practices
--limit values to test--depth 1 for blog homepages (gets all posts)--depth 2-3 for documentation sites--search is faster than manual crawling for research--crawl-status regularly for long crawls--json for programmatic processing