Playground Sign in Start free
Pricing guide

Scraping APIs that do not charge for failed requests

What "only pay for successful requests" means at each vendor, status code by status code, with the failure mix of 1.67 million real requests and what it cost.

Short answerUpdated

Most scraping APIs no longer bill blocked or timed-out requests, but they differ on the edges: Ujeebu, ScraperAPI, ScrapingBee, ZenRows and Zyte bill a 404 Not Found because the target answered, Scrape.do also bills 400, and ScrapeBadger is one of the few that does not bill empty responses. On Ujeebu, HTTP 200 and 404 use credits; timeouts, blocks, captcha pages, rate limits and 5xx errors cost 0, and every response carries an Ujb-Credits header with what that call cost. Between October 9 and October 31, 2026, 237,392 of our customers' 1,666,360 scrape and extraction requests failed (14.2%), and none of them used a credit.

Disclosure: Ujeebu publishes this page and sells one of the APIs on it. Competitor rules quote their own documentation, linked below.

The rule

Which responses does Ujeebu bill?

A request uses credits when the target answered with a page you can use, or told you the page does not exist. Everything else is free.

Ujeebu billing by outcome (all APIs)
OutcomeBilledWhy
HTTP 200 with the pageYes, the endpoint's creditsThe job was done.
HTTP 404 Not Found from the targetYesThe target answered; knowing a page is gone is a result (the same rule as ScraperAPI, ScrapingBee, ZenRows and Zyte).
Google answered with no results (SERP API)Yes, 5 creditsAn empty result set is a valid answer, as at SerpApi.
Timeout (our 408, or the page never loaded)NoNothing usable came back.
Blocked by the target (403, challenge page, captcha page)NoReturned as an error, free.
Rate limited by Ujeebu (429)NoYou sent more than your plan's concurrency.
Ujeebu or gateway error (5xx)NoOur side failed.
Retry of a failed requestOnly the attempt that succeedsFailed attempts cost 0, so a retry loop pays once.

Two settings change the price of a successful request, not the free failures: premium proxies and JavaScript rendering (listed per endpoint on /pricing), and auto_captcha_solve on the Scrape API, which adds 5 credits to every billed request when it is on, whether or not a captcha appeared (measured October 13, 2026). Markdown conversions cost 10 credits with or without it (measured November 1, 2026).

Real traffic

How many scraping requests fail, and what that would cost

Method: our usage rollups count every customer request by endpoint and outcome per day (staff and internal accounts excluded). These are the scrape and extraction requests from October 9 to October 31, 2026, the first full window of the outcome rollup.

