Switch from Firecrawl. One line.
AlterLab is API-compatible with Firecrawl. Change your base URL — keep everything else. 97% cheaper, with anti-bot bypass Firecrawl doesn't have.
Migration takes 30 seconds
Change one line in your code or environment variables.
Before (Firecrawl)
# Python
import httpx
response = httpx.post(
"https://api.firecrawl.dev/v1/scrape",
headers={
"Authorization": "Bearer fc-your-key"
},
json={"url": "https://example.com"},
)
print(response.json()["data"]["markdown"])After (AlterLab)
# Python — only 2 lines changed
import httpx
response = httpx.post(
"https://api.alterlab.io/api/v0/scrape", # ← changed
headers={
"Authorization": "Bearer al-your-key" # ← changed
},
json={"url": "https://example.com"},
)
print(response.json()["data"]["markdown"])The request body format, response structure, and markdown output are identical. Your parsing code doesn't change.
AlterLab vs Firecrawl
| Feature | Firecrawl | AlterLab |
|---|---|---|
| Price per page | $0.019 | $0.0002 |
| Subscription required | Yes | No |
| Balance expiry | Monthly reset | Never expires |
| JS challenge handling | Limited | Full (Tier 3+) |
| Advanced bot protection | No | Yes (Tier 4) |
| Captcha solving | No | Yes (Tier 5) |
| Markdown output | Yes | Yes |
| Structured extraction | Yes | Yes |
See How Much You Save
Drag the slider to calculate your exact savings vs Firecrawl
Migration checklist
Works with Firecrawl SDKs
Using the official Firecrawl Python or JavaScript SDK? Point it at AlterLab with a two-line change. Compatible with firecrawl-py v4.x and @mendable/firecrawl-js v4.x (v1 client).
Python SDK
from firecrawl import V1FirecrawlApp
app = V1FirecrawlApp(
api_key="sk_live_xxx",
api_url="https://api.alterlab.io/api/fc"
)
result = app.scrape_url(
"https://example.com",
params={"formats": ["markdown"]}
)
print(result["data"]["markdown"])JavaScript SDK
import FirecrawlApp from
'@mendable/firecrawl-js';
const app = new FirecrawlApp({
apiKey: 'sk_live_xxx',
apiUrl: 'https://api.alterlab.io/api/fc'
});
const result = await app.scrapeUrl(
'https://example.com',
{ formats: ['markdown'] }
);
console.log(result.data.markdown);Note: Use the v1 client class (V1FirecrawlApp in Python). The default v2 client uses different endpoints that are not yet supported. See the full SDK migration guide for details on supported and unsupported features.
Frequently asked questions
Switch from Firecrawl today
Free credits on signup. 97% cheaper. Same API, better bypass.