Migration
From Firecrawl

Migrating from Firecrawl

SuperScraper exposes the same core endpoints with Firecrawl-compatible request shapes, so most existing code ports directly. Swap the base URL and key; the rest of your call sites are unchanged.

- const client = new Firecrawl({ apiKey: process.env.FIRECRAWL_KEY });
+ const client = new Firecrawl({
+   apiKey: process.env.SUPERSCRAPER_KEY,
+   apiUrl: "https://api.superscraper.dev",
+ });
 
// the rest of your code is unchanged
const { data } = await client.scrape("https://example.com");

This mirrors apps/web's /migrate page (opens in a new tab), kept in sync with the same endpoint mapping and capability comparison, in docs form. Only claim compatibility where it's actually true; the gaps below are called out, not hidden.

Endpoint mapping

FirecrawlSuperScraperNotes
POST /v1/scrapePOST /v1/scrapeSame formats & actions
POST /v1/crawlPOST /v1/crawlInclude/exclude paths + webhook
GET /v1/crawl/:idGET /v1/jobs/:idJob status, different path, same idea
POST /v1/mapPOST /v1/map
POST /v1/extractPOST /v1/extractSchema-based
POST /v1/batch/scrapePOST /v1/batch
screenshot (a formats value)POST /v1/screenshotWe also ship it as a dedicated endpoint
POST /v1/searchPOST /v1/search

Core endpoints

CapabilitySuperScraperFirecrawl
Scrape (markdown / HTML / links / JSON / screenshot)YesYes
Crawl with include/exclude paths + webhookYesYes
Map / URL discoveryYesYes
Batch (sync ≤100 + async)YesYes
Schema-based extract (single + multi-URL)YesYes
Dedicated screenshot endpointYesPartial (Firecrawl ships it as a format)
Browser actions (click/scroll/write/press/wait)YesYes
Search + scrapeYesYes

Output & extraction

CapabilitySuperScraperFirecrawl
Clean, LLM-ready markdownYesYes
Content shaping (main-only / include-exclude tags)YesYes
Free JSON-LD / Open Graph extractionYesPartial (where a site ships structured data)
Confidence score on extracted JSONYesNo
llms.txt generationYesYes

Operations

CapabilitySuperScraperFirecrawl
Automatic stealth-browser escalationYesYes
Proxy rotation handled for youYesYes
Per-domain cheapest-path cacheYesNo
Never billed for failed scrapesYesPartial

Distribution

CapabilitySuperScraperFirecrawl
Node + Python SDKsYesYes
CLIYesYes
MCP serverYesYes
Compatible request shapesYesYes
Long-tail language SDKs (Go/Rust/Java/…)No (on the backlog)Yes

Performance

96.3% anti-bot pass rate (26 of 27 protected sites), measured 2026-06-23 against a public anti-bot test suite, with no paid proxies. We haven't re-run Firecrawl's stack head-to-head, so this isn't a side-by-side number, see the full methodology and reproduce script on the benchmark page (apps/web /benchmarks, scripts/benchmark-antibot.mjs).

Pricing

Our tiers sit below Firecrawl at the same credit volumes, and structured extraction that Firecrawl bills for is free here (JSON-LD / Open Graph). See Pricing for the full ladder.

What doesn't map 1:1

  • GET /v1/crawl/:id becomes GET /v1/jobs/:id, different path, same job-status shape.
  • Confidence (_confidence) and provenance (_extraction_method, _provenance) fields exist on SuperScraper's /v1/scrape and /v1/extract responses and have no Firecrawl equivalent, see Extract.
  • Long-tail language SDKs beyond Node/Python (Go, Rust, Java) aren't published yet, call the REST API directly in the meantime.