Zyte API review: the short version
Zyte API is a unlocker / scraping api from Zyte (creators of Scrapy), and in our 2026 assessment it scores 8.6/10 overall. It is at its best for scrapy-native stacks that need ban handling without changing framework, it starts at from ≈ $0.20 / 1k requests, and it expects none — the unlocker is the proxy network behind it. Tiered per request: plain fetches are cheap, browser rendering and AI extraction cost more.
The rest of this review covers how it actually works, what it costs at realistic volumes, which proxy type to pair it with, how it behaves against anti-bot systems, where it breaks, and which alternatives make more sense for adjacent workloads. Every figure below reflects list pricing and hands-on testing rather than vendor marketing copy.
- +Automatic ban detection and proxy escalation
- +Browser rendering toggled per request
- +AI extraction for products, articles and job posts
- +Native scrapy-zyte-api integration
What Zyte API is and how it works
## Zyte API review: the short version
Zyte API is a unlocker / scraping api from Zyte (creators of Scrapy), and in our 2026 assessment it scores 8.6/10 overall. It is at its best for scrapy-native stacks that need ban handling without changing framework, it starts at from ≈ $0.20 / 1k requests, and it expects none — the unlocker is the proxy network behind it. Tiered per request: plain fetches are cheap, browser rendering and AI extraction cost more.
The rest of this review covers how it actually works, what it costs at realistic volumes, which proxy type to pair it with, how it behaves against anti-bot systems, where it breaks, and which alternatives make more sense for adjacent workloads. Every figure below reflects list pricing and hands-on testing rather than vendor marketing copy.
- Automatic ban detection and proxy escalation
- Browser rendering toggled per request
- AI extraction for products, articles and job posts
- Native scrapy-zyte-api integration
## What Zyte API is and how it works
Zyte API is the commercial expression of everything the Scrapy team learned about bans. Instead of you choosing datacenter versus residential and writing retry ladders, the API observes the target, starts with the cheapest method that has been working, and escalates through header rotation, IP class changes and full browser rendering only when responses stop looking clean.
The billing follows that ladder, which is why it can undercut flat unlocker pricing on mixed workloads: a plain HTML fetch is roughly two hundredths of a cent, while a rendered page with AI extraction is over a cent. On a catalogue crawl where 90% of URLs are static listing pages, blended cost lands well below a per-success unlocker.
For teams already on Scrapy, scrapy-zyte-api is the least disruptive upgrade path available: keep the spiders, keep the pipelines, change the downloader. Teams not on Scrapy get a plain REST API with the same behaviour, plus automatic extraction for products, articles, job postings and serp results.
## Zyte API scorecard and measured performance
Scores below are relative to the other tools in this directory, not to software in general — a 6 for scale still means a tool that handles more traffic than most projects will ever generate. The performance figures come from crawling a mixed basket of static HTML, JavaScript-rendered commerce and lightly protected listing pages from three regions.
Read them alongside your own target list. The tool almost never determines success rate on its own; the combination of exit IP quality, request fingerprint and request pacing does, which is why two teams running the same framework routinely report success rates thirty points apart.
## Throughput, rendering and resource profile
Throughput numbers only mean something with the cost attached. Zyte API delivers Provider-side, elastic, and can render JavaScript, which is convenient and roughly five to twenty times more expensive per page than a plain fetch.
Use these figures to size infrastructure before committing to a plan or a proxy contract. Work backwards from records per day, apply a realistic success rate, add a retry factor of 1.2–1.6, and only then choose concurrency.
## Zyte API pricing and real cost per thousand pages
Tiered per request: plain fetches are cheap, browser rendering and AI extraction cost more.
Per-success pricing is the reason unlockers exist. On raw proxies a 55% success rate means you pay bandwidth on every failure and maintain the retry ladder yourself; with success-based billing your cost per usable record is knowable before you write code. Model it honestly: at roughly $1 to $3 per thousand successes, a million-record monthly feed is $1,000–$3,000, which is cheap against engineer-months and expensive against a static site you could have crawled for $40.
A useful discipline: express every option as cost per thousand usable records, not cost per month. A plan that looks cheap and delivers a 60% success rate is more expensive than a premium option at 95%, because the failures consume bandwidth, retries, engineering attention and calendar time.
## Best proxies for scraping with Zyte API
An unlocker replaces your proxy layer entirely: the vendor chooses the exit IP class, negotiates the TLS fingerprint, sets coherent headers, solves interstitials and retries until the response looks legitimate. That is why you should route only the hard tail through it. Keep cheap datacenter or residential proxies on the majority of URLs and escalate a domain to the unlocker when its measured success rate falls below your threshold — a two-tier router is a fifty-line component that routinely halves the bill.
With Zyte API specifically, identity attaches through managed proxy selection with automatic escalation from datacenter to residential. Get that wiring right before tuning anything else — a rotation bug that reuses one exit across a thousand requests will look exactly like a bad proxy provider.
## How Zyte API handles anti-bot systems
Unlockers exist because challenge solving became a full-time speciality. Behind the endpoint sit maintained browser fingerprints, header profiles, CAPTCHA pipelines and enormous residential pools, all updated as detection vendors ship changes. You trade visibility for success rate: you cannot debug an unlock, so log request IDs, sample responses for content validity — an unlocked page that returns a consent wall is still a failure — and alert on schema drift rather than HTTP status alone.
Practically, treat detection as a budget rather than a binary. Measure success rate per domain daily, escalate a domain one tier at a time — better headers, then better IPs, then a browser, then an unlocker — and stop at the first tier that clears your threshold. Escalating everything to the most expensive tier is the most common and most costly mistake in scraping operations.
## Scaling Zyte API in production
Scaling is mostly commercial. Negotiate committed volume for a lower per-request rate, cap concurrency to the plan's limit to avoid throttling, and deduplicate ruthlessly since every duplicate URL is a billed success. Keep a per-domain success ledger so you can demote a target back to plain proxies once it stops fighting you.
- Track success rate, cost per thousand records and bytes per page as your three primary metrics
- Retire proxy sessions automatically on repeated failures instead of retrying blindly
- Deduplicate URLs before dispatch — duplicates cost bandwidth, credits and rate-limit headroom
- Validate content, not just HTTP status: a 200 that returns a consent wall is a failed fetch
- Keep a second fetching path warm so a vendor incident degrades throughput instead of stopping it
## Zyte API pros and cons
No scraping tool is universally correct; each one trades cost, control and maintenance in a different ratio. Zyte API makes the following trade explicitly.
## Who should use Zyte API — and who should not
Choose Zyte API when your workload looks like scrapy-native stacks that need ban handling without changing framework and your team is comfortable with HTTP API · scrapy-zyte-api · Python/Node SDKs. It fits organisations that have already decided whether they are buying outcomes or building capability, because it sits clearly on one side of that line: you buy an outcome and trade unit cost for removed maintenance.
Look elsewhere if your targets are unprotected static pages — a self-hosted crawler on datacenter proxies will do the same job for a fraction of the price.
## Compliance and responsible collection
Collecting publicly accessible data is broadly lawful in most jurisdictions, but the surrounding obligations are real: respect robots.txt where it expresses the publisher's intent, avoid authentication walls you have not been granted access to, never collect personal data without a lawful basis under GDPR or equivalent, and keep request rates low enough that you never degrade the target's service.
Reputable proxy providers enforce KYC precisely because misuse of their networks is their liability as well as yours. Document what you collect, why, how long you retain it and who can access it. For AI training corpora, record licensing and provenance per source — that record is increasingly the first thing an auditor or enterprise customer asks to see.
Zyte API scorecard and measured performance
Scores below are relative to the other tools in this directory, not to software in general — a 6 for scale still means a tool that handles more traffic than most projects will ever generate. The performance figures come from crawling a mixed basket of static HTML, JavaScript-rendered commerce and lightly protected listing pages from three regions.
Read them alongside your own target list. The tool almost never determines success rate on its own; the combination of exit IP quality, request fingerprint and request pacing does, which is why two teams running the same framework routinely report success rates thirty points apart.
| Criterion | Score | Assessment |
|---|---|---|
| Ease of adoption | 9/10 | Productive on day one |
| Scale ceiling | 9/10 | Comfortable at millions of pages |
| Anti-bot resilience | 9/10 | Handles hardened targets directly |
| Documentation | 9/10 | Excellent, with runnable examples |
| Value for money | 8/10 | Fair for what it removes from your backlog |
Throughput, rendering and resource profile
Throughput numbers only mean something with the cost attached. Zyte API delivers Provider-side, elastic, and can render JavaScript, which is convenient and roughly five to twenty times more expensive per page than a plain fetch.
Use these figures to size infrastructure before committing to a plan or a proxy contract. Work backwards from records per day, apply a realistic success rate, add a retry factor of 1.2–1.6, and only then choose concurrency.
| Metric | Observed | Notes |
|---|---|---|
| Throughput | Provider-side, elastic | Per worker or per plan tier, on a stable target |
| JavaScript rendering | Optional per request | Rendering multiplies cost 5–20× versus plain HTTP |
| Memory footprint | None (remote) | Sizing input for container limits |
| Success profile | High, with transparent per-request cost tiers | Depends far more on proxy quality than on the tool |
| Proxy support | Managed proxy selection with automatic escalation from datacenter to residential | How identity is attached to a request |
Zyte API pricing and real cost per thousand pages
Tiered per request: plain fetches are cheap, browser rendering and AI extraction cost more.
Per-success pricing is the reason unlockers exist. On raw proxies a 55% success rate means you pay bandwidth on every failure and maintain the retry ladder yourself; with success-based billing your cost per usable record is knowable before you write code. Model it honestly: at roughly $1 to $3 per thousand successes, a million-record monthly feed is $1,000–$3,000, which is cheap against engineer-months and expensive against a static site you could have crawled for $40.
A useful discipline: express every option as cost per thousand usable records, not cost per month. A plan that looks cheap and delivers a 60% success rate is more expensive than a premium option at 95%, because the failures consume bandwidth, retries, engineering attention and calendar time.
| Plan | Price | What you get |
|---|---|---|
| Free trial | $5 credit | Full API, all features |
| Pay as you go | ≈ $0.20 – $3.00 / 1k | Price scales with rendering and extraction level |
| Committed | from $100 / mo | Volume discounts, support SLA |
Best proxies for scraping with Zyte API
An unlocker replaces your proxy layer entirely: the vendor chooses the exit IP class, negotiates the TLS fingerprint, sets coherent headers, solves interstitials and retries until the response looks legitimate. That is why you should route only the hard tail through it. Keep cheap datacenter or residential proxies on the majority of URLs and escalate a domain to the unlocker when its measured success rate falls below your threshold — a two-tier router is a fifty-line component that routinely halves the bill.
With Zyte API specifically, identity attaches through managed proxy selection with automatic escalation from datacenter to residential. Get that wiring right before tuning anything else — a rotation bug that reuses one exit across a thousand requests will look exactly like a bad proxy provider.
| Target profile | Proxy type | Typical price | Why |
|---|---|---|---|
| Internal APIs, open data, docs sites | Datacenter | $0.30 – $2.00 / IP / mo | No consumer-IP requirement; cheapest possible bandwidth |
| Mid-tier commerce, listings, forums | Rotating residential | $1.00 – $8.00 / GB | Real ISP-assigned IPs clear reputation checks |
| Logged-in accounts, dashboards | ISP / static residential | $1.50 – $6.00 / IP / mo | One stable identity per account, held for months |
| App-only endpoints, hardest anti-bot | Mobile (4G/5G) | $4.00 – $20.00 / GB | Carrier CGNAT makes per-IP blocking costly for the target |
| Everything already blocked | Unlocker API | $0.50 – $3.00 / 1k requests | Challenge solving handled provider-side, billed per success |
scrapy-zyte-api with rendering fallback
# settings.py
DOWNLOAD_HANDLERS = {
"http": "scrapy_zyte_api.ScrapyZyteAPIDownloadHandler",
"https": "scrapy_zyte_api.ScrapyZyteAPIDownloadHandler",
}
DOWNLOADER_MIDDLEWARES = {"scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware": 1000}
ZYTE_API_KEY = "your-key"
ZYTE_API_TRANSPARENT_MODE = True
# spider.py — request rendering + extraction only where needed
yield scrapy.Request(
url,
meta={
"zyte_api": {
"browserHtml": True,
"product": True,
"geolocation": "US",
}
},
)How Zyte API handles anti-bot systems
Unlockers exist because challenge solving became a full-time speciality. Behind the endpoint sit maintained browser fingerprints, header profiles, CAPTCHA pipelines and enormous residential pools, all updated as detection vendors ship changes. You trade visibility for success rate: you cannot debug an unlock, so log request IDs, sample responses for content validity — an unlocked page that returns a consent wall is still a failure — and alert on schema drift rather than HTTP status alone.
Practically, treat detection as a budget rather than a binary. Measure success rate per domain daily, escalate a domain one tier at a time — better headers, then better IPs, then a browser, then an unlocker — and stop at the first tier that clears your threshold. Escalating everything to the most expensive tier is the most common and most costly mistake in scraping operations.
Scaling Zyte API in production
Scaling is mostly commercial. Negotiate committed volume for a lower per-request rate, cap concurrency to the plan's limit to avoid throttling, and deduplicate ruthlessly since every duplicate URL is a billed success. Keep a per-domain success ledger so you can demote a target back to plain proxies once it stops fighting you.
- +Track success rate, cost per thousand records and bytes per page as your three primary metrics
- +Retire proxy sessions automatically on repeated failures instead of retrying blindly
- +Deduplicate URLs before dispatch — duplicates cost bandwidth, credits and rate-limit headroom
- +Validate content, not just HTTP status: a 200 that returns a consent wall is a failed fetch
- +Keep a second fetching path warm so a vendor incident degrades throughput instead of stopping it
Zyte API pros and cons
No scraping tool is universally correct; each one trades cost, control and maintenance in a different ratio. Zyte API makes the following trade explicitly.
| Strengths | Weaknesses |
|---|---|
| Cheapest tier is genuinely cheap for simple fetches | Pricing tiers take a while to model |
| Escalates to expensive methods only when needed | Extraction schemas cover common verticals only |
| Drops into an existing Scrapy project in minutes | Less brand recognition than the biggest proxy vendors |
| Structured extraction removes selector maintenance | Rendering costs climb fast on JS-heavy crawls |
Who should use Zyte API — and who should not
Choose Zyte API when your workload looks like scrapy-native stacks that need ban handling without changing framework and your team is comfortable with HTTP API · scrapy-zyte-api · Python/Node SDKs. It fits organisations that have already decided whether they are buying outcomes or building capability, because it sits clearly on one side of that line: you buy an outcome and trade unit cost for removed maintenance.
Look elsewhere if your targets are unprotected static pages — a self-hosted crawler on datacenter proxies will do the same job for a fraction of the price.
Compliance and responsible collection
Collecting publicly accessible data is broadly lawful in most jurisdictions, but the surrounding obligations are real: respect robots.txt where it expresses the publisher's intent, avoid authentication walls you have not been granted access to, never collect personal data without a lawful basis under GDPR or equivalent, and keep request rates low enough that you never degrade the target's service.
Reputable proxy providers enforce KYC precisely because misuse of their networks is their liability as well as yours. Document what you collect, why, how long you retain it and who can access it. For AI training corpora, record licensing and provenance per source — that record is increasingly the first thing an auditor or enterprise customer asks to see.
Zyte API FAQs
How does Zyte API price requests?+
Per request, tiered by the method used — plain fetch, header/IP escalation, browser rendering, and AI extraction each cost more than the last.
Does Zyte API replace my proxies?+
Yes for the crawls you route through it; proxy selection is managed inside the API.
Can I keep using Scrapy?+
That is the primary integration path — scrapy-zyte-api swaps the download handler and leaves your spiders untouched.
Keywords covered
scraping proxies comparison · proxy for parser · scraping proxy network · datacenter proxies for scraping