tools/integrations/firecrawl.md
Web scraping API that turns single pages or full sites into clean LLM-ready markdown. Handles JS rendering, anti-bot defenses, and proxy rotation so you can extract structured data from individual public business sites.
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | REST API + Python/Node SDKs |
| MCP | ✓ | Official Firecrawl MCP server |
| CLI | - | None official |
| SDK | ✓ | Node, Python, Go, Rust |
Authorization: Bearer fc-YOUR_API_KEYFIRECRAWL_API_KEYhttps://api.firecrawl.devPOST https://api.firecrawl.dev/v1/scrape
Authorization: Bearer fc-YOUR_API_KEY
{
"url": "https://joescoffeeshop.com",
"formats": ["markdown", "html"]
}
Returns the page as clean markdown (LLM-ready, no nav cruft) plus optional raw HTML.
POST https://api.firecrawl.dev/v1/map
{
"url": "https://example.com",
"limit": 100
}
Returns a list of URLs found on the site. Use this to identify key pages (/pricing, /about, /contact, /team) before scraping individually.
POST https://api.firecrawl.dev/v1/crawl
{
"url": "https://example.com",
"limit": 20,
"scrapeOptions": {
"formats": ["markdown"]
}
}
Crawls multiple pages from a single site. Use sparingly — costs scale with pages. Set limit and includePaths to target specific URL patterns.
POST https://api.firecrawl.dev/v1/extract
{
"urls": ["https://joescoffeeshop.com"],
"schema": {
"phone": "string",
"address": "string",
"hours": "string",
"email": "string"
}
}
Returns data matching the schema — useful when you want consistent fields across many sites rather than raw markdown.
POST https://api.firecrawl.dev/v1/search
{
"query": "\"Joe's Coffee Shop\" Boulder Colorado",
"limit": 10
}
Web search + scrape of top results. Useful for cross-source verification (find a business's official site when you only have a name + location).
| Tool | Purpose |
|---|---|
firecrawl_scrape | Single-page extraction |
firecrawl_map | URL discovery on a site |
firecrawl_crawl | Multi-page crawl |
firecrawl_extract | Schema-driven structured data |
firecrawl_search | Web search + scrape |
competitor-profiling skill)curl because content loads after page loadCritical — do not use Firecrawl to scrape platforms hosting prospects:
Use Firecrawl for: the business's own website (which you found via manual discovery on those platforms). That's the line — discovery happens on platforms, extraction happens on individual public business sites.