Firecrawl

The whole Firecrawl REST API behind one wildcard route
View as Markdown

Proxies the entire Firecrawl REST API. Like ElevenLabs, Firecrawl is a whole API surface, so the gateway mounts a wildcard and forwards the path after /firecrawl/ verbatim:

GET|POST|DELETE /firecrawl/<api path> → https://api.firecrawl.dev/<api path>

Because the path passes through unchanged, new Firecrawl endpoints work without any gateway change. The methods mirror what Firecrawl documents — POST for the action endpoints, GET for status and usage, and DELETE to cancel a crawl. No documented endpoint uses PUT or PATCH.

Common paths

PathPurpose
POST /firecrawl/v2/scrapeScrape a single URL
POST /firecrawl/v2/crawlStart a crawl
GET /firecrawl/v2/crawl/{id}Crawl status
DELETE /firecrawl/v2/crawl/{id}Cancel a crawl
POST /firecrawl/v2/mapMap a site’s URLs
POST /firecrawl/v2/searchSearch the web
POST /firecrawl/v2/extractExtract structured data
POST /firecrawl/v2/batch/scrapeBatch scrape

What the gateway injects and strips

Firecrawl authenticates with the Authorization: Bearer header — the same header you use for your gateway token. So the gateway overwrites it with the injected Firecrawl key, rather than stripping it:

  • The Authorization header is overwritten with the secret Firecrawl key. Your gateway token is consumed by the gateway and never reaches Firecrawl.
  • Firecrawl has no query-param spelling of the key, so nothing is dropped from the query string.

Responses

Responses are JSON throughout — screenshots, audio, and video come back as URLs or base64 strings inside the JSON, so there is no raw binary body.

Examples

$curl -X POST "$GATEWAY/firecrawl/v2/scrape" \
> -H "Authorization: Bearer $TOKEN" \
> -H "Content-Type: application/json" \
> -d '{"url": "https://example.com", "formats": ["markdown"]}'

The response is Firecrawl’s JSON, returned unchanged. For request and response fields, follow Firecrawl’s API reference — the gateway does not alter them.