Convert websites into LLM-ready data with Firecrawl API. Features: scrape, crawl, map, search, extract, agent (autonomous), batch operations, and change tracking. Handles JavaScript, anti-bot bypass, PDF/DOCX parsing, and branding extraction. Prevents 10 documented errors. Use when: scraping websites, crawling sites, web search + scrape, autonomous data gathering, monitoring content changes, extracting brand/design systems, or troubleshooting content not loading, JavaScript rendering, bot detection, v2 migration, job status errors, DNS resolution, or stealth mode pricing.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/jezweb/claude-skills/blob/main/skills/firecrawl-scraper/SKILL.md -a claude-code --skill firecrawl-scraperInstallation paths:
.claude/skills/firecrawl-scraper/# Firecrawl Web Scraper Skill
**Status**: Production Ready
**Last Updated**: 2026-01-20
**Official Docs**: https://docs.firecrawl.dev
**API Version**: v2
**SDK Versions**: firecrawl-py 4.13.0+, @mendable/firecrawl-js 4.11.1+
---
## What is Firecrawl?
Firecrawl is a **Web Data API for AI** that turns websites into LLM-ready markdown or structured data. It handles:
- **JavaScript rendering** - Executes client-side JavaScript to capture dynamic content
- **Anti-bot bypass** - Gets past CAPTCHA and bot detection systems
- **Format conversion** - Outputs as markdown, HTML, JSON, screenshots, summaries
- **Document parsing** - Processes PDFs, DOCX files, and images
- **Autonomous agents** - AI-powered web data gathering without URLs
- **Change tracking** - Monitor content changes over time
- **Branding extraction** - Extract color schemes, typography, logos
---
## API Endpoints Overview
| Endpoint | Purpose | Use Case |
|----------|---------|----------|
| `/scrape` | Single page | Extract article, product page |
| `/crawl` | Full site | Index docs, archive sites |
| `/map` | URL discovery | Find all pages, plan strategy |
| `/search` | Web search + scrape | Research with live data |
| `/extract` | Structured data | Product prices, contacts |
| `/agent` | Autonomous gathering | No URLs needed, AI navigates |
| `/batch-scrape` | Multiple URLs | Bulk processing |
---
## 1. Scrape Endpoint (`/v2/scrape`)
Scrapes a single webpage and returns clean, structured content.
### Basic Usage
```python
from firecrawl import Firecrawl
import os
app = Firecrawl(api_key=os.environ.get("FIRECRAWL_API_KEY"))
# Basic scrape
doc = app.scrape(
url="https://example.com/article",
formats=["markdown", "html"],
only_main_content=True
)
print(doc.markdown)
print(doc.metadata)
```
```typescript
import FirecrawlApp from '@mendable/firecrawl-js';
const app = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY });
const result = await app.scrapeUrl('https://example.c