Skip to content
CrawlfolioSourced research on web data for AI

The best web scraping API is the one whose output, request settings and billing match the pages you may collect. I choose the access layer first, then price a defined workload. I rechecked the retained public sources on October 31, 2026; no vendor API or account was used.

Short on time?

My shortlist by operating model

One URL in, content out
A configured scraping API
Compare the actual plain, rendered and proxy modes. ScrapingBee and ScrapingAnt enable browsers by default, so a plain-page price needs an explicit setting.
Site-dependent pricing
Zyte API
HTTP and browser responses have five published site tiers and optional minimum commitments. A from-rate does not price every target.
Keep an existing HTTP workflow
Bright Data Web Unlocker
PAYG is $1.50/1K successful requests before special modes. The visible Scale card is $499 for 383K, then $1.30/1K; custom headers/cookies change billing.
A ready-made program
Apify
Price the selected Actor and platform resources. Website Content Crawler is pay per usage; other Actors can charge per event.
Content for a model
Crawl APIs
Choose discovery, rendering and readable output together. Credits per page still change with JSON, PDF and other options.

Prices verified . Documented workflow fit and configured tariffs; no performance ranking, sponsorship or assumed account entitlement.

How to choose a web scraping API in six steps #

  1. Choose the access layer you want to operate.
  2. Check the endpoint’s actual credit weights and defaults.
  3. Include plan fees, unused capacity and valid overage in your cost.
  4. Confirm target rules, concurrency and geography for that plan.
  5. Price the selected platform program separately from its resource rates.
  6. Review permissions, terms and the limits of any legal source or protection.

Step 1: Which access layer do you need? #

The product name does not settle how much of the stack you maintain. Match the contract to the work you want the service to do.

Six access layersVerified
LayerYou operateWhat to budget
ProxyClient, browser if needed, retries and parsingTraffic or IP allocation plus your infrastructure
UnblockerHTTP workflow and downstream parsingRequests or traffic; inspect special-mode billing
Scraping APIRequest configuration and downstream parsingCredit weights, selected endpoint and plan commitment
Remote browserBrowser actions and session lifecycleBrowser time, traffic, concurrency and optional model costs
PlatformSelected program and its inputsActor tariff plus applicable platform resources
Crawl APIScope, output and refresh scheduleDiscovered/fetched pages and optional extraction features

Source: Operating-model distinctions illustrated by the vendor documentation in the remaining steps; no interchangeable unit is assumed. Scroll sideways for more columns.

For model-ready site collection, the crawl guide separates page discovery from conversion; a search request belongs in the search guide.

Step 2: How do credits and multipliers work? #

Compare a complete configuration, not the word credit. Base proxy costs can be additive, combined modes can have their own tariff, and a target domain can override generic pricing.

Generic request-credit examplesVerified
VendorPlainJSPremiumPremium + JSScope
ScraperAPI1101025Generic totals following the JS-rendering FAQ; domain costs differ
ScrapingBee151025Explicitly disable default rendering for plain requests
ZenRows151025Fetch weights; other product meters differ
Scrapingdog151025Generic scraping; other API endpoints differ
Scrape.do151025Check actual request-cost header and target defaults
ScrapingAnt11025125Disable browser for plain; non-rendering browser mode is separately priced
HasData110515Datacenter/residential and jsRendering combinations
ScrapFly162530Datacenter/residential base plus 5 for browser; bandwidth exceptions
Crawlbase12Not equivalentNot equivalentJS doubles site-tier credits; not a shared premium-proxy contract

Source: Generic examples from the exact source links below. These are credit consumption, not dollar prices or guaranteed default charges on every target. Scroll sideways for more columns.

The primary cost sources are ScraperAPI, ScrapingBee, ZenRows, Scrapingdog, Scrape.do, ScrapingAnt, HasData, ScrapFly and Crawlbase.

ScraperAPI’s JS-rendering FAQ treats generic rendering as ten total credits, while the cost docs label parameters extra cost. Its documented billable cases include 200/404 and client cancellations before 70 seconds; inspect the cost header rather than assume every endpoint is one credit. ScrapingBee defaults rendering on, and its status-code contract can bill 404/410/413; transparent-status mode also bills other target statuses below 500. A billed response is not necessarily useful data.

