Cost per 1,000 Requests: A Worksheet for Scraping APIs
Last fact-checked: November 10, 2026
Scraping APIs sell credits, but your agent makes requests. The number that decides your bill is cost per 1,000 requests, and it depends on two things the pricing pages state separately: how many credits a request burns, and which plan you need to cover the month. This page is a worksheet for putting both into one number, plus a small calculator.
Note on experience: we have not run production workloads on these services and say nothing about speed, success rates or data quality. Everything below is arithmetic on figures read from official pricing pages and docs on November 10, 2026. Prices change; check the live pages before you buy.
1. Step one: credits per request (as documented)
† marks a referral link. "Not stated" means the page we read did not say.
| Call type | ScraperAPI † | ScrapingBee | Firecrawl † |
|---|---|---|---|
| Default call | 1 credit (flat) | 5 credits (JavaScript rendering is on by default) | 1 credit per scrape |
| With JavaScript rendering explicitly | 10 credits (render=true) | 5 credits | Not stated as a separate option |
| Without JavaScript rendering | 1 credit | Not stated | Not stated |
| Premium proxy | 10 credits; 25 with render | 10 credits without JS; 25 with JS | Enhanced proxy billed at the same 1 credit, per Firecrawl's billing docs |
| Heaviest option listed | Ultra premium 30; 75 with render (paid plans only) | Stealth proxy 75 | JSON format adds 4 credits per page |
The defaults are not the same kind of call. ScrapingBee's default call renders JavaScript and costs 5 credits, while ScraperAPI's 1-credit call is its flat, non-rendered request. Comparing "1 credit" with "5 credits" without that context overstates the gap. Failed requests are billed differently by each service (ScraperAPI states it charges only for 200 and 404 responses), and we do not model failures.
2. Step two: the plan that covers your credits
Monthly-billed prices, before tax, from each pricing page. Larger tiers exist on all three; we list the ones most small projects will look at.
| Service | Plan | Price / month | Credits / month | Price per 1,000 credits (our arithmetic) |
|---|---|---|---|---|
| Firecrawl | Free | $0 | 1,000 | — |
| Firecrawl | Hobby | $19 | 5,000 | $3.80 |
| Firecrawl | Standard | $99 | 100,000 | $0.99 |
| Firecrawl | Growth | $399 | 500,000 | $0.80 |
| Firecrawl | Scale | $749 | 1,000,000 | $0.75 |
| ScrapingBee | Hobby | $19 | 75,000 | $0.25 |
| ScrapingBee | Freelance | $49 | 250,000 | $0.20 |
| ScrapingBee | Startup | $99 | 1,000,000 | $0.10 |
| ScrapingBee | Business | $249 | 3,000,000 | $0.08 |
| ScraperAPI | Hobby | $49 | 100,000 | $0.49 |
| ScraperAPI | Startup | $149 | 1,000,000 | $0.15 |
| ScraperAPI | Business | $299 | 3,000,000 | $0.10 |
| ScraperAPI | Scaling | $475 | 5,000,000 | $0.10 |
Free offers as listed: Firecrawl's Free plan gives 1,000 credits and its FAQ says they recur monthly; ScrapingBee offers 1,000 free API credits with no card; ScraperAPI's pricing page shows a 7-day, 5,000-credit trial with no card, while its FAQ separately mentions a free plan of 1,000 credits, so confirm which applies. Concurrency limits differ by plan and are not modelled here.
3. Step three: the worksheet
- Write down your monthly request volume.
- Multiply by credits per request (table 1) to get credits needed.
- Pick the cheapest plan whose monthly credits cover that number (table 2).
- Divide the plan price by your request volume, then multiply by 1,000.
Our worked examples use each service's default call (ScraperAPI 1 credit, ScrapingBee 5, Firecrawl 1). They ignore retries, overages and concurrency, and they pay the whole plan price even if you use part of it.
| Requests / month | ScraperAPI | ScrapingBee | Firecrawl |
|---|---|---|---|
| 2,000 | 2,000 credits → Hobby $49 → $24.50 per 1,000 | 10,000 credits → Hobby $19 → $9.50 per 1,000 | 2,000 credits → Hobby $19 → $9.50 per 1,000 |
| 20,000 | 20,000 credits → Hobby $49 → $2.45 per 1,000 | 100,000 credits → Freelance $49 → $2.45 per 1,000 | 20,000 credits → Standard $99 → $4.95 per 1,000 |
| 200,000 | 200,000 credits → Startup $149 → $0.745 per 1,000 | 1,000,000 credits → Startup $99 → $0.495 per 1,000 | 200,000 credits → Growth $399 → $1.995 per 1,000 |
Two patterns come out of the arithmetic, and they are properties of the published prices, not of how well any service works. At small volumes the minimum plan price dominates, so a cheap entry plan beats a cheap per-credit price. At larger volumes the per-credit price and the credits-per-request multiplier both matter, and the cheapest service for one call type can lose for another.
4. Try your own numbers
Edit the monthly requests and the credits per request. Defaults are the documented default calls above. Results use the plan tables in section 2 and are our arithmetic, not a quote from any vendor.
| Service | Credits needed | Cheapest covering plan | Monthly price | Per 1,000 requests |
|---|
If you want to try one of the free offers while you measure your own request mix, the ScraperAPI † and Firecrawl † signup links support this site. For deeper reading on each service's credit rules, see ScraperAPI vs ScrapingBee, Firecrawl Credits Explained and Free Tiers of Web-Data Tools Compared.
5. What this worksheet leaves out
- ScrapingBee's cost without JavaScript rendering: not stated on the page we read, so it is not in the tables.
- Per-domain surcharges (ScraperAPI lists higher credit costs for e-commerce, search-engine and social-media domains) and bot-protection add-ons; set the credits-per-request field accordingly if you need them.
- Failed-request billing, retries, overage pricing, annual discounts and VAT.
- Concurrency, which differs by plan and can force a larger plan than your credit count suggests.
- Success rates, speed and data quality. We have not measured them, and a cheaper request that fails more often can cost more per usable page.
- These pages were read through a web-fetch tool that summarises pages, not a manual read of the rendered pages. Confirm against the live pages before buying.