Ujeebu customer requests by outcome, Scrape and Extract APIs, October 9 to 31, 2026
OutcomeRequestsShareCredits used
Successful (billed)1,428,96885.8%The endpoint's rate
Timed out (page did not load in time)145,9658.8%0
Target error or blocked, returned as 400 (for example "Invalid status code from URL: 403")73,9694.4%0
Blocked with 4038,8330.5%0
Rate limited (429, over the plan's concurrency)4,1570.2%0
Client closed the connection (499)3,0910.2%0
Server error (5xx)1,3620.1%0
Other150.0%0
All failures237,39214.2%0

Source: Ujeebu api_proxy_daily rollup, read November 1, 2026. Cross-check on the SERP API, from the api_site_daily rollup for October 8 to 31: 270,419 customer searches, 208,614 successful, 1,043,075 credits billed, which is 5 credits per successful search to within a single search; the 61,805 failed searches added nothing. At the Starter plan rate of $0.163 per 1,000 credits, the 237,392 failed scrape and extraction requests would have cost at least $39 at 1 credit each, and $194 at the 5-credit JavaScript rate, had they been billed.

Side by side

Which scraping APIs charge for failed requests? Rules from their docs

Billing of non-200 outcomes, from each vendor's documentation, read November 1, 2026
APIBilledNot billedFine print
Ujeebu200, 404Timeouts, blocks, captcha pages, 429, 5xxEmpty Google results are billed; Ujb-Credits header on every response
ScraperAPI200, 404Failures after its 70 seconds of retriesA request you cancel before 70 seconds is billed
ScrapingBee200, 404, 410Everything else
ZenRows200, 404, 410Failed and retried requests404 and 410 "count as successful"
Scrapfly200 and a list of client errors (400, 401, 404, 410, 422 and others)Other failed scrapes (Scrape Failed Protection)Protection is switched off if 30% or more of your scrapes are blocked over 24 hours (minimum 1,000) without its Unblocker
Zyte APISuccessful responses, including a target 404Bans (520), rate limits (429, 503)
Scrape.do2xx, 400, 404, 410Timeouts, blocks, other errors
Bright Data SERP APISuccessful responsesFailures; retries are freeIn a zone with custom headers or cookies, every request is billed
ScrapeBadgerSuccessful requestsBlocks, timeouts, errors and empty responses
ScrappeyValid responses from the targetChallenge pages, CAPTCHA, WAF pages, connection errors, timeouts
SerpApiSuccessful searches, including empty result setsErrored, failed and cached searches

Quoted rules link to the documentation pages under Sources. Geonode also states that failed extractions are not charged; it does not list status codes.

Fine print

Where "you only pay for successful requests" still costs you

  • 404 and 410 pages. Most APIs bill them, because the target did answer. If you crawl old URL lists, a dead link costs as much as a live page. Check the list with plain requests first (1 credit each) before you send rendered ones (5 credits).
  • Empty results. A Google search with no results comes back as HTTP 200 and is billed at Ujeebu and SerpApi. Across 1,059 of our own Maps probes between October 10 and November 1, 2026, 20 came back empty and each was billed 5 credits.
  • Cancelled requests. ScraperAPI bills a request you cancel before its 70-second retry window ends. Ujeebu does not bill a request your client closes (499); 3,091 such requests in October cost nothing.
  • Cost multipliers on success. A free failure does not help if the successful request costs 25 credits. ScraperAPI bills 25 credits for a Google request and 30 for LinkedIn; Ujeebu bills 5 for a Google search and 25 only for a premium proxy with rendering.
  • Fairness clauses. Scrapfly bills failed scrapes once 30% or more of your traffic is blocked for a day without its Unblocker. Read the clause before you point a cheap plan at a hard site.
How to

How to avoid paying for failed scraping requests

  1. Read the cost of every call. Ujeebu returns an Ujb-Credits header on each response; log it next to the status code and you can reconcile your bill per request. A failed call carries no credit charge.
  2. Retry failures, not successes. Because a failed attempt is free, a retry with backoff on 408, 429 and 5xx costs nothing until it works. Do not retry 404: it is billed every time.
  3. Start cheap and step up. Send a plain request first (1 credit) and switch on JavaScript (5) or a premium proxy only for the sites that need it. Our site guides list the setting that works for each popular site.
  4. Keep the captcha solver off unless you need it. On the Scrape API it adds 5 credits to every billed request when it is on.
  5. Stay under your concurrency. 4,157 customer requests in October hit our rate limit; they were free, but they were also lost work.

Prices per endpoint are on the pricing page; one-time packs without a plan are on pay as you go.

FAQ

Frequently asked questions

Which scraping API does not charge for failed requests?

Most of them now, with different edges. Ujeebu, ScraperAPI, ScrapingBee, ZenRows, Zyte, Scrapfly, Scrape.do, Bright Data, ScrapeBadger and Scrappey all leave blocks and timeouts unbilled. Ujeebu, ScraperAPI, ScrapingBee, ZenRows and Zyte bill a 404; Scrape.do also bills 400; ScrapeBadger also leaves empty responses unbilled.

Does Ujeebu charge for failed requests?

No. HTTP 200 and 404 use credits; timeouts, blocks, captcha pages, rate limits (429) and 5xx errors cost 0. From October 9 to 31, 2026, 237,392 failed customer scrape and extraction requests used no credits.

Is a 404 response billed by scraping APIs?

Usually yes: Ujeebu, ScraperAPI, ScrapingBee, ZenRows, Zyte, Scrapfly and Scrape.do treat a 404 Not Found from the target as a completed request and bill it.

How do I check what a scraping request cost?

On Ujeebu, read the Ujb-Credits response header: it holds the credits that call used, and it is 0 or absent on a failed call. Log it with the status code to reconcile your usage.

Are retries free?

A failed attempt costs nothing on Ujeebu, so retrying a timeout, 429 or 5xx is free until one attempt succeeds, and that attempt is billed once. Retrying a 404 is billed each time.

What share of scraping requests fail?

Across our customers' 1,666,360 scrape and extraction requests from October 9 to 31, 2026, 14.2% failed: 8.8% timeouts, 4.4% target errors or blocks returned as 400, 0.5% 403 blocks, 0.2% rate limits, 0.2% closed by the client and 0.1% server errors.
Sources

Ujeebu figures come from our usage rollups and our own calls; competitor rules come from each vendor's documentation, checked on . Prices change; check the vendor page before you buy.

  1. ScraperAPI credits and request costs
  2. ScrapingBee FAQ
  3. ZenRows pricing docs
  4. Scrapfly billing docs
  5. Zyte API pricing docs
  6. Zyte API errors
  7. Scrape.do request costs
  8. Bright Data SERP API billing
  9. ScrapeBadger pricing
  10. Scrappey pay per success
  11. Geonode Scraper API
  12. SerpApi pricing
  13. Ujeebu pricing
Related comparisons and guides

Ujeebu publishes this page and sells one of the products on it. We do our best to keep it accurate and fair; if you see an error or a price that changed, please let us know.

Test it on your own targets

Benchmarks and price tables only go so far. Run your real URLs through two or three of these APIs during their free trials and compare success rate and cost per successful page.

Try Ujeebu free All comparisons