Home / Cheapest
Can we name the cheapest scraping API?
For 100,000 JavaScript-rendered pages a month at a 95% success rate, HasData at $99.00 is the definitive cheapest published bill. Change the job and the answer changes.
The cheapest bill
The criterion, stated
Successes you want
100,000 pages
Your stated workload. Every vendor on this site is priced against this same number.
- × 1
Attempts you are billed for
100,000 requests
HasData does not bill failed fetches, so failures cost nothing here.
- × 10
What the meter counts
1,000,000 credits
One attempt is not one billed unit here: this workload multiplies by 10 before any money is involved.
- =
Cash per month
$99.00 /mo
Business. Cheapest of every eligible purchase option, not the first plan that fits.
Bars share one linear scale across the 3 counted stages, so a multiplier shows as length. Units differ by stage and are labelled. Cash is not on that scale.
A cheapest claim is only as honest as its lower bounds. If any rechecked product publishes a floor beneath the leading exact bill without publishing a total, no definitive winner can be named, and this page says so instead of picking one.
Lowest assumption-free exact bills
| # | Product | Monthly bill | Per 1,000 pages | Offer |
|---|---|---|---|---|
| 1 | HasData | $99.00 | $0.99 | Business |
| 2 | Olostep | $99.00 | $0.99 | Standard |
| 3 | Scrape.do | $99.00 | $0.99 | Pro |
| 4 | ScrapeOwl | $99.00 | $0.99 | Startup |
| 5 | WebScraping.AI | $99.00 | $0.99 | Plus |
“Cheapest” is not a fact about a scraping API vendor; it is a result for a workload. Even “cheapest among eligible offers for this stated workload and billing term” is valid only when no applicable product has a lower bound below the lowest exact bill. This page therefore shows the lowest exact bills and every lower bound that can prevent a winner.
What the default ranking means
The default workload is 100,000 JavaScript-rendered page requests in one month. It uses a generic web page rather than a named target, compares current self-service monthly or pay-as-you-go offers, and does not request a premium or residential route, screenshot, AI extraction, browser session, search result, storage, or data-transfer add-on. A page request is the input to the calculation, not a promise that the response contains a useful record.
That narrow definition is intentional. ScraperAPI, for example, publishes different credit costs for a basic request, JavaScript rendering, premium routing, and named targets such as Amazon, Google, and LinkedIn. Changing one of those inputs can change the required credits before the engine even selects a plan (credit rules, retrieved 2026-07-26). Bright Data Web Unlocker takes a different shape: its public offer says JavaScript rendering and residential routing are included, and its billing documentation says failed deliveries are not charged (pricing and billing documentation, retrieved 2026-07-26). Neither shape is universally cheaper. The workload decides which published rule matters.
The default also does not assign any vendor a success rate. If a reader changes an attempt or usable-output assumption, that input is a planning scenario, not a benchmark. Firecrawl’s published rules show why the distinction matters: target-side error responses can be billable, credits do not generally roll over, and the public plans do not provide a fixed overage rate (pricing, retrieved 2026-07-25). A workload near an allowance boundary can therefore select a different offer when the required billable attempts change, without saying anything about Firecrawl’s actual reliability.
Which offer shapes win
For a small, intermittent job, a recurring free allowance or a pay-as-you-go offer can rank ahead of a subscription because there is no need to buy a larger monthly bundle. Near a plan allowance, a subscription can move ahead because the included capacity is already paid for. At higher volume, published overage, a larger plan, or a quote-only contract can change the order again.
Rendering, target class, and routing can reorder vendors whose basic request looks similar. A required concurrency level can remove an entry plan before price is considered. Annual billing can also produce a different order from monthly billing, so a monthly winner is not an annual winner by implication.
Some jobs cannot be ranked from URL count. Cloudflare Browser Rendering meters browser time and concurrent browser capacity, so page duration is required before a browser workload has a determinate bill (pricing, retrieved 2026-07-25). Apify can combine compute, storage, transfer, proxy use, and Actor-specific charges, so a generic page count does not determine a platform-wide invoice (pricing, retrieved 2026-07-26). Those products may be suitable; they simply do not belong in a request-priced winner claim without the missing workload inputs.
What is excluded from the claim
Products that cannot return the required output or meet a stated constraint are not ranked. This is eligibility, not a judgment that the product is bad or expensive.
A published rate with an unknown minimum, tier, billing unit, or additive meter is shown only as a lower bound. Lower bounds remain visible because they are useful questions for a vendor, but they are excluded from every cheapest claim. A computed bill that treats an unpublished modifier as included is also visible as an assumption-backed answer. It is an answer to “what follows if this assumption is true,” not evidence that the vendor actually bills that way.
The ranking cannot establish output equivalence, legal permission to collect a target, data quality, success rate, speed, or reliability. This site runs no benchmarks. It can compare published billing rules for a stated job and expose where the order changes. Before buying, rerun the calculation with the real target, required output, rendering mode, routing, expected billable attempts, concurrency, volume, and contract term.