ScrapingAnt’s request reference defaults the browser to true, at ten credits for standard rendered pages. ScrapFly uses a one- or 25-credit proxy base and adds five for rendering; large responses and automatic pool changes can add cost. These settings explain why a headline plain-page rate may not describe a default request.

The Zyte image below is the preserved September 27 snapshot; its pay-as-you-go ranges still matched the page on October 31. It illustrates a tiered tariff; current budgeting still requires the selected target tier and monthly commitment, rather than one universal HTTP or browser price.

Zyte's pricing table: a pay-as-you-go row and rows for $100, $200 and $500 monthly commitments, each with a from-to price per 1,000 responses for HTTP and for browser-rendered requests
Zyte's prices per 1,000 successful responses on 27 Sep 2026, in USD. Pay-as-you-go runs from $0.13 to $1.27 over HTTP and from $1.01 to $16.08 browser-rendered, depending on which of five tiers a site lands in; monthly commitments lower both ranges. Screenshot: Zyte pricing page, 27 Sep 2026 · Screenshot of a public page (commentary/review)

Step 3: What does your configured workload cost? #

Use a whole monthly bill divided by your requested volume. The examples below use ordinary generic pages and selected monthly plans, without stacking free grants, annual discounts, plan restarts or unverified top-up assumptions. They are documented arithmetic, not observed invoices or a universal cheapest ranking.

Selected monthly bills, USDVerified
Vendor/configuration100K requests1M requestsPlan or tariff
ScraperAPI plain$49$149Hobby 100K; Startup 1M credits
ScrapingBee plain, render_js=false$49$99250K and 1M-credit monthly plans
ScrapingBee JS, standard proxies$99$5991M and 8M-credit plans; five credits/request
HasData plain, datacenter$49–$59$99–$119200K and 1M-credit plans; 31 Oct cards show $49/$99 beside an annual-billing label, monthly $59/$119 seen 16 Oct not visible
HasData JS, datacenter$99–$119Not shown1M-credit plan as above; the 10M-credit tier ($830, 16 Oct) was not visible on 31 Oct; ten credits/request
Scrapingdog JS, standard proxies$90$3501M and 6M-credit plans; five credits/request
Zyte easiest-tier HTTP$13$100PAYG $0.13/1K; $100 commitment at $0.10/1K for 1M
Bright Data Web Unlocker ordinary mode$150$1,301.10PAYG $1.50/1K; Scale $499 includes 383K, then $1.30/1K

Source: Configured arithmetic from the linked current pricing pages. Dollar totals include the stated commitment even if some capacity is unused; taxes and optional/target surcharges excluded. Scroll sideways for more columns.

ScrapingBee’s monthly plans are $19/75K, $49/250K, $99/1M, $249/3M and $599/8M credits for these examples. Scrapingdog provides $90/1M or $350/6M, but credit count is not rendered-page count. ScrapingAnt offers $19/100K credits: at 100K plain requests that is $0.19/1K with browser disabled. It is not the price of 100K default rendered requests.

On October 31, HasData’s pricing page showed $49/200K, $99/1M and $208/3M credits per month beside a “Billed annually, 2 months free” label. On October 16 I recorded those as annual equivalents of monthly $59/$119/$249, plus $415/5M, $830/10M and $1,660/20M tiers; neither the monthly figures nor the larger tiers were visible on October 31, so the monthly-billed price is unresolved. Its cost docs say self-serve credits expire at the period end; rollover on the pricing page belongs to custom Enterprise. Do not apply that exception to every plan.

On October 31, Bright Data’s Web Unlocker pricing showed one Scale card: $499 for 383K requests, then $1.30/1K. At 1M, that is $499 + 617 × $1.30 = $1,301.10. On October 16 I also recorded slider stops of $999 for 908K then $1.10/1K and $1,999 for 2M then $1/1K (which gave $1,100.20 at 1M); those were not visible on October 31, so I don’t use them here. Custom headers/cookies bill all attempts, so the table’s success-only assumption does not apply to that configuration.

Zyte has five site tiers: PAYG HTTP is $0.13–$1.27/1K and browser $1.01–$16.08. Its pricing docs explain site and feature pricing. A monthly minimum must still be paid when usage at its rate falls below it; an easiest-tier example cannot price a difficult site.

