Affiliate disclosure: some links in this article are partner links. If you start a paid plan through them, imisofts may earn a commission at no extra cost to you. We only recommend tools we actually use to run client campaigns.
Short answer. What a web scraping API charges per 1,000 pages depends more on the page than on the plan. On the credit APIs' plans nearest $50 a month, a plain HTML page costs $0.15 (Scrapfly) to $0.49 (ScraperAPI) per 1,000, and switching on JavaScript rendering multiplies that by 5 to 10. A page that needs premium or residential proxies plus JavaScript costs 25 to 30 credits, which is $4.50 to $12.25 per 1,000 on the same plans. Bright Data's Unlocker API and Apify's Web Fetch list one card rate instead, $1.50 per 1,000 successful requests (Apify adds small Actor Start charges, and whether Bright Data bills some domains higher is unverified). That is 3 to 10 times the credit APIs' price for plain pages, more than the other plans in our table for JavaScript pages except ScraperAPI's and Zyte's dearer tiers, and less only once enough of your pages need premium proxies. We earn a commission from the Bright Data and Apify links on this page, and from no other vendor here.

Every price below was read on the vendor's own pricing page or documentation on 2 October 2026 (Apify's plan-by-plan rates come from its public Actor API). "Per 1,000 pages" means per 1,000 billed requests, results or fetches, which are not quite the same unit, and every figure assumes the request succeeds. We did not run a success-rate test.
Key numbers
| Item | Number |
|---|---|
| ScrapingBee Freelance, per month (JavaScript is on by default at 5 credits a request) | $49 for 250,000 credits |
| ScrapingBee, stealth proxy with JavaScript ($14.70 per 1,000 pages on Freelance) | 75 credits |
| ZenRows Launch, per month ($58 a month billed annually) | $69 for 250,000 credits |
| ScraperAPI Hobby, per month (render=true bills 10 credits a request) | $49 for 100,000 credits |
| Scrapfly Discovery, per month (no pay as you go; browser request 6 credits per its docs) | $30 for 200,000 credits |
| Zyte API pay as you go, per 1,000 responses (by site tier and rendering) | $0.13 to $16.08 |
| Oxylabs Web Scraper API Micro, per 1,000 results ($49 a month; $1.35 with JavaScript, Amazon $0.50) | $1.15 |
| Bright Data Unlocker API, pay as you go (card rate, per-domain pricing unverified; 5,000 free a month) | $1.50 per 1,000 |
| Bright Data Unlocker API, Scale plan ($1.30 per 1,000 after that) | $499 a month for 383,000 requests |
| Apify Web Fetch, Free and Starter plans (successful fetches plus Actor Start events; $1.00 on Business) | $1.50 per 1,000 |
| Cheapest plain HTML page, credit plans near $50 (Scrapfly Discovery, a tenth of $1.50) | $0.15 per 1,000 |
| Premium-proxy share where $1.50 beats ScrapingBee (on Freelance if every page needs JavaScript; 4.6% on Hobby, 51% on Startup) | about 13% |
Prices read on 2 October 2026 from the ScrapingBee, ZenRows, ScraperAPI, Scrapfly, Zyte, Oxylabs, Bright Data and Apify pricing pages, their documentation and Apify's public Actor API; the last two rows are our arithmetic.
Price per 1,000 pages on eight scraping APIs
Credit-API figures assume you use the whole monthly allowance; plans are those nearest $50 a month, billed monthly.
| API and plan | Plain HTML | JavaScript on | Premium proxy and JavaScript |
|---|---|---|---|
| Scrapfly Discovery, $30 a month, 200,000 credits | $0.15 | $0.90 | $4.50 (residential) |
| ScrapingBee Freelance, $49 a month, 250,000 credits | $0.196 | $0.98 | $4.90 |
| ZenRows Launch, $69 a month, 250,000 credits | $0.276 | $1.38 | $6.90 |
| ScraperAPI Hobby, $49 a month, 100,000 credits | $0.49 | $4.90 | $12.25 |
| Oxylabs Web Scraper API Micro, $49 a month | $1.15 (Amazon $0.50) | $1.35 | $1.35 (one JavaScript rate) |
| Zyte API, pay as you go | $0.13 to $1.27 | $1.01 to $16.08 | set by the site's tier |
| Bright Data Unlocker API, pay as you go | $1.50 | $1.50 | $1.50 (card rate; per-domain pricing unverified) |
| Apify Web Fetch, Starter plan, plus Actor Start charges | $1.50 | $1.50 | $1.50 (no proxy or country setting) |
ZenRows' page opens on annual billing ($58 a month for Launch). Scrapfly's pricing page lists browser rendering at 5 credits and its billing documentation at 6 on datacenter proxies, the figure used here ($0.75 on the pricing page's reading).

Why credits are not requests
Credit-based APIs charge more than one credit for harder pages, so a plan's headline allowance counts plain pages.
- ScrapingBee turns JavaScript rendering on by default at 5 credits, so its $49 plan's 250,000 credits buy 50,000 pages at default settings. Premium proxies cost 10 credits without JavaScript and 25 with it, stealth proxies with JavaScript 75, and AI extraction adds 5. Its Auto-Mode charges only for the configuration that worked.
- ZenRows uses the same 1, 5, 10 and 25 ladder and says so: 250,000 credits run "about 250K standard pages, 50K with JavaScript, or 10K hard-protected".
- ScraperAPI's credit table lists render=true at 10 credits a request, twice ScrapingBee's and ZenRows' 5, premium proxies with rendering at 25 and ultra_premium with rendering at 75 (paid plans only). Some domains cost more on their own: Amazon 5, Google and Bing 25, LinkedIn 30, and a site behind Cloudflare, DataDome, PerimeterX or Akamai adds 10. The credit table we read does not say how a domain cost combines with render=true, so check the sa-credit-cost header on a test request.
- Scrapfly charges 1 credit on datacenter proxies and 25 on residential ones, "25x more expensive" in its own words, plus 5 for a browser, and its Unblocker may move a request to a dearer proxy pool, which can raise the final cost.
So the same $49 on ScrapingBee buys anywhere from 250,000 plain pages to 3,333 stealth-proxy pages. If those pages feed a lead list, see our guide to what a lead scraper really costs for how blocked requests change the bill.
Flat card rates: Bright Data, Apify and Oxylabs
Three vendors here price a successful request or result at a fixed card rate instead of a credit ladder.
Bright Data Unlocker API. A free tier of 5,000 requests a month with no card, then $1.50 per 1,000 on pay as you go, billed only for successful requests. The Scale plan is $499 a month for 383,000 requests ($1.30 per 1,000 after that), $999 for 908,000 ($1.10) or $1,999 for 2 million ($1.00), and the plan list includes browser rendering and CAPTCHA solving at that rate. The "starts from $1" on Bright Data's menu matches the $1,999 tier. Two things we could not confirm: whether some domains bill above the card rate (Bright Data's documentation site would not load for us) and how Bright Data defines a successful request. It is not built to be driven like a browser; Bright Data sells a separate Scraping Browser for that. Try the Unlocker API on 5,000 free requests a month.
Apify Web Fetch. Apify's Web Fetch returns a page as Markdown, HTML, text or links for $1.50 per 1,000 successful fetches on the Free and Starter plans, $1.25 on Scale and $1.00 on Business (the "from $1.00" on its store page is that $999-a-month plan's rate), plus an Actor Start charge of $0.00005 per run for each GB of memory. It renders JavaScript automatically and does not charge failed fetches, but a 404 page it converts to Markdown counts as a fetch. Its input table lists only the URL, output formats, an unwrap switch and custom headers, with no country, wait-for or click options, and the claim that it gets past bot protection is Apify's.
Oxylabs Web Scraper API. The Micro plan is $49 billed monthly and charges per 1,000 successful results: Amazon $0.50, Google $1.00, other sites $1.15, and $1.35 with JavaScript. Its "up to 98,000 results" is the Amazon figure; on other sites $49 buys about 42,600 results, or about 36,300 with JavaScript, by our arithmetic; its FAQ also notes that the Headless Browser raises billing costs. Rates fall on bigger plans, down to $0.70 for other sites and $0.95 with JavaScript on the $2,000-a-month Corporate plan.
When $1.50 per 1,000 pages beats a credit plan
Take ScrapingBee's $49 plan and assume every page needs JavaScript and the flat-rate vendor succeeds at its card rate. A default JavaScript page costs $0.98 per 1,000 and a premium-proxy JavaScript page $4.90, so a flat $1.50 becomes cheaper once about 13% of pages need premium proxies, or about 4% need stealth proxies at $14.70. The share moves with plan size: on ScrapingBee's $19 Hobby plan it is about 4.6% (1.3% for stealth), and on its $99 Startup plan about 51% (14.5%). Against ZenRows Launch it is about 2%, and against ScraperAPI's $49 Hobby plan ($4.90) $1.50 is cheaper for every JavaScript page.
Now the numbers that cut against our affiliates. For JavaScript pages on standard proxies, Scrapfly Discovery ($0.90), ScrapingBee Freelance ($0.98), Oxylabs Micro ($1.35) and ZenRows Launch ($1.38) all undercut $1.50, as do ScraperAPI's bigger plans ($1.49 on the $149 Startup plan, about $1.00 on the $299 Business plan) and Zyte's lowest tier ($1.01). For plain HTML, $1.50 is ten times Scrapfly Discovery's $0.15 and about 7.7 times ScrapingBee Freelance's $0.196. Test your own URLs to learn what share of them needs premium proxies.
Zyte prices by website tier and rendering
Zyte prices websites in five tiers, with datacenter and residential proxies and rendering included in one API. On pay as you go, an HTTP response costs $0.13 to $1.27 per 1,000 and a browser-rendered one $1.01 to $16.08, a 124-fold spread between the cheapest and dearest cell. Monthly commitments of $100, $200 and $500 lower every rate, and its "from $0.06 per 1,000 successful responses" headline is the lowest unrendered rate in the $500-a-month row. You look up a given site's price in Zyte's cost calculator. Usage above a commitment is billed at the same discounted rate, not a penalty rate, and Zyte notes that "some advanced features may incur additional usage-based costs".
What each API bills as a successful request
All eight say you pay for successes, and each defines success differently.
| API | Billed | Not billed |
|---|---|---|
| ScrapingBee | 200, plus the target's 404, 410 and 413 | An anti-bot 403 and other errors (returned as 500), 429 |
| ZenRows | Successful requests; 404 and 410 count as results | Failed requests |
| ScraperAPI | 200 and 404, plus requests you cancel before 70 seconds | Other failures |
| Scrapfly | Successes, plus failures with codes it lists as excluded from protection (404, 410 and 20 other 4xx) | Other failures, unless more than 30% of failed traffic with eligible status codes is detected within a minimum one-hour period |
| Oxylabs | Attempts that return a 2xx or 4xx status | 5xx and 6xx errors from its own system |
| Zyte | "Successful responses" (not defined on the pricing page) | Not stated on the pricing page |
| Bright Data | "Pay only for success" (not defined on the pricing page) | Unsuccessful requests |
| Apify Web Fetch | Any fetch that returns content, whatever the target's status code, including a converted 404 page | Errors: invalid URL, unreachable or blocking site, page too slow or too large |
Scrapfly's pricing page and billing documentation disagree. The pricing page says "Failed request $0, never charged on error" and "upstream 4xx/5xx and failed scrapes are free", while the billing documentation lists 404, 410 and 20 other 4xx codes as excluded from that protection and switches it off if more than 30% of failed traffic with eligible status codes is detected within a minimum one-hour period. Oxylabs' FAQ does not say whether a target's block page counts as a billable 4xx, and Apify's README does not say whether a block page it converts is billed. We read only pricing pages for ZenRows, Zyte and Oxylabs, and Bright Data's documentation would not load.
Free tiers, and which API fits which job
Every vendor here has a free tier or trial, listed in the FAQ below, so test on your own URLs before paying.
- Mostly plain pages, or JavaScript pages on sites that do not fight back: Scrapfly or ScrapingBee, the cheapest per page on plans nearest $50 a month.
- A mix where some pages need premium proxies: run 200 of your real URLs through ScrapingBee's Auto-Mode or ScraperAPI's cost endpoint, note the credits each used, and compare the blended rate with the flat rates: $1.35 at Oxylabs, $1.50 at Bright Data and Apify.
- Protected targets at volume, with no time to manage proxy tiers: a flat rate. Oxylabs lists $1.35 per 1,000 JavaScript results on its $49 plan, Bright Data's Unlocker API $1.50 per 1,000 (per-domain pricing unverified), and Apify Web Fetch $1.50 plus Actor Start charges, the one built to hand Markdown to a language model. We did not test any vendor's success rate.
- Amazon-heavy work: Oxylabs charges $0.50 per 1,000 Amazon results on its $49 plan; ScraperAPI's 5-credit Amazon rate works out to $2.45 on its $49 plan.
Check the legal side first in our guide to whether web scraping is legal. If the pages you scrape become a lead list, the sending side needs its own email infrastructure before the first campaign, and our lead generation team can build the pipeline from scrape to booked meeting. To test before you commit, open a free Bright Data account and send your own URLs.
Frequently Asked Questions
On the credit APIs' plans nearest $50 a month, a plain HTML page costs $0.15 (Scrapfly) to $0.49 (ScraperAPI) per 1,000, a JavaScript page $0.90 to $4.90, and a page that needs premium proxies plus JavaScript $4.50 to $12.25. Bright Data's Unlocker API and Apify's Web Fetch list $1.50 per 1,000 successful requests with or without JavaScript (Apify adds small Actor Start charges, and whether Bright Data bills some domains higher is unverified), Oxylabs charges $1.15 for general sites or $1.35 with JavaScript on its $49 plan, and Zyte ranges from $0.13 to $16.08 depending on the site's tier and rendering. Prices read on 2 October 2026.
Credit-based APIs charge more than one credit for harder pages. ScrapingBee charges 5 credits for JavaScript rendering, which is on by default, 25 for premium proxies with JavaScript and 75 for stealth proxies with JavaScript. ScraperAPI charges 10 for render=true, 25 for Google or Bing, 30 for LinkedIn and adds 10 for sites behind bot protection. A plan's headline credit count is the number of plain pages it buys.
For plain HTML, Scrapfly ($0.15 per 1,000 on its $30 plan, $0.10 on its $100 plan) and ScrapingBee ($0.196 on its $49 plan); Zyte starts at $0.13 on its cheapest site tier. For JavaScript pages on standard proxies, Scrapfly ($0.90) and ScrapingBee ($0.98). When enough pages need premium proxies, the flat rates of Oxylabs ($1.35 with JavaScript), Bright Data and Apify Web Fetch ($1.50) can come out cheaper: if every page needs JavaScript, the crossover on ScrapingBee's $49 plan is about 13% of pages on premium proxies (4.6% on its $19 plan, 51% on its $99 plan).
All eight say they bill successes, but they define success differently. ScrapingBee, ZenRows, ScraperAPI and Apify Web Fetch bill a 404 page, and Scrapfly lists 404 as excluded from its failure protection. Oxylabs counts every attempt that returns a 2xx or 4xx status as successful; its FAQ does not say whether a target's block page counts. ScraperAPI also bills requests you cancel before 70 seconds, and Scrapfly switches its protection off if more than 30% of failed traffic with eligible status codes is detected within a minimum one-hour period.
It can be for pages that need premium proxies, which cost $4.50 to $12.25 per 1,000 on the credit plans we priced, though Oxylabs' $49 plan lists $1.35 per 1,000 JavaScript results. For plain HTML it is the expensive option, ten times Scrapfly's $0.15. Test it on the 5,000 free requests a month first, and ask Bright Data whether your target domains bill at the card rate and how it defines a successful request; we could verify neither.
ZenRows gives 5,000 credits a month, Bright Data 5,000 Unlocker requests a month and Apify $5 of usage on its Free plan. ScraperAPI has 1,000 free credits or a 7-day trial with 5,000, ScrapingBee and Scrapfly give 1,000 credits, Oxylabs offers a trial of up to 2,000 results and Zyte $5 of credit for 30 days.