How Web Scraping API Pricing Works
Credit-Based Pricing
Credit-based pricing is the most common model in the scraping API market. You purchase a monthly plan with a fixed credit allocation, and each request consumes a variable number of credits depending on its complexity. This is how ScraperAPI, ScrapingBee, ZenRows, and most general-purpose scraping APIs price their service.
The baseline is typically 1 credit for a simple HTTP request that fetches raw HTML without JavaScript rendering, premium proxies, or geographic targeting. From this baseline, features add credit multipliers:
JavaScript rendering is the most impactful multiplier. Rendering a page in a headless browser costs significantly more server resources than a plain HTTP request. ScrapingBee charges 5 credits per rendered request. ScraperAPI applies similar multipliers. If your targets are JavaScript-heavy single-page applications, your effective credit consumption could be 5x higher than the base rate suggests.
Premium or residential proxies add another layer of cost. Standard datacenter proxies are included in the base credit cost, but residential IPs that are harder for anti-bot systems to detect typically cost 5 to 10 additional credits per request. For well-protected sites, this premium is often necessary to achieve acceptable success rates.
Geographic targeting may add credits when you need requests to originate from a specific country or city. Not all providers charge extra for geotargeting, but those that do typically add 1 to 5 credits depending on the location's availability in their proxy pool.
Specialized endpoints for search engines and e-commerce platforms consume the most credits. ScraperAPI charges 25 credits per Google SERP request and 5 credits per e-commerce page. These targets require the most sophisticated anti-detection measures and premium proxy infrastructure, which the elevated credit cost reflects.
The key implication is that your effective cost per page can vary enormously depending on what features each request needs. A plan advertised as "100,000 credits for $49/month" sounds like 100,000 pages, but if half your requests require JavaScript rendering (5 credits each) and a quarter need premium proxies (10 credits each), your actual page yield drops significantly. Always calculate based on your specific workload mix, not the headline credit number.
Flat Per-Page Pricing
Flat per-page pricing charges the same amount regardless of request complexity. Firecrawl pioneered this model in the managed scraping space, charging one credit per page whether the target is a simple static site or a JavaScript-heavy SPA behind Cloudflare.
The advantage is predictability. If your plan includes 5,000 pages per month, you get exactly 5,000 pages. There are no multipliers, no feature surcharges, and no need to optimize which features you enable per request. Cost forecasting is straightforward: divide your plan cost by your page allocation to get a fixed per-page rate.
The tradeoff is that flat pricing may cost more per page for simple requests. If 80% of your targets are basic HTML pages that would cost 1 credit under a tiered system, you are paying the same rate as for the 20% that need rendering. Under credit-based pricing, those simple requests would consume fewer credits, stretching your allocation further. The break-even point depends on your workload mix: the more JavaScript rendering and anti-bot bypass your targets require, the more favorable flat pricing becomes.
Firecrawl's pricing starts at $16 per month for 5,000 pages ($0.0032 per page) on the Hobby plan. This is competitive with credit-based providers for workloads that primarily scrape rendered, protected pages, and significantly cheaper than the effective per-page rate of credit-based plans when accounting for rendering multipliers.
Usage-Based and Enterprise Pricing
Enterprise data collection platforms like Bright Data and Oxylabs use usage-based pricing without fixed monthly credit allocations. You pay based on bandwidth consumed (gigabytes of data transferred), number of successful requests, or a combination of both. Minimum commitments and volume discounts apply at scale.
The per-unit costs at enterprise volumes are typically lower than retail API pricing. Bright Data and Oxylabs both offer per-request rates that undercut credit-based providers when committed volumes exceed several hundred thousand requests per month. However, minimum spend requirements, setup complexity, and contract terms make this model unsuitable for small or variable workloads.
Usage-based pricing works best for organizations with predictable, high-volume scraping needs. If you know you will scrape 500,000 or more pages per month consistently, negotiating an enterprise rate can save 30% to 60% compared to standard API plans. The main risk is that unexpected volume spikes can generate unexpectedly high bills, so implementing budget alerts and usage caps is important.
SERP API Pricing Compared
SERP APIs have their own pricing structure that differs from general scraping APIs because each "request" is a search query, not a webpage. The cost per search varies dramatically between providers:
SerpApi is the most expensive at approximately $25 per 1,000 searches. This reflects their unmatched engine breadth (80+ engines) and parsing depth. For teams that need comprehensive coverage across Google, Bing, Baidu, Yandex, and specialized engines, the premium may be justified.
SearchAPI sits in the middle range, offering competitive per-search pricing with coverage of Google, Bing, YouTube, and newer platforms like ChatGPT Search. Their AI Overview parsing is included at no extra charge.
Serper is priced aggressively for high-volume Google-focused use cases. With 2,500 free credits and low paid rates, it is the most cost-effective option for AI agent applications and basic rank tracking.
DataForSEO offers the lowest per-search pricing: approximately $2 per 1,000 for live (real-time) results and $0.60 per 1,000 for async (queued) results. The async option is the cheapest structured SERP data available anywhere, ideal for batch analysis and historical tracking where results do not need to be immediate.
Hidden Costs to Watch For
Failed requests that consume credits. Some providers charge credits even when a request fails (target site returned an error, page not found, or timeout). Others only charge for successful responses. This difference can be significant for scraping unreliable targets. Check the provider's policy on failed request billing before committing.
Overage charges. Some plans automatically bill for usage beyond your monthly allocation at a higher per-credit rate. Others simply stop serving requests when you hit your limit. Automatic overage billing can lead to unexpected charges if your scraping volume spikes unexpectedly. Look for plans with hard caps or configurable limits.
Rendering enabled by default. ScrapingBee and some other providers enable JavaScript rendering by default, consuming 5 credits per request instead of 1. If your targets do not need rendering, explicitly disable it in every request to avoid consuming credits unnecessarily. This single configuration change can reduce your credit consumption by 80%.
Annual commitment discounts. Most providers offer 15% to 30% discounts for annual billing versus monthly. If you have validated that a provider works well for your use case, switching to annual billing provides meaningful savings. The risk is committing to a provider before thoroughly testing it against your actual workload.
Calculating Your True Cost
To forecast your actual scraping costs accurately, follow this process:
First, categorize your target URLs by complexity. Separate simple HTML pages (1 credit each) from JavaScript-rendered pages (5 credits), protected sites requiring premium proxies (10+ credits), and search engine results (25 credits). Multiply each category's URL count by its credit cost to get total credit consumption.
Second, account for your scraping frequency. If you monitor 1,000 product pages daily, that is 30,000 requests per month. If each request costs 5 credits (rendering enabled), you need 150,000 credits per month.
Third, add a buffer for retries and failed requests. Depending on your targets, 10% to 20% of requests may need retrying. Factor this into your total credit estimate.
Fourth, compare your total credit need against each provider's plan pricing. The provider with the lowest effective cost for your specific workload mix may not be the one with the cheapest headline pricing. A provider charging $99 per month for 1 million credits at 1 credit per request is cheaper than one charging $49 per month for 100,000 credits if your workload consumes 200,000 credits after multipliers.
Never compare scraping API pricing based on headline credit numbers alone. Calculate your true cost by factoring in rendering multipliers, proxy premiums, failed request policies, and your specific workload mix. Flat per-page pricing from providers like Firecrawl simplifies forecasting, while credit-based pricing can be cheaper for simple HTML-only workloads.