Skip to the page

Anti-bot scraping alternatives in 2026

One price per protected page.

A page behind a bot check is the dearest page on every scraping plan: 25 credits on ZenRows and Scrape.do, 30 on Scrapfly, up to $16.08 per 1,000 on Zyte. On those entry plans that is $2.90 to $10.56 per 1,000 pages.

SpecStream is the live web data engine for teams and agents. Its Extract API has no anti-bot setting to choose and one price: $0.80 per 1,000 pages. A page that still refuses comes back as blocked and costs nothing.

New accounts get $10 of credit, no card. It covers 12,500 pages.

A protected page on five APIs, Nov 12, 2026

SpecStreamZyte APIZenRowsScrapflyScrape.do
What you set for a protected pageNothing. A page that refuses a plain read is tried again as a browser would ask, then in a real browser, then from the site's own feed, then from its newest public archive captureNothing. Zyte picks the technology for each website and gives it a price tierjs_render and premium_proxy, or Adaptive Stealth Mode with mode=autoResidential proxies with proxy_pool=public_residential_pool, render_js, and the Unblockersuper=true for residential and mobile proxies, render=true for a browser
What a protected page costs, per 1,000$0.80, the price of every pageUp to $16.08 for browser-rendered responses on the top tier25 credits: $10.56 on Build B130 credits: $4.50 on Discovery25 credits: $2.90 on Hobby
Who sets the priceOne rate card, the same on every plan and every siteZyte assigns each website a tier and reviews tiers quarterly, with 2 weeks notice of a changeFixed weights of 1, 5, 10 or 25 credits. A crawl with Adaptive Stealth Mode takes 1 to 25 credits a page, by siteThe Unblocker may upgrade the proxy pool, which can change the final costSome domains get super or render turned on by default, at that cost. The Scrape.do-Request-Cost header says what a call cost
A blocked or failed pageNot charged. It comes back as blocked, and a bot check's page is never returned as textRate-limited and unsuccessful responses are freeFailed or retried requests are not charged. A 404 or 410 counts as successfulNot billed, until 30% or more of a day's scrapes are blocked without the Unblocker. Then failed scrapes are billedFailed requests cost nothing. 400, 404 and 410 count as successful
Entry planNo plan. A balance you top up, and credit you buy never expiresPay as you go with a $100 monthly spending limit, or a commitment of $100 to $500 for 25% to 52% offBuild B1: $19 a month for 45,000 credits, which expire at every renewalDiscovery: $30 a month for 200,000 creditsHobby: $29 a month for 250,000 credits
Free start$10 of credit, no card, which covers 12,500 pages$5 of free credit on signupFree plan: 5,000 credits a month1,000 credits on signup, no cardFree plan: 1,000 credits
Keep your clientDrop-in addresses for ZenRows, Scrapfly, Scrape.do, ScrapingBee, ScraperAPI and ScrapingAnt. Each call is one page at $0.0008Zyte API, and Scrapy Cloud for your spiders at $9 a month per unithttps://api.zenrows.com/v1/, answered by SpecStream at https://api.specstream.ai/zenrows/v1/https://api.scrapfly.io/scrape, answered by SpecStream at https://api.specstream.ai/scrapfly/scrapehttps://api.scrape.do/, answered by SpecStream at https://api.specstream.ai/scrapedo

Why teams send protected pages to SpecStream

Other anti-bot scraping APIs

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to move protected pages to SpecStream

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 12,500 pages.

2. From Scrapfly, set the address to https://api.specstream.ai/scrapfly/scrape and send the SpecStream key as key. In Python:

import os

import requests

reply = requests.get(
    "https://api.specstream.ai/scrapfly/scrape",  # was https://api.scrapfly.io/scrape
    params={"key": os.environ["SPECSTREAM_API_KEY"], "url": "https://en.wikipedia.org/wiki/Web_scraping", "format": "markdown"},
    timeout=60,
)
print(reply.json()["result"]["content"][:500])

3. From Scrape.do, set the address to https://api.specstream.ai/scrapedo and send the SpecStream key as token:

curl "https://api.specstream.ai/scrapedo?token=$SPECSTREAM_API_KEY&url=https://en.wikipedia.org/wiki/Web_scraping&output=markdown"

4. From ZenRows, set the address to https://api.specstream.ai/zenrows/v1/ and send the SpecStream key as apikey. In JavaScript:

