A scraping API plan is sold the way a phone plan is sold. Pick a tier, get an allowance, pay the monthly price. Read four of those pricing pages side by side and convert them all to one number, and the tier turns out to be a weak predictor of what you will actually pay per request. On one of the four, a single plan at a single monthly price produces two rates that sit 25 times apart.
On 10 August 2026 we read the published pricing at ScrapingBee, ZenRows, Scrapfly and ScrapeOps and worked out dollars per 1,000 requests for each. Two figures per vendor: the rate a new customer meets on the way in, and the cheapest rate the vendor publishes anywhere. Across the four, that number runs from $0.0749 to $3.75.
What the four pricing pages add up to
Cost per 1,000 requests spans about 50x across these vendors, and a large part of that spread lives inside individual vendors rather than between them. Scrapfly's $30 Discovery plan produces $0.15 or $3.75 for the same thousand requests, decided by whether you use datacenter or residential proxies. ScrapingBee's $0.0749 and ZenRows' $0.0799 are both real, and both require a four-figure annual commitment plus a capability you give up.
The four vendors, entry rate and floor
Every figure below was read from the vendor's own pricing page on 10 August 2026. The entry rate is what the cheapest plausible starting plan works out to per thousand requests. The floor is the lowest rate the vendor publishes anywhere, on any plan, in any configuration.
Cost per 1,000 requests, entry against published floor
| Vendor | Entry rate per 1k | Published floor per 1k | Spread | What the floor requires |
|---|---|---|---|---|
| ScrapingBee | $0.196 | $0.0749 | 2.6x | $599/month Business+, and no JavaScript rendering |
| ZenRows | $0.4222 | $0.0799 | 5.3x | $999/month Scale S3, and standard requests only |
| Scrapfly | $3.75 | $0.15 | 25x | The same $30 Discovery plan, datacenter proxies only, no rendering |
| ScrapeOps | $3.60 | $0.083 | 43.4x | $249/month plan, simple targets at 1 credit per request |
scrapingbee.com, zenrows.com, scrapfly.io and scrapeops.io pricing pages, read 10 August 2026. Spread column computed by us from the two published rates.
Three of those four spreads need you to change plan. One does not, and that is the row to read twice.
Scrapfly charges 25 times more on the same plan
Scrapfly's Discovery plan costs $30 a month. Run it against datacenter proxies with no JavaScript rendering and a thousand requests costs $0.15. Run the same plan against residential proxies and the same thousand requests costs $3.75.
That is a spread of 25x with nothing about the plan changed. No upgrade, no commitment, no volume threshold crossed, no negotiation. Two settings, and one of them is the setting that most people scraping a defended target have to turn on.
This is the mechanism the pricing page cannot show you, because a pricing page is a grid of plans and the thing setting your rate is not a plan. On a scraping API the plan buys an allowance. The options spend it, at a rate the options choose, per request.
ScrapeOps shows the same mechanism from the other end
ScrapeOps prices in credit weights rather than two published rates. A simple target costs 1 credit per request. A residential request costs 10.
Run its $9 plan through residential and a thousand requests works out at $3.60. Run the same $9 plan against simple targets at 1 credit and the same arithmetic gives $0.36. Same plan, same money, ten times the work, decided by what each request asked for rather than by anything you bought. Its published floor of $0.083 then needs the $249 a month plan on top of staying at 1 credit, which is why its spread reads as 43.4x rather than 10x.
We wrote about how credit weights turn one request into many in our study of scraping API credit multipliers, so this post stops at the dollars. The point here is only that two of four vendors put the dominant cost driver in the options, where no plan comparison will find it.
The cheapest published rate is a reduced product
ScrapingBee and ZenRows do the opposite. Their cheapest rates sit behind their largest plans, which is the conventional and defensible way to price. Both come with a condition attached, and the condition is the part worth reading.
ScrapingBee's floor of $0.0749 per thousand requests needs the $599 a month Business+ plan, and no JavaScript rendering. ZenRows' floor of $0.0799 needs the $999 a month Scale S3 plan, and standard requests only.
Both numbers are real and both are published. Neither is the price of the product most buyers are shopping for. Someone who reached for a scraping API because their target needs a browser cannot buy the rendering-off rate at any plan size, because rendering is the reason they are there. The advertised floor is the price of a reduced version of the service, and it is the number that ends up in comparison tables.
ScrapingBee's has one further turn in it. Rendering is enabled by default on that platform, so reaching the floor rate means switching off something nobody switched on.
What a 50x range does to a budget
Across these four the cost of a thousand requests runs from $0.0749 to $3.75. Every figure sits on a vendor's own pricing page, none is a promotional rate, and none required an enterprise conversation to obtain.
A range that wide has a practical consequence. A per-request price quoted without its configuration is not a comparison, it is a number. Two vendors quoting "from $0.08" can be four figures apart on the same job, and a vendor quoting $3.75 may be the cheaper of the two once both are set to do the work you actually need.
So the comparison that means anything is built in the other direction. Settle the configuration first, then price it.
- 1
Write down the configuration before you open any pricing page
Residential or datacenter. Rendering on or off. Whether the target trips an anti-bot vendor. Those three answers set your rate at every vendor on this list, and they are properties of your target rather than choices you get to optimise away.
- 2
Find that configuration's rate, not the plan's rate
Scrapfly publishes both ends openly. ScrapeOps publishes credit weights you multiply yourself. ZenRows and ScrapingBee state the conditions attached to their lowest rates. In every case the number you want is further down the page than the plan grid.
- 3
Check whether the cheap rate is even available to you
A floor that requires no JavaScript rendering is unreachable if your target needs a browser. Rule those rows out before comparing, or the comparison is between prices for different products.
- 4
Convert everything to one unit before deciding
Dollars per 1,000 requests works across all four vendors. Plan prices do not compare, allowances do not compare, and credits do not compare between vendors because the weights differ.
Where renting proxies is the cheaper model
HProxy does not sell a scraping API. We sell proxies, so this comparison needs stating carefully rather than dressed up as a head-to-head.
A scraping API is the right purchase when you want somebody else to own retries, unblocking, JavaScript rendering and proxy rotation, and you are willing to pay per request for it. That is real engineering, it needs maintaining against targets that change, and the per-request price is what it costs to not build it.
Renting proxies is cheaper when your own code already does those things and what you mostly need is clean IPs. Our residential is $0.50/GB from the first gigabyte, falling to $0.44/GB at 2,000 GB+.
Putting the two on one axis takes an assumption, and it is worth stating plainly rather than burying. Proxies are billed by the gigabyte and scraping APIs are billed by the request, so a conversion needs a page weight. A typical HTML document is roughly 100 KB, which makes a thousand requests very roughly 0.1 GB and ten thousand requests roughly one gigabyte. At our rate, ten thousand such requests is about $0.50 of bandwidth, a hundred thousand is about $5, and a million is about $50.
Treat that as an order of magnitude and nothing finer. Page weight varies enormously, and the assumption breaks hardest in exactly the case where people reach for a scraping API.
Where our own arithmetic turns against us
We measured a protected page fetch through a headless browser at 6.54 MB, roughly 65 times the 100 KB assumption above. At that weight a thousand requests is 6.54 GB, which is about $3.27 of bandwidth at our rate: the same territory as Scrapfly's residential rate of $3.75 for the same thousand requests, before you have written a line of unblocking code. Heavy JavaScript rendering is where the bandwidth model stops being obviously cheaper.
That last figure is the useful one, and it points at something larger than any single vendor. The 50x spread across these scraping APIs is not a pricing trick. It is what happens whenever cost is driven by the work each request demands rather than by the plan someone bought, and our own model has the same property measured in gigabytes instead of credits. A light HTML page and a rendered protected page differ by 65 times on our meter too.
The difference is only which number the pricing page shows you. Ours is a rate per gigabyte and the variable is your page weight, which you can measure in an afternoon. Theirs is a plan price and the variable is a multiplier, which is documented at four different depths on four different sites.
Method
We read the pricing pages of ScrapingBee, ZenRows, Scrapfly and ScrapeOps on 10 August 2026 and converted each to dollars per 1,000 requests using the vendor's own plan prices, allowances and credit weights.
Entry rates use the cheapest plausible starting plan at the configuration the vendor's page presents as ordinary for it: $49 Freelance at ScrapingBee, $19 Build B1 at ZenRows, $30 Discovery with residential proxies at Scrapfly, and the $9 plan with residential at ScrapeOps. Floor rates are the lowest published anywhere on the site, with the conditions recorded alongside them in the table rather than dropped.
Two things we did not do. We did not request custom or enterprise quotes, because a price nobody can read is a price we cannot publish. We did not model failed requests, retries or the credit weights specific to individual target domains, all of which push real bills above every figure here. Every number in this study is a floor on what the work costs, not a forecast.
Our own rates come from our live price record rather than being typed into this article, which is why they cannot drift out of date here while staying current elsewhere on the site. If you want the same treatment applied to raw residential bandwidth, our residential proxy price study compares what sixteen providers advertise against what they charge, and how much do proxies cost covers the per-type arithmetic. For the bandwidth side of a browser-based scrape, what Puppeteer costs in proxy bandwidth has the measurement quoted above.
Sources
- ScrapingBee pricing: https://www.scrapingbee.com/#pricing
- ZenRows pricing: https://www.zenrows.com/pricing
- Scrapfly pricing: https://scrapfly.io/pricing
- ScrapeOps pricing: https://scrapeops.io/pricing
All four read on 10 August 2026. Per-request conversions, the spread column and the ratio chart are ours, computed from the rates those pages publish.