HasData
HasData is the provider this whole site exists to expose. Its pricing page advertises the Web Scraping API at $0.10 per 1,000 requests on the $99 plan, and that number is true only for the cheapest possible fetch: no JavaScript, datacenter proxy. The real table is in the docs, and it is steep. A rendered page is 10 credits, so $1.00 per 1,000. The residential or "stealth" pool is 5, so $0.50. Both together are 15, so $1.50 per 1,000, fifteen times the headline. The JS multiplier being twice the residential one is unusual and matters, because a browser is the thing most people need. Against that, three things are genuinely good: failed requests are free and HasData says so twice in its own words, Markdown comes out of the same 1-credit request as HTML with no LLM surcharge, and the same credit balance works across every API it sells. The catch beyond the multipliers is the floor and the clock: the cheapest paid plan is $49 for 200,000 credits, which is only 20,000 rendered pages, credits expire at the end of every billing period on every self-serve plan, and there is no pay-as-you-go and no published overage rate, so going over means upgrading. Annual billing is offered as "2 months free" rather than a percentage, so annualDiscountPct is left blank rather than converted. No proxy port and no published uptime SLA.
Plain page, by volume
| Pages per month | Monthly bill | Per 1,000 | Cheapest route | Allowance unused |
|---|---|---|---|---|
| 1k | $49.00 | $49.00 | Startup | 199,000 units |
| 10k | $49.00 | $4.90 | Startup | 190,000 units |
| 100k | $49.00 | $0.490 | Startup | 100,000 units |
| 1M | $99.00 | $0.099 | Basic | - |
How HasData compares
At 10,000 pages a month HasData costs $4.90 per 1,000, 37.7x the cheapest published route and 7.0x AnyAPI.
| Provider | 1k a month | 10k a month | 100k a month | 1M a month |
|---|---|---|---|---|
| Z | $0.130 | $0.130 | $0.130 | $0.100 |
| A | $0.700 | $0.700 | $0.700 | $0.700 |
| F | $19.00 | $4.40 | $0.990 | $0.749 |
| H | $49.00 | $4.90 | $0.490 | $0.099 |
| O | $49.00 | $4.90 | $1.10 | $0.850 |
List prices, dollars per 1,000 Plain pages at the cheapest published route to each volume. How this is worked out
Every published plan
| Plan | Price | Included credits | Overage each | Note |
|---|---|---|---|---|
| Free | $0 per month | 1,000 | hard cap | 1,000 credits a month, 1 concurrent request, no credit card. No overage rate is published for the free plan. |
| Startup | $49.00 per month | 200,000 | hard cap | 200,000 credits and 5 concurrent requests. The pricing page prints the Web Scraping API at $0.25 per 1,000 requests on this plan, which is the 1-credit plain fetch; the same page through the residential pool is five of those credits and a rendered page is ten. No per-credit overage rate is published on the current pricing page. |
| Basic | $99.00 per month | 1,000,000 | hard cap | 1,000,000 credits and 15 concurrent requests. Web Scraping API listed at $0.10 per 1,000 requests, which is $99 per million credits. |
| Growth | $208 per month | 3,000,000 | hard cap | 3,000,000 credits and 50 concurrent requests. Web Scraping API listed at $0.07 per 1,000 requests. |
| Enterprise | on request | - | not published | "Custom", 20M+ credits and 2000+ concurrency, and the only plan whose feature list includes credit rollover. No list price. |
This is the cleanest published multiplier table in the set, and it is in the docs rather than on the pricing page. The Web Scraping API cost per request is set by jsRendering and proxyType together: false + datacenter is 1 credit, false + residential is 5, true + datacenter is 10, true + residential is 15. So the browser costs ten times a plain fetch, which is the steepest JS multiplier here, and it is dearer than the residential pool rather than cheaper. HasData sells one hard tier, not two: the docs page calls the parameter value residential, while the pricing doc labels the same line "stealth proxy" and prices it identically ($0.42 CPM against $0.08 for the basic proxy), so antibot carries the same 5 as residential rather than a separate number. Markdown is 1 because outputFormat is a format, not a mode: html, text, markdown and json all come back from the same request at the same price, and neither extractRules nor the LLM-based aiExtractRules is priced separately anywhere in the docs. The two multipliers stack, so a rendered page behind a bot wall is 15 credits, fifteen times the headline rate.
Cost by kind of fetch
Per 1,000, at 10,000 pages a month.
What it can do
Only what the provider's own pages state.
Where these numbers came from
- https://hasdata.com/pricing read 2026-09-14 / plan table Free $0/mo / Startup $49/mo / Basic $99/mo / Growth $208/mo / Enterprise custom with monthly credits (1,000; 200,000; 1,000,000; 3,000,000; 20M+) and max concurrency (1, 5, 15, 50, 2000+); the per-API per-1,000-request rate table showing Web Scraping API at $0.00, $0.25, $0.10 and $0.07 labelled "Minimum price. Actual cost depends on options like proxy type, JS rendering, AI extraction, and other features"; the footnote "Credits per call depend on the tool: 1 for a plain page fetch, 5 or 10 for the named APIs, up to 15 with JavaScript rendering and residential proxies"; "The free plan gives 1,000 credits every month with access to every tool. No credit card required"; a "Billed annually" toggle offering "2 months free"; "Credits rollover" listed only in the Enterprise column; and the FAQ line "If your scraping request fails, the credits used are automatically refunded"
- https://docs.hasdata.com/apis/web-scraping-api/request-cost read 2026-09-14 / the multiplier table itself: jsRendering false + datacenter = 1 credit, false + residential = 5, true + datacenter = 10, true + residential = 15; "Credits are deducted only for successful requests"; "Unused credits do not roll over. Any remaining credits expire at the end of the current billing period"; credits are shared across every HasData API
- https://docs.hasdata.com/basics/pricing read 2026-09-14 / the same four Web Scraping API rows labelled by proxy name rather than parameter: "no js rendering / basic proxy" $0.08 CPM at 1 credit, "no js rendering / stealth proxy" $0.42 at 5, "js rendering / basic proxy" $0.83 at 10, "js rendering / stealth proxy" $1.25 at 15; plus the credit cost of every other API and scraper job
- https://docs.hasdata.com/credits-and-concurrency read 2026-09-14 / "Only successful requests consume credits. Failed or invalid requests will not result in a charge", repeated in the FAQ as "Do I pay for failed requests? No. You're only charged for successful requests." Free accounts are limited to 1 concurrent request. The hard cap is stated in the same FAQ: "What happens if I run out of credits? Your scraper jobs will be stopped ... You also won't be able to make any new requests"
- https://docs.hasdata.com/apis/web-scraping-api/api-params read 2026-09-14 / parameters: proxyType (datacenter or residential, "Required if you're targeting geo-restricted or bot-protected content"), proxyCountry as an ISO country code, jsRendering, jsScenario, extractRules, aiExtractRules, screenshot, wait and waitFor. None carries its own price
- https://docs.hasdata.com/apis/web-scraping-api/features/output-formats read 2026-09-14 / outputFormat accepts html, text, markdown and json in one request, with markdown described as "converted Markdown output (good for LLMs and readability)", at no stated extra cost
Something out of date? Send the provider's own page to hello@scrapeprices.com and it is corrected on the next capture.