const url = new URL("https://api.specstream.ai/zenrows/v1/"); // was https://api.zenrows.com/v1/
url.search = new URLSearchParams({ apikey: process.env.SPECSTREAM_API_KEY, url: "https://en.wikipedia.org/wiki/Web_scraping", response_type: "markdown" });
const reply = await fetch(url);
console.log((await reply.text()).slice(0, 500));

5. Read 429 as a call to send again after Retry-After. It is not charged.

Frequently asked questions

Something we didn't answer? Talk to a human

What is the best anti-bot scraping API?
SpecStream, when you want one price for every page: $0.80 per 1,000, protected or not, and a page that still refuses comes back as blocked at no charge. Credit plans charge 25 credits or more for the same page: $2.90 to $10.56 per 1,000 on the entry plans of Scrape.do, Scrapfly and ZenRows.
How much does it cost to scrape a protected page?
$0.0008 on SpecStream. On entry plans a protected page costs $2.90 per 1,000 on Scrape.do, $4.50 on Scrapfly, $6.33 to $19.00 on ScrapingBee, $10.56 on ZenRows and $12.25 to $36.75 on ScraperAPI, and up to $16.08 on Zyte's top browser tier.
Is a blocked request charged?
Not on SpecStream: a page that refuses every step comes back as blocked and is not charged, and neither is a 404. Scrapfly bills failed scrapes once 30% or more of a day's scrapes are blocked without its Unblocker, and ZenRows and Scrape.do count 404 and 410 replies as successful.
What happens when a site blocks SpecStream?
It tries the page 4 more ways before it gives up: as a browser would ask, in a real browser, from the site's own feed and from its newest public archive capture. A page read from the archive says so in read_from, with captured_at. A page none of them reads is blocked, at no charge.
Can I choose a proxy country with SpecStream?
No. SpecStream has no proxy or country setting. On the ZenRows, Scrapfly and Scrape.do addresses, premium_proxy, proxy_country, country, super and geoCode are accepted and not applied, and the page costs $0.0008 either way.
Is there a Zyte alternative for anti-bot scraping?
Yes. SpecStream reads any page at $0.80 per 1,000, against Zyte's $1.01 to $16.08 per 1,000 browser-rendered responses, by a tier Zyte gives each website. A failed page is free on both, and SpecStream credit you buy never expires.
Does SpecStream have an MCP server?
Yes, at https://api.specstream.ai/mcp over Streamable HTTP, with OAuth or an API key. An agent gets read_pages and search_web on the same balance, inside the limits you set on its key.

Sources

SpecStream wrote this page. Each figure about another company comes from that company's own page, and each success rate from Proxyway's benchmark page, read on the date shown. Prices per 1,000 pages are the entry plan's price divided by its credits, times the credits a page takes.

  1. SpecStream pricingspecstream.ai/pricing, read Nov 12, 2026
  2. SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026
  3. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 12, 2026
  4. Zyte pricingzyte.com/pricing/, read Nov 12, 2026
  5. Zyte API pricing docsdocs.zyte.com/zyte-api/pricing.html, read Nov 12, 2026
  6. Scrapy Cloud pricingdocs.zyte.com/scrapy-cloud/pricing.html, read Nov 12, 2026
  7. ZenRows pricing docsdocs.zenrows.com/first-steps/pricing.md, read Nov 12, 2026
  8. ZenRows authenticationdocs.zenrows.com/authentication.md, read Nov 12, 2026
  9. Scrapfly pricingscrapfly.io/pricing, read Nov 12, 2026
  10. Scrapfly billingscrapfly.io/docs/scrape-api/billing, read Nov 12, 2026
  11. Scrapfly getting startedscrapfly.io/docs/scrape-api/getting-started, read Nov 12, 2026
  12. Scrape.do pricingscrape.do/pricing/, read Nov 12, 2026
  13. Scrape.do request costsscrape.do/documentation/request-costs/, read Nov 12, 2026
  14. ScrapingBee pricingscrapingbee.com/pricing/, read Nov 12, 2026
  15. ScrapingBee documentationscrapingbee.com/documentation/, read Nov 12, 2026
  16. ScraperAPI pricingscraperapi.com/pricing.md, read Nov 12, 2026
  17. Proxyway, best web scraping APIsproxyway.com/best/best-web-scraping-apis, read Nov 12, 2026