For the broader dated inventory, use the scraping price tracker and configured cost study. Each tracker row keeps its own verification date, and withheld fields must not enter a median or be counted as zero.

Step 4: Which limits and endpoint generation apply? #

Confirm rendering, proxy pool, geography, concurrency and billable failures for your selected product. Do not apply an old plan’s capacity to a newly named endpoint.

Oxylabs /Scrape pricing now shows $30 Starter, $100 Basic, $500 Flexible and Enterprise from $2,500. Google, Amazon and other targets have different rates; the headline from-price is not a generic HTML configuration. I withdraw the former Micro/Starter/Advanced volume comparison and leave generic totals unavailable.

Decodo’s current Web Data API billing distinguishes standard/premium proxy pools and rendering via headless. Premium is the default pool; unset headless leaves JS off. On the $19 tier, published rates per 1K are $0.50 standard, $0.75 standard+JS, $1 premium and $1.50 premium+JS.

Exact total capacity/top-up matching remains unestablished here, so no normalized monthly bill is claimed. Decodo and Oxylabs are covered from public documentation only.

ZenRows offers monthly rungs starting $19/45K credits, with fixed 1/5/10/25 Fetch weights; plan credits and top-up rollover have different rules. Scrape.do starts $29/250K credits; its request-cost documentation warns that target-specific defaults affect the final charge. Crawlbase’s current rate card explicitly applies graduated bands and site-difficulty multipliers, with JS doubling the resulting credits. I do not carry forward the former ambiguous whole-volume/JS calculation.

A low concurrent-request limit can change how long a job takes, but it does not establish actual throughput. Compare the selected plan’s documented limits and permitted targets before buying; no success or latency claim is supplied here.

Step 5: Do you want a platform or an API? #

On Apify, choose the Actor before quoting its cost. Platform pricing lists monthly prepaid usage of $19 Starter, $199 Scale and $999 Business, with compute at $0.20/$0.16/$0.13 per unit respectively. Compute, proxy traffic, storage and Actor events are different meters.

Website Content Crawler currently says pay per usage and documents HTTP/browser crawling with text, markdown and HTML output. The Store pricing-model docs now list pay per event and pay per usage, with no rental model; a change notice does not prove every Actor completed a rental migration. A second Actor’s event tariff cannot price this crawler.

Choose it when the selected program and operational workflow fit; choose a request API when you want to maintain that logic yourself. Firecrawl vs Apify compares that distinction.

For a local build, Scrapy’s FAQ distinguishes its spider framework from Beautiful Soup’s HTML/XML parser. They can be used together; a parser does not fetch protected pages by itself.

Step 6: What do the terms and court sources actually establish? #

Technical access and a provider’s marketing do not establish rights in the content. Check the target’s terms, applicable data rights and the use you intend; this hub is not legal advice.

A stone staircase with carved balustrades rising between tall fluted columns
Most vendors' terms leave the legality of your scraping to you. What separates them is customer vetting, the data they ban and whether they're in court. Photo: Nhan Hoang / Unsplash · Unsplash License

Bright Data’s KYC page describes customer checks. That is not proof of this owner’s approval or evidence that other vendors do no checks. Apify’s terms place responsibilities on the customer; outsourcing collection does not remove the need to review them.

The Third Circuit’s ROSS opinion, dated September 29, 2026, affirms partial summary judgment that the headnotes were copyrightable and ROSS’s use was not fair. The opinion describes a non-generative legal-search system competing with Westlaw. It therefore replaces the old claim that no appellate opinion existed, while not creating a universal rule for every model-training use. This hub does not certify later appeal proceedings or a final unappealable closure.

In Google’s case, ECF 60 vacated the former October 13 hearing and permits a later hearing or written decision. ECF 61 is a party notice of another decision. Neither decides the pending motion or certifies all later PACER activity.

Which web scraping API is best for your situation? #

Shortlist by operating model, then price the exact workload. The hub’s selected bills can identify candidates, but missing tariffs, different endpoints and unmeasured target success prevent an overall winner.

How I pick and verify sources is on the methodology page. Prepared drafts and source checks do not establish a production integration or public release.

FAQ

What is the best web scraping API?

Choose by the target and request configuration. I would shortlist a credit API for URL-in/content-out work, Zyte for a documented site-tier model, Bright Data Web Unlocker for an existing HTTP workflow, or a specific Apify Actor when it fits the job. This hub compares documented costs and controls, not measured success or quality.

