Cost estimate
- 100,000 pages/mo
- 0% JS
- low anti-bot
- any country
- 10 concurrent
Pricing checked Sep 26, 2026 · engine 0.1.0 · cheapest plan that fits, per provider
Compare the three cheapest side by side →Managed scraping APIs
Proxies, retries and unblocking are handled for you; you pay per request or credit.
- Zyte · Zyte API
Per successful request · plan Pay as you go
$13expected / month$13 – $23 range · $0.13 per 1K pages
Sources:pricingWhy not the other plans
- enterprise — price not public
- commit-350 — no published rates for this plan
- ZenRows · Fetch (Universal Scraper API)
Credits · plan Build B3 (high case: Launch L1)
$39expected / month$39 – $69 range · $0.39 per 1K pages
Sources:docs-pricingWhy not the other plans
- enterprise — price not public
- build-b1 — needs 55,000 more credit than the plan allows
- ScraperAPI · ScraperAPI
Credits · plan Hobby (high case: Startup)
$49expected / month$49 – $149 range · $0.49 per 1K pages
Why not the other plans
- enterprise — price not public
- ScrapingBee · Web Scraping API
Credits · plan Freelance
$49expected / month$49 – $49 range · $0.49 per 1K pages
Why not the other plans
- hobby — needs 25,000 more credit than the plan allows
- Oxylabs · Web Scraper API
Per successful request · plan Starter
$110expected / month$110 – $110 range · $1.10 per 1K pages
Sources:wsa-pricingWhy not the other plans
- custom-plus — price not public
- Bright Data · Web Unlocker API
Per successful request · plan Pay as you go
$150expected / month$150 – $150 range · $1.50 per 1K pages
Sources:unlocker-pricingWhy not the other plans
- enterprise — price not public
- Oxylabs · Web Unblocker
Per GB of traffic · plan Micro
$282expected / month$282 – $282 range · $2.82 per 1K pages
Sources:wu-pricing
Self-managed infrastructure
You run the crawler and handle anti-bot yourself; costs depend more on assumptions.
- Apify · Apify Platform
Compute units · plan Starter
$19expected / month$19 – $42.55 range · $0.19 per 1K pages
Sources:pricingusage-docsWhy not the other plans
- enterprise — price not public
- free — needs 11 more usd than the plan allows
- Browserless · Browserless Cloud (BaaS, BrowserQL, REST APIs)
Browser time · plan Starter
$200expected / month$200 – $205 range · $2 per 1K pages
Sources:pricingpricing-bundleWhy not the other plans
- free — concurrency 2 < 10
- prototyping — concurrency 5 < 10
- enterprise — price not public
Estimates use list prices and exclude promotions and taxes. Prices change; the provider's checkout is authoritative. Links may earn ScrapeSelect a commission, which never affects the order.
JSON and API request
The same estimate from the API:
curl -X POST https://scrapeselect.com/api/v1/estimate \
-H 'content-type: application/json' \
-d '{"workload":{"successful_pages_per_month":100000,"javascript_ratio":0,"anti_bot_level":"low","target_country":null,"country_required":false,"peak_concurrency":10,"monthly_billing_only":false,"expected_success_rate":null,"average_page_size_kb":null,"average_browser_seconds":null}}'{
"workload": {
"successful_pages_per_month": 100000,
"javascript_ratio": "0",
"anti_bot_level": "low",
"target_country": null,
"country_required": false,
"domain_class": null,
"peak_concurrency": 10,
"monthly_billing_only": false,
"expected_success_rate": null,
"average_page_size_kb": null,
"average_browser_seconds": null
},
"assumptions": [
{
"key": "success_rate",
"label": "Success rate",
"value": "99% / 97% / 94%",
"origin": "default",
"note": "Low / expected / high scenario for low anti-bot targets. Only changes cost where failed attempts are billed."
},
{
"key": "protected_share",
"label": "Pages needing premium proxies",
"value": "0% / 0% / 10%",
"origin": "editorial",
"note": "Share of pages behind anti-bot protection for low targets."
},
{
"key": "difficulty_tier",
"label": "Website difficulty tier",
"value": "1 / 1 / 2",
"origin": "editorial",
"note": "Only used by providers that price by site tier (e.g. Zyte); their own estimator gives the real tier."
},
{
"key": "page_size_kb",
"label": "Average page size",
"value": "300 KB",
"origin": "default",
"note": "Drives cost for traffic-billed products and proxy traffic."
},
{
"key": "browser_traffic_multiplier",
"label": "Browser page traffic",
"value": "4x the HTML size",
"origin": "editorial",
"note": "Rendered pages also load scripts, styles and images."
},
{
"key": "browser_seconds",
"label": "Browser time per rendered page",
"value": "10 s",
"origin": "default",
"note": null
},
{
"key": "compute_units",
"label": "Compute per 1,000 pages",
"value": "0.8 CU (HTTP), 6 CU (browser)",
"origin": "public_observation",
"note": "From Apify's Website Content Crawler README (0.8 CU HTTP, 2-20 CU browser)."
}
],
"estimates": [
{
"provider": "zyte",
"provider_name": "Zyte",
"product": "zyte-api",
"product_name": "Zyte API",
"category": "scraping_api",
"billing_model": "per_successful_request",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "payg",
"plan_name": "Pay as you go",
"monthly_cost_usd": 13,
"cost_per_1k_pages_usd": 0.13
},
"expected": {
"plan_key": "payg",
"plan_name": "Pay as you go",
"monthly_cost_usd": 13,
"cost_per_1k_pages_usd": 0.13
},
"high": {
"plan_key": "payg",
"plan_name": "Pay as you go",
"monthly_cost_usd": 23,
"cost_per_1k_pages_usd": 0.23
},
"rejected_plans": {
"enterprise": "price not public",
"commit-350": "no published rates for this plan"
},
"sources": [
{
"key": "pricing",
"url": "https://www.zyte.com/pricing/",
"title": "Zyte API pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Websites are priced in five tiers, with datacenter, residential, rendering and more included in one automated API – you're charged only for what's needed.",
"1 Simple $0.13 · 2 Easy $0.23 · 3 Moderate $0.44 · 4 Complex $0.70 · 5 Advanced $1.27",
"Browser rendered: $1.01 … $2.01 … $4.02 … $8.04 … $16.08",
"Try Zyte API with $5 free credit",
"No overage penalties: If you exceed your minimum commitment, you're only charged at your current discounted rate—never an additional fee.",
"Add a website URL above to see prices for your specific site."
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "apify",
"provider_name": "Apify",
"product": "platform",
"product_name": "Apify Platform",
"category": "scraping_platform",
"billing_model": "compute_unit",
"architecture": "self_managed",
"feasible": true,
"low": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 19,
"cost_per_1k_pages_usd": 0.19
},
"expected": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 19,
"cost_per_1k_pages_usd": 0.19
},
"high": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 42.55,
"cost_per_1k_pages_usd": 0.4255
},
"rejected_plans": {
"enterprise": "price not public",
"free": "needs 11 more usd than the plan allows"
},
"sources": [
{
"key": "pricing",
"url": "https://apify.com/pricing",
"title": "Apify pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Starter $19 / month + pay as you go $19 to spend in Apify Store or on your own Actors $0.2 per compute unit",
"Compute units (CU) 1 GB of RAM/hour $0.2 / CU $0.2 / CU $0.16 / CU $0.13 / CU Custom Actor RAM 16 GB 64 GB 256 GB 512 GB Custom Max concurrent runs 5 32 128 256 Custom",
"Residential proxies $8 / GB $8 / GB $7.5 / GB $7 / GB Custom",
"Unblocker $1.5 / 1,000 requests $1.5 / 1,000 requests $1.25 / 1,000 requests $1 / 1,000 requests",
"Bill monthly -10% Bill annually",
"If you're a paying user, you can continue using the platform and will be charged for overage until you reach the usage limit configured in the billing. If you're on the free plan, you'll be blocked until the next billing cycle.",
"If you don't consume all your prepaid usage, it disappears at the end of the billing cycle."
],
"fact_type": "official_claim",
"freshness": "fresh"
},
{
"key": "usage-docs",
"url": "https://docs.apify.com/platform/actors/running/usage-and-resources",
"title": "Usage and resources",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"running an Actor with 1024MB of allocated memory for 1 hour will consume 1 CU",
"The minimum granularity is a second."
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "zenrows",
"provider_name": "ZenRows",
"product": "fetch",
"product_name": "Fetch (Universal Scraper API)",
"category": "scraping_api",
"billing_model": "credit",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "build-b3",
"plan_name": "Build B3",
"monthly_cost_usd": 39,
"cost_per_1k_pages_usd": 0.39
},
"expected": {
"plan_key": "build-b3",
"plan_name": "Build B3",
"monthly_cost_usd": 39,
"cost_per_1k_pages_usd": 0.39
},
"high": {
"plan_key": "launch-l1",
"plan_name": "Launch L1",
"monthly_cost_usd": 69,
"cost_per_1k_pages_usd": 0.69
},
"rejected_plans": {
"enterprise": "price not public",
"build-b1": "needs 55,000 more credit than the plan allows"
},
"sources": [
{
"key": "docs-pricing",
"url": "https://docs.zenrows.com/first-steps/pricing",
"title": "ZenRows pricing docs",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"These credit weights are fixed and never change … on every plan",
"JS Rendering + Premium Proxies (protected) | 25",
"Rollover = unused monthly plan credits carry into the next billing period, once",
"Does Zenrows offer Pay-As-You-Go plans? Not as a standalone option today",
"your full year's credit allowance up front, as a single balance you draw down anytime over the year",
"Residential Proxies, used standalone, meter at a flat 25,000 credits per GB"
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "scraperapi",
"provider_name": "ScraperAPI",
"product": "scraping-api",
"product_name": "ScraperAPI",
"category": "scraping_api",
"billing_model": "credit",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "hobby",
"plan_name": "Hobby",
"monthly_cost_usd": 49,
"cost_per_1k_pages_usd": 0.49
},
"expected": {
"plan_key": "hobby",
"plan_name": "Hobby",
"monthly_cost_usd": 49,
"cost_per_1k_pages_usd": 0.49
},
"high": {
"plan_key": "startup",
"plan_name": "Startup",
"monthly_cost_usd": 149,
"cost_per_1k_pages_usd": 1.49
},
"rejected_plans": {
"enterprise": "price not public"
},
"sources": [
{
"key": "credits",
"url": "https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs",
"title": "Credits and request costs",
"observed_at": "2026-09-25T06:10:05.286194Z",
"excerpts": [
"premium=true - 10 … render=true - 10 … scrensshot=true - 10 … ultra_premium=true - 30* … premium=true + render=true - 25 … ultra_premium=true + render=true - 75*",
"E-Commerce Amazon, Walmart, eBay 5 · SERP Google, Bing - (applies to all subdomains) 25 · Social Media LinkedIn 30",
"Cloudflare Bypass 10 … Datadome Bypass 10 … PerimeterX/Human Bypass 10",
"We only charge for successful requests (200 and 404 status codes) and for requests that have been cancelled from your side before giving us enough time to finish them (70 seconds)."
],
"fact_type": "official_claim",
"freshness": "recent"
},
{
"key": "pricing",
"url": "https://www.scraperapi.com/pricing/",
"title": "ScraperAPI pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Monthly / Yearly 10% off",
"Hobby … $49 /month $44.10 /month billed annually … 100,000 API Credits 20 Concurrent Threads Geotargeting: US & EU only",
"A standard page costs 1 credit. Amazon costs 5, Google and Bing (including their subdomains) cost 25, and LinkedIn costs 30. Sites behind bot protection like Cloudflare, Datadome, or PerimeterX add 10 credits per request when we bypass them.",
"Pay-As-You-Go is available on our Scaling, Professional, Advanced, and Enterprise plans.",
"you'll get a 429 response … There's no extra charge for going over",
"Start collecting data with our 7-day trial and 5,000 API credits. No credit card required."
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "scrapingbee",
"provider_name": "ScrapingBee",
"product": "web-scraping-api",
"product_name": "Web Scraping API",
"category": "scraping_api",
"billing_model": "credit",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "freelance",
"plan_name": "Freelance",
"monthly_cost_usd": 49,
"cost_per_1k_pages_usd": 0.49
},
"expected": {
"plan_key": "freelance",
"plan_name": "Freelance",
"monthly_cost_usd": 49,
"cost_per_1k_pages_usd": 0.49
},
"high": {
"plan_key": "freelance",
"plan_name": "Freelance",
"monthly_cost_usd": 49,
"cost_per_1k_pages_usd": 0.49
},
"rejected_plans": {
"hobby": "needs 25,000 more credit than the plan allows"
},
"sources": [
{
"key": "docs",
"url": "https://www.scrapingbee.com/documentation/",
"title": "ScrapingBee API documentation",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Classic Proxy without JavaScript rendering | 1",
"Classic Proxy with JavaScript rendering (default) | 5",
"Premium Proxy without JavaScript rendering | 10",
"Premium Proxy with JavaScript rendering | 25",
"Stealth Proxy without JavaScript rendering | (coming soon)",
"Stealth Proxy with JavaScript rendering | 75",
"If you use AI features (ai_query, ai_extract_rules), it will cost an additional 5 credits",
"same session_id will be routed through the same IP address for a duration of 5 minutes",
"Geolocation is available with both classic proxies and premium proxies, but each has its own list of supported countries",
"Screenshots are only available when using render_js=True",
"Billed? 200 Yes, 400 No, 401 No, 403 No, 404 Yes, 410 Yes, 413 Yes, 429 No, 500 No"
],
"fact_type": "official_claim",
"freshness": "fresh"
},
{
"key": "pricing",
"url": "https://www.scrapingbee.com/pricing/",
"title": "ScrapingBee pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Hobby $19/mo 75,000 25",
"Freelance $49/mo 250,000 50",
"Startup $99/mo 1,000,000 100",
"Business $249/mo 3,000,000 200",
"Business + $599/mo 8,000,000 400",
"All prices are exclusive of VAT.",
"Pay only for successful requests"
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "oxylabs",
"provider_name": "Oxylabs",
"product": "web-scraper-api",
"product_name": "Web Scraper API",
"category": "scraping_api",
"billing_model": "per_successful_request",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 110,
"cost_per_1k_pages_usd": 1.1
},
"expected": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 110,
"cost_per_1k_pages_usd": 1.1
},
"high": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 110,
"cost_per_1k_pages_usd": 1.1
},
"rejected_plans": {
"custom-plus": "price not public"
},
"sources": [
{
"key": "wsa-pricing",
"url": "https://oxylabs.io/products/scraper-api/web/pricing",
"title": "Web Scraper API pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Micro | Up to 98,000 results | Starts from $0.50 / 1K results | $49 billed monthly",
"Successful results without JS rendering: Amazon: $0.50/1K results | Google: $1.00/1K results | Other: $1.15/1K results | Successful results with JS: $1.35 / 1K results | Media Download: $3 / GB | Top up: up to $249 | Rate limit: 50 requests / s",
"Starter: $99 … Amazon $0.45 … Google $0.90 … Other $1.10 … JS $1.30 … $2.50 / GB … up to $499",
"Business: $999 … Up to 3,330,000 … $0.30 / $0.60 / $0.75 … JS $1.00 … $1 / GB … up to $499 … 100 requests / s",
"all scraping attempts that return 2xx or 4xx status codes are counted as successful"
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "bright-data",
"provider_name": "Bright Data",
"product": "web-unlocker",
"product_name": "Web Unlocker API",
"category": "web_unlocker",
"billing_model": "per_successful_request",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "payg",
"plan_name": "Pay as you go",
"monthly_cost_usd": 150,
"cost_per_1k_pages_usd": 1.5
},
"expected": {
"plan_key": "payg",
"plan_name": "Pay as you go",
"monthly_cost_usd": 150,
"cost_per_1k_pages_usd": 1.5
},
"high": {
"plan_key": "payg",
"plan_name": "Pay as you go",
"monthly_cost_usd": 150,
"cost_per_1k_pages_usd": 1.5
},
"rejected_plans": {
"enterprise": "price not public"
},
"sources": [
{
"key": "unlocker-pricing",
"url": "https://brightdata.com/pricing/web-unlocker",
"title": "Web Unlocker pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Free Tier | 5K requests per month | No credit card required",
"Pay as you go | $1.5 /1K requests | Pay only for success | Set monthly spend limits | Unlimited concurrency",
"Scale | $499 /month | Slide to adjust plan | 383K requests included | $1.3/1K additional requests | Cancel anytime",
"data-tiers: {\"price\":999,\"records\":\"908K\",\"rate\":1.1} {\"price\":1999,\"records\":\"2M\",\"rate\":1}"
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
},
{
"provider": "browserless",
"provider_name": "Browserless",
"product": "browser-cloud",
"product_name": "Browserless Cloud (BaaS, BrowserQL, REST APIs)",
"category": "browser_api",
"billing_model": "browser_time",
"architecture": "self_managed",
"feasible": true,
"low": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 200,
"cost_per_1k_pages_usd": 2
},
"expected": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 200,
"cost_per_1k_pages_usd": 2
},
"high": {
"plan_key": "starter",
"plan_name": "Starter",
"monthly_cost_usd": 205.06,
"cost_per_1k_pages_usd": 2.0506
},
"rejected_plans": {
"free": "concurrency 2 < 10",
"prototyping": "concurrency 5 < 10",
"enterprise": "price not public"
},
"sources": [
{
"key": "pricing",
"url": "https://www.browserless.io/pricing",
"title": "Browserless pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Prototyping $25 /month billed annually 10 max concurrent browsers + 5 … 20k units per month 15 min. max session time $0.0020 per unit overages",
"Starter $140 /month billed annually 40 max concurrent browsers + 10 … 180k units per month 30 min. max session time $0.0017 per unit overages",
"Scale $350 /month billed annually 100 max concurrent browsers + 20 … 500k units per month 60 min. max session time $0.0015 per unit overages",
"A 'Unit' is a block of browser time of up to 30 seconds per browser connection… Session-reconnects count as new browser connections and incur a fresh Unit charge.",
"6 Units per MB for Residential Proxy 2 Units per MB for Datacenter Proxy 10 Units per successful Captcha solve",
"Annual billing saves 30% and includes additional concurrency on the Prototyping, Starter, and Scale plans."
],
"fact_type": "official_claim",
"freshness": "fresh"
},
{
"key": "pricing-bundle",
"url": "https://www.browserless.io/_next/static/chunks/pages/pricing-7f2dc67704ee3259.js",
"title": "Browserless pricing page data (monthly toggle)",
"observed_at": "2026-09-25T06:10:05.286194Z",
"excerpts": [
"prototyping:{... calls:2e4, monthlyConcurrency:5, yearlyConcurrency:10, monthlyPrice:35, yearlyPrice:25 ...}",
"starter:{calls:18e4, monthlyConcurrency:30, yearlyConcurrency:40, monthlyPrice:200, yearlyPrice:140}",
"scale:{calls:5e5, monthlyConcurrency:80, yearlyConcurrency:100, monthlyPrice:500, yearlyPrice:350}"
],
"fact_type": "official_claim",
"freshness": "recent"
}
]
},
{
"provider": "oxylabs",
"provider_name": "Oxylabs",
"product": "web-unblocker",
"product_name": "Web Unblocker",
"category": "web_unlocker",
"billing_model": "bandwidth",
"architecture": "managed_api",
"feasible": true,
"low": {
"plan_key": "micro",
"plan_name": "Micro",
"monthly_cost_usd": 281.8,
"cost_per_1k_pages_usd": 2.818
},
"expected": {
"plan_key": "micro",
"plan_name": "Micro",
"monthly_cost_usd": 281.8,
"cost_per_1k_pages_usd": 2.818
},
"high": {
"plan_key": "micro",
"plan_name": "Micro",
"monthly_cost_usd": 281.8,
"cost_per_1k_pages_usd": 2.818
},
"rejected_plans": {},
"sources": [
{
"key": "wu-pricing",
"url": "https://oxylabs.io/products/web-unblocker/pricing",
"title": "Web Unblocker pricing",
"observed_at": "2026-09-26T06:10:04.146951Z",
"excerpts": [
"Micro {\"quantity\":8,\"rate\":5.64,\"monthly_price\":45,\"original_rate\":9.4,\"original_monthly_price\":75}",
"Corporate {\"quantity\":700,\"rate\":3,\"monthly_price\":2100,\"original_rate\":5,\"original_monthly_price\":3500}",
"Use coupon code: WU40"
],
"fact_type": "official_claim",
"freshness": "fresh"
}
]
}
],
"engine_version": "0.1.0",
"meta": {
"data_checked_at": "2026-09-26T06:10:04.146951Z",
"freshness": "fresh",
"schema_version": "1.0"
}
}