The 30-Second Migration
1
Change the base URL
That's literally it. WebPeel supports Firecrawl-compatible API endpoints.
- const BASE_URL = "https://api.firecrawl.dev";
+ const BASE_URL = "https://api.webpeel.dev";
2
Get an API key (optional)
WebPeel offers 125 free requests/week without any API key. For higher limits, sign up at app.webpeel.dev.
3
Done. Ship it.
All Firecrawl endpoints work: POST /v1/scrape, POST /v1/crawl, POST /v1/map, POST /v1/search. Same request format, same response structure.
SDK Migration
Python
- from firecrawl import Firecrawl
- app = Firecrawl(api_key="fc-YOUR_KEY")
+ from webpeel import WebPeel
+ app = WebPeel(api_key="wp_YOUR_KEY")
# Same methods work
result = app.scrape("https://example.com")
print(result.markdown)
Node.js
- import Firecrawl from '@mendable/firecrawl-js';
- const app = new Firecrawl({ apiKey: "fc-YOUR_KEY" });
+ import { peel } from 'webpeel';
+ const result = await peel('https://example.com');
+ console.log(result.content); // Clean markdown
CLI
- npx firecrawl scrape https://example.com
+ npx webpeel https://example.com
cURL
- curl -X POST https://api.firecrawl.dev/v1/scrape \
- -H "Authorization: Bearer fc-YOUR_KEY" \
+ curl -X POST https://api.webpeel.dev/v1/scrape \
+ -H "Authorization: Bearer wp_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
Why Switch?
| Feature | Firecrawl | WebPeel |
|---|---|---|
| License | AGPL-3.0 | AGPL-3.0 |
| Free tier | 500 credits (one-time) | 125/week (recurring) ✅ |
| Starter price | $16/mo (3,000 credits) | $9/mo (1,250/week) ✅ |
| Local mode | Requires API key | No API key needed ✅ |
| AI agent | Locked to Spark models | BYOK — any LLM ✅ |
| Smart escalation | Manual mode selection | Auto: HTTP→browser→stealth ✅ |
| Token efficiency | Returns full page | Smart extraction (96% savings) ✅ |
| Self-hosting | Complex Docker setup | Simple docker-compose ✅ |
| Python SDK | Requires requests | Zero dependencies ✅ |
| MCP tools | 3 tools | 11 tools ✅ |
API Compatibility Reference
| Firecrawl Endpoint | WebPeel Equivalent | Status |
|---|---|---|
| POST /v1/scrape | POST /v1/scrape ✅ | ✅ Compatible |
| POST /v1/crawl | POST /v1/crawl ✅ | ✅ Compatible |
| GET /v1/crawl/:id | GET /v1/crawl/:id ✅ | ✅ Compatible |
| POST /v1/map | POST /v1/map ✅ | ✅ Compatible |
| POST /v1/search | POST /v1/search ✅ | ✅ Compatible |
| POST /v1/extract | POST /v1/agent ✅ | ✅ Enhanced |
| POST /v1/batch/scrape | POST /v1/batch/scrape ✅ | ✅ Compatible |