When should I use a web scraping API?

Use one when you want a service to fetch the page and return content while you maintain the downstream parsing and data use. Proxies and remote browsers leave you more of the collection stack; a platform runs a selected program, and a crawl API adds page discovery or content conversion. Check the specific endpoint rather than assume every provider exposes the same workflow.

Is web scraping illegal in the US?

A provider's existence and a successful HTTP response do not establish permission. Access controls, contracts, copyright, privacy and the intended use need separate review. The court sources in Step 6 concern particular facts and procedural stages; this guide is not a legal opinion about your project.

Is AI scraping illegal?

There is no conclusion covering every AI data use here. The Third Circuit's ROSS opinion dated September 29, 2026 affirmed partial summary judgment that the headnotes were copyrightable and that ROSS's use was not fair. It concerned a non-generative system competing in legal search. That is narrower than a universal ruling on model training, and this hub does not certify later appeal proceedings.

Can ChatGPT do web scraping?

This guide does not establish a particular chatbot's current browsing limits. For repeatable collection, specify the URLs, allowed access, output format, schedule and budget, then select a fetch or crawl tool. A conversational answer is not evidence that a production collection pipeline has been connected and tested.

Is Scrapy better than BeautifulSoup?

They solve different problems. Scrapy's FAQ describes a spider-writing framework, while Beautiful Soup parses HTML and XML. Beautiful Soup can parse responses inside a Scrapy callback. Choose a framework for crawl orchestration and a parser for extracting fields from fetched content; neither alone guarantees target access.

Sources

33 sources, accessed .

Official pricing, docs, changelogs and status pages 31

  1. ScraperAPI pricing scraperapi.com · accessed
  2. ScrapingBee pricing scrapingbee.com · accessed
  3. ScrapingBee documentation scrapingbee.com · accessed
  4. Zyte API pricing zyte.com · accessed
  5. Zyte docs: API pricing and billing docs.zyte.com · accessed
  6. Bright Data Web Unlocker pricing brightdata.com · accessed
  7. Bright Data Trust Center: KYC brightdata.com · accessed
  8. Apify pricing apify.com · accessed
  9. Apify docs: Actors in Store (pricing models) docs.apify.com · accessed
  10. Apify general terms and conditions docs.apify.com · accessed
  11. Scrapingdog pricing scrapingdog.com · accessed
  12. Scrape.do pricing scrape.do · accessed
  13. Scrape.do docs: request costs scrape.do · accessed
  14. ScrapingAnt pricing scrapingant.com · accessed
  15. ScrapingAnt docs: credits cost docs.scrapingant.com · accessed
  16. ScrapingAnt docs: request and response format docs.scrapingant.com · accessed
  17. Crawlbase pricing crawlbase.com · accessed
  18. HasData docs: web scraping API request cost docs.hasdata.com · accessed
  19. ScrapFly docs: billing scrapfly.io · accessed
  20. Scrapy FAQ docs.scrapy.org · accessed
  21. Beautiful Soup documentation crummy.com · accessed
  22. apify.com/apify/website-content-crawler apify.com · accessed
  23. docs.brightdata.com/products/web-unlocker/features docs.brightdata.com · accessed
  24. docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs docs.scraperapi.com · accessed
  25. ScraperAPI docs: JS rendering FAQ docs.scraperapi.com · accessed
  26. docs.zenrows.com/first-steps/pricing docs.zenrows.com · accessed
  27. hasdata.com/prices hasdata.com · accessed
  28. hasdata.com/prices?billing=monthly hasdata.com · accessed
  29. help.decodo.com/docs/web-data-api-billing help.decodo.com · accessed
  30. oxylabs.io/products/web-api/scrape/pricing oxylabs.io · accessed
  31. www.govinfo.gov/content/pkg/USCOURTS-ca3-25-02153/pdf/USCOURTS-ca3-25-02153-0.pdf govinfo.gov · accessed

Other sources 2

  1. Google v. SerpApi ECF 60: hearing vacated on 5 Oct 2026 storage.courtlistener.com · accessed
  2. Google v. SerpApi ECF 61: Google's statement of recent decision, 12 Oct 2026 storage.courtlistener.com · accessed

Alternatives

Data studies