Web Scraping Service Pricing in 2026: What the Sticker Price Hides
Web scraping service pricing in 2026: the five billing models, why a page costs $0.13 or $16 per 1,000, and how to estimate your real monthly bill.
Long Nguyen
Développeur fullstack · Ingénieur IA · Chercheur
What a web scraping service actually costs in 2026
Short answer: anywhere from $0.06 to $16 per 1,000 pages. That 250x spread is not marketing noise. It is the real distance between pulling plain HTML off a cooperative site and driving a headless browser through an anti-bot wall on a site that does not want you there.
Four buying models dominate the market, and each one is priced in a different unit. That is the main reason quotes are impossible to compare side by side.
| Buying model | Entry price | What you are paying for | Best fit |
|---|---|---|---|
| Self-serve API, pay as you go | From $0.06–$0.13 per 1,000 successful HTTP responses | Proxy rotation, retries, unblocking, no commitment | Spiky or seasonal jobs |
| Self-serve API, subscription | $49/month entry | A monthly credit pool plus a concurrency ceiling | Steady, predictable volume |
| Browser-rendered scraping | From roughly $1 per 1,000 responses | A real Chrome instance per page | JavaScript-only sites, 8–15x the HTTP price |
| Done-for-you build or managed feed | Quoted to scope, usually plus a maintenance retainer | Someone else’s engineering time and on-call | Teams that want data, not a pipeline |
Before comparing any two numbers, check the unit. Per request, per credit, per record, per GB and per month are five different things, and the provider that looks cheapest in one unit is frequently the expensive one in yours.
The five web scraping pricing models, and what each one hides
Every provider picks a billing unit that flatters its own infrastructure. Knowing which unit you are being sold tells you where the surprise will come from.
| Model | Billing unit | Why buyers like it | Where the surprise lives |
|---|---|---|---|
| Per successful request, tiered by site difficulty | 1,000 successful responses | Blocked requests cost nothing; price tracks real difficulty | You cannot know your tier until you test your exact URLs |
| Credit pool subscription | Credits per month | A hard spending ceiling you can budget | Credit multipliers per domain, and credits that expire monthly |
| Per successful record | 1,000 extracted records | Price is tied to output, not effort | One page can be several records; pagination multiplies the count |
| Per GB of proxy bandwidth | Gigabytes transferred | Very cheap on text-light pages | Images, fonts and tracker scripts you never wanted are billed too |
| Fixed project fee plus retainer | One-off build, then monthly | Someone else owns the breakage | Scoping errors; and who owns the source code afterwards |
The bandwidth model is the one most people misjudge. A product page that returns 40 KB of useful HTML often transfers 2–3 MB once hero images, web fonts and analytics load. If you are billed per GB and you have not disabled resource loading in your fetcher, you are paying fifty times over for bytes you throw away.
Why one page costs $0.13 per 1,000 and another costs $16
Two public pricing pages explain nearly the whole spread. The first prices difficulty directly. Zyte’s published API pricing sorts every website into five tiers and charges per 1,000 successful responses, with a separate, much higher rate once a headless browser is involved:
| Difficulty tier | HTTP response body (per 1,000) | Browser rendered (per 1,000) |
|---|---|---|
| 1 — Simple | $0.13 | $1.01 |
| 2 — Easy | $0.23 | $2.01 |
| 3 — Moderate | $0.44 | $4.02 |
| 4 — Complex | $0.70 | $8.04 |
| 5 — Advanced | $1.27 | $16.08 |
Read the two columns against each other: rendering is a 7–13x multiplier at every single tier. Committing $500 a month brings the same tiers down to $0.06–$0.61 for HTTP and $0.48–$7.68 rendered, so volume discounts are real — but they never close the gap between HTTP and browser. Nothing you negotiate will beat simply not needing the browser.
The same logic, disguised as credits
Credit-based plans hide the identical difficulty curve inside a multiplier table. On ScraperAPI’s plan and credit documentation, a standard page costs 1 credit, Amazon costs 5, Google and Bing cost 25, LinkedIn costs 30, and sites behind Cloudflare, DataDome or PerimeterX add 10 credits per request. Converted into money on the $149 plan, which carries 1,000,000 credits:
| Target | Credits per request | Effective cost per 1,000 pages |
|---|---|---|
| Standard page | 1 | $0.15 |
| Amazon | 5 | $0.75 |
| Google or Bing | 25 | $3.73 |
| 30 | $4.47 | |
| Anti-bot bypass, added on top | +10 | +$1.49 |
A $49 headline price and a 30x multiplier are the same sentence written twice. When a vendor advertises a per-month figure, the only number that matters is plan price divided by the credits your targets will actually consume.
How to estimate your real monthly scraping bill
Two lines of arithmetic, done before you talk to anyone:
monthly billable units
= sources x pages per source x refreshes per month
x credits (or difficulty multiplier) per request
/ success rate # only if failed attempts are billed
monthly cost = billable units / 1000 x rate per 1,000
Worked example. You monitor 20,000 SKUs on one mid-difficulty retail site and refresh daily, so 600,000 page fetches a month.
- Browser-rendered, tier 3, pay as you go: 600 x $4.02 = $2,412/month.
- Same work on a $500 monthly commitment: $2.40 per 1,000 = $1,440/month.
- Same data pulled from the site’s own JSON endpoint, no browser: tier 3 HTTP at $0.44 per 1,000 = $264/month.
Finding the underlying API is worth more than any discount you will ever negotiate — roughly nine times the saving of the volume commitment in this example. Open DevTools, filter the network tab to Fetch/XHR, reload the page, and check whether the content hydrates from a JSON call. On modern storefronts it usually does, and it frequently returns more fields than the rendered HTML shows.
The same job on a credit plan
600,000 standard pages is 600,000 credits, which sits comfortably inside a 3,000,000-credit plan at $299. Now the target turns on Cloudflare. Each request becomes 11 credits, the job becomes 6,600,000 credits, and both the 3M and the 5M plans are too small — you are on the 10.5M plan at $975. One configuration change on someone else’s server tripled your bill, and nothing in your code changed.
This is why any scraping budget needs a volatility allowance. Price the plan you need today, then confirm what the next tier up costs, because you will eventually land on it without warning.
Build in-house, buy an API, or hire a team?
The honest version of this decision is not about price per 1,000. It is about where your engineering attention is best spent.
| Option | Cost shape | Works when | Breaks when |
|---|---|---|---|
| Own code plus raw proxies | Bandwidth or IP fees, a server, and your own time | Soft targets, modest volume, an engineer who enjoys this | The target deploys anti-bot and your sprint becomes unblocking |
| Self-serve scraping API | Subscription or per-1,000 usage | Standard targets, volume you can forecast | Multipliers and tier jumps outrun the budget |
| Commissioned build | One-time fee plus maintenance retainer | Non-trivial targets and a team with no scraping experience | Scope is vague, or code ownership was never written down |
| Managed data feed | Per record, usually with a monthly minimum | You want rows in a table, not a pipeline to operate | You need fields or cadence the provider will not change |
The rule of thumb that holds up in practice: if the data is strategic and the targets are hard, pay for infrastructure and keep the logic in-house. If the data is operational and the targets are standard, buy the API. If you need both and have no one to own it, a commissioned custom data crawling and processing build is usually cheaper over twelve months than one engineer learning anti-bot evasion on company time — the in-house option is almost never as cheap as the spreadsheet says, because the spreadsheet never includes the week the scraper was down.
What to ask for before you accept any scraping quote
Vendor and agency quotes become comparable once you force them onto the same terms. Ask for all nine in writing:
- Price per 1,000 successful responses for my specific domains, not the headline rate.
- The credit or difficulty tier of each target URL, measured, not estimated.
- Whether failed and retried attempts are billed.
- Whether unused volume rolls over, and what overage costs.
- The concurrency ceiling, and the throughput it implies for my largest backfill.
- Geographic coverage at my price tier.
- Turnaround time after a target site changes layout, stated in hours or days.
- Delivery format and what happens when the output schema changes.
- For a commissioned build: who owns the source code when the engagement ends.
Item 9 is the one most buyers forget, and the only one that is expensive to renegotiate later.
If you have the page list and the refresh cadence but not the engineering time to price it properly, send the targets over and get a scoped quote for your scraping project — the useful output of that conversation is the per-source difficulty and the real monthly number, whether or not you end up outsourcing the build.
FAQ
Questions fréquentes
How much does a web scraping service cost per 1,000 pages?
Between roughly $0.06 and $16 per 1,000 pages in 2026. Plain HTML from an undefended site sits at the bottom of that range; a heavily protected site that requires a headless browser sits at the top. Rendering alone is a 7–13x multiplier at every difficulty level, so the single largest cost factor is whether your target can be read without a browser.
Why do scraping providers charge different prices for different websites?
Because the cost of a successful response varies with the site's defences. Providers either price this openly, by sorting sites into difficulty tiers, or hide it inside credit multipliers — a standard page might cost 1 credit while a search engine costs 25 and a social network 30, with anti-bot bypass adding more on top. Both mechanisms describe the same reality: harder targets burn more proxies, more retries and more compute.
Do web scraping services charge for failed requests?
It depends on the provider, and it is worth asking in writing. Some publish their rates explicitly per 1,000 successful responses, so blocked attempts cost nothing. Credit-based systems vary. At an 80% success rate, the difference between billing per attempt and billing per success is about a quarter of your total bill.
Do unused web scraping credits roll over to the next month?
Usually not — most credit pools reset at renewal. That makes under-use as costly as over-use: buying 100,000 credits for $49 and consuming only 40,000 puts your effective rate at $1.23 per 1,000 rather than $0.49. Size the plan against measured consumption, not an optimistic forecast.
Is it cheaper to build a scraper in-house or buy a scraping API?
In-house is cheaper while the targets are soft and the volume is modest. It stops being cheaper the moment a target deploys anti-bot protection, because the cost shifts from infrastructure to engineering time. Compare the API subscription against your team's real day rate: two maintenance days a month commonly exceeds the entire API bill.
What should a custom web scraping project cost?
Custom builds are quoted to scope rather than listed, because the price is driven by the number of sources, their difficulty tier, the refresh cadence and the delivery format. Insist that any quote states price per 1,000 successful responses for your actual domains, the turnaround time after a site layout change, and who owns the source code when the engagement ends.