A scraping API plan advertises a number of credits. It does not advertise how many credits a request costs, because the answer is anywhere from 1 to 75 and it depends on what you asked for, what the target site did, and in one case on a default you probably did not change.
On 3 August 2026 we read the published credit tables at ScrapingBee, ZenRows and ScraperAPI, and worked out what a thousand requests actually costs on each. Every multiplier below is quoted from the vendor's own documentation.
The short version
A request is not a credit. ScrapingBee bills 1 credit for a plain request and 75 for a stealth one, and enables JavaScript rendering by default at 5. ZenRows bills 1 to 25 and states that the weights never fall on bigger plans. ScraperAPI bills 1 to 75 and sets some multipliers by the target domain, so a Google URL costs 25 credits before you have chosen a single option.
The multiplier tables
These are the published weights. One request consumes this many credits.
Credits consumed per request, by configuration
| Configuration | ScrapingBee | ZenRows | ScraperAPI |
|---|---|---|---|
| Plain request, no options | 1 | 1 | 1 |
| JavaScript rendering | 5 | 5 | 10 |
| Premium / residential proxies | 10 | 10 | 10 |
| Rendering + premium | 25 | 25 | 25 |
| Highest tier (stealth / ultra) | 75 | 25 | 75 |
| Google or Bing search URL | 20 | not published | 25 |
| Amazon URL | not published | not published | 5 |
| LinkedIn URL | not published | not published | 30 |
| Anti-bot bypass triggered by the site | included above | included above | 10 |
help.scrapingbee.com credit-system, docs.zenrows.com/first-steps/pricing, docs.scraperapi.com credits-and-requests-costs. Read 3 August 2026.
Three things in that table deserve their own paragraph.
ScrapingBee renders JavaScript by default. Their documentation says it outright: each request costs 5 credits because JavaScript rendering is enabled by default. That is the baseline, not a power-user surcharge. Every advertised credit pool is five times smaller than it reads unless you go and turn rendering off. Their auto-mode is more slippery still: it bills "1, 5, 10, 25 or 75 depending on the configuration that worked", so the per-request cost is not knowable in advance even in principle.
ScraperAPI prices by target domain, before you choose anything. A normal URL is 1 credit. An Amazon URL is 5. A Google or Bing search URL is 25. A LinkedIn URL is 30. You have not enabled a single option at that point. On top of that, anti-bot bypass for Cloudflare, Turnstile, DataDome or PerimeterX costs a flat 10 credits and is triggered by the site's defences, not by your request. Your bill is therefore partly set by decisions made by the websites you scrape.
ZenRows says the weights never improve. Its documentation states that credit weights are fixed across all tiers, and that what changes on a bigger plan is the monthly allowance, not the per-request cost. Scale buys you more credits. It never buys you cheaper ones. A 25x multiplier is 25x on the entry plan and 25x on the largest.
What a thousand requests actually costs
Take one real plan from each vendor and run its own arithmetic across its own multipliers.
Both plans sell 250,000 credits. ScrapingBee's Freelance plan is $49, so a credit is $0.196 per thousand. ZenRows' Launch L1 is $69, so a credit is $0.276 per thousand. Those are the honest headline rates, and they are the rates almost nobody pays, because almost nobody scrapes a defended target with plain requests and no proxies.
Run the same plan at the configuration a real job needs and the spread is 75x at ScrapingBee and 25x at ZenRows, with no change of plan and no change of price. The plan did not get more expensive. The requests got more expensive, silently, per request.
We could not verify ScraperAPI's plan prices. Its pricing page is rendered client-side and every fetch returned only the page shell, and the figures circulating on review sites are not stated anywhere on its own site or in its documentation. Its multipliers are documented and are in the table above. Its dollar amounts are not, so we are not publishing them.
Residential is not a plan here, it is a tax
This is the part that connects to buying proxies directly, and it is stated most clearly by ScraperAPI, whose documentation says that requests through its premium residential and mobile pool are charged at ten times the normal rate.
Read that again as a pricing model. When you buy residential proxies from a proxy provider, residential is the product and you pay a per-gigabyte rate for it. When you use a scraping API, residential is a multiplier applied to every request you make, and it stacks with rendering to 25x at all three vendors.
ZenRows is the only one of the three that publishes a conversion you can check against a proxy bill: 25,000 credits per gigabyte. Its $69 Launch L1 plan carries 250,000 credits, which is 10 GB, which is $6.90 per gigabyte by its own arithmetic. Its $999 plan works out near $2.00 per gigabyte on the same basis. Against our flat $0.50/GB, that entry rate is roughly fourteen times more per gigabyte.
That comparison is fair only because ZenRows published the conversion itself. ScrapingBee and ScraperAPI publish none, so any per-gigabyte figure for those two would be invented, and we are not going to invent one.
When a scraping API is still the right call
None of this makes scraping APIs a bad product. They ship proxy rotation, browser rendering, retries and anti-bot handling as one thing you do not have to build or maintain, and for a small team scraping a hard target that is worth real money. The point is only that the credit price is not the request price, and the plan you compare should be the one running the configuration your job actually needs.
Four things to check before you buy credits
- 1
Find the credit table, not the pricing page
It is usually in the docs rather than on the marketing page. Search the vendor's documentation for 'credits' and read the multiplier list before you read a single plan price.
- 2
Work out your real multiplier
Take the configuration your job genuinely needs, rendering on or off, premium proxies on or off, and find that row. That is your per-request cost. Everything above it in the plan comparison is theoretical.
- 3
Check what the target costs you before you choose anything
At ScraperAPI a Google URL is 25 credits and a LinkedIn URL is 30, set by the domain rather than by you. If you are scraping one of those, your baseline is not 1 credit.
- 4
Ask what a failure costs
All three vendors we measured bill for 404s, and ZenRows also bills for 410. On a stale URL list you are paying the full multiplier for pages that returned nothing.
Method
Every multiplier above was read from the vendor's own documentation on 3 August 2026, not from a review site. Plan prices for ScrapingBee and ZenRows were read from their own pricing pages. ScraperAPI's plan prices could not be read from any vendor source and are therefore not published here.
One detail worth recording. ZenRows' public pricing page returns HTTP 403 to a plain request, so the full ladder had to be read from its documentation instead. An anti-bot-bypass vendor blocking a bot from reading its own prices is, at minimum, a consistent product philosophy.
We also corrected one assumption of our own along the way: geotargeting is not a credit multiplier at these vendors. ScraperAPI lists country_code among the parameters with no extra cost, and ZenRows has no geotargeting row in its weight table at all. It is gated by plan tier rather than metered per request, and we are not going to claim otherwise.
If you want the same treatment applied to raw residential proxies, our residential proxy price study compares what sixteen providers advertise against what they charge. For which product actually fits your job, proxies for web scraping covers the trade-off between running your own stack and buying the managed one.