firecrawl-py). You only need to make two changes to any existing Firecrawl code: swap the api_url to https://api.zapfetch.com and use your ZapFetch API key. Everything else — method names, parameters, and response shapes — stays exactly the same.
Already using
firecrawl-py against Firecrawl? Your code works against ZapFetch without any other modifications.Initialize the client
Import
FirecrawlApp and pass your ZapFetch API key along with the ZapFetch base URL. Store your key in an environment variable rather than hard-coding it in source files.Scrape a single page
Call
scrape_url with the target URL and the list of formats you want back. The method returns a dict whose keys match the requested formats.Crawl a site
Use
crawl_url with wait_until_done=True to block until the crawl finishes and receive all pages in a single response. Each page in job["data"] includes metadata such as sourceURL.Crawls are billed per page fetched. Use the
limit parameter to cap the number of pages and control your credit spend.Credit usage
Every response includes a usage object in the metadata — the same structure the Firecrawl SDK already surfaces. Any existing budget-tracking or alerting logic you’ve built against Firecrawl continues to work unchanged against ZapFetch.Next steps
- Make your first ZapFetch API call with curl — explore all five endpoints without writing any code.
- Use ZapFetch with Node.js — TypeScript-typed responses with built-in rate-limit handling.
- Check your current plan and credit balance in the Console.