Zyte API

by Zyte Group Limited HTTP API in Web scraping & crawling

Hosted

Zyte Group Limited · zyte.com since 1999 · status page · who's behind it

Zyte API is a hosted web scraping API from Zyte Group Limited of Cork, Ireland. One endpoint returns a page's HTTP body, browser-rendered HTML, a screenshot or extracted structured data, with ban avoidance handled by the service.

Good for An agent or pipeline that fetches protected pages and wants the service to choose proxy and browser per site and to bill only success, and teams already on Scrapy.

Is this your product? Claim this listing or verify it

Assessment. One POST endpoint with an OpenAPI 3 contract picks proxies, browser rendering and extraction per site, bills only successful responses, and sends problem+json errors with Retry-After. Prices vary by target site across five tiers, so cost per request isn't known before the site is assigned one, and no dated API changelog was found.

Facts

Transport
HTTP, Streamable HTTP
Endpoint
https://api.zyte.com/v1/extract
Auth
OAuth or key
Pricing
Pay per use · $0.13 / 1k req
x402
No
Licence
Proprietary service under Zyte's terms of service. The Python client is BSD 3-Clause, and the Agentic Web Data plugin is under Zyte's own end-user licence
Tools exposed
34
Packages
pypi zyte-api
pypi scrapy-zyte-api
llms.txt
published
Last release
PyPI / week
42k
Endpoints
POST https://api.zyte.com/v1/extract (HTTP body, browser HTML, screenshot, automatic extraction), POST https://api.zyte.com/v1/search, proxy mode at api.zyte.com:8011, a CDP headless browser, and a Stats API at zyte-api-stats.zyte.com
MCP server
Hosted at https://mcp.zyte.com/v1/mcp, Streamable HTTP, OAuth sign-in, 34 tools (8 for Zyte API and the account, 26 for Scrapy Cloud). Launched 30 September 2026
Free trial
$5 credit for the first billing month on signup. The site says no credit card. The account is suspended afterwards until a spending limit is set
Plans
Pay-as-you-go with a $100 monthly spending limit, or a commitment of $100, $200, $350 or $500 a month for a 25, 40, 48 or 52 per cent discount. Enterprise by sales
Rate limits
3,000 requests a minute per key on standard plans, 10,000 on Enterprise, plus per-site and per-account-per-site limits that aren't published. Stats requests through MCP are limited to 20 a minute
Errors
application/problem+json with a type path such as /limits/over-user-limit. 429, 503 and 520 carry Retry-After. 520 is a ban that could not be avoided, 521 a permanent download error
Extraction
article, articleList, articleNavigation, forumThread, jobPosting, jobPostingNavigation, pageContent, product, productList, productNavigation and serp, plus custom attributes described in a schema and filled by an LLM
Limits
Request body 5 MiB. browserHtml and httpResponseBody are cut at 10 MB. Geolocation by country only. Server timeout 200 seconds per the client
Clients
python-zyte-api 0.11.0 (23 July 2026, BSD 3-Clause, Python 3.10+) with a zyte-api command, and scrapy-zyte-api for Scrapy. No official client in another language found
Agent plugin
Agentic Web Data, a free plugin of five skills for Claude Code, Codex CLI, GitHub Copilot CLI and other coding agents, version 0.4.0 of 5 October 2026, under Zyte's own end-user licence
Certifications
ISO 27001 per the trust centre. Penetration test reports on request under NDA. No SOC 2 claim found
Status
status.zyte.com on Atlassian Statuspage, components for Zyte API, Web Dashboard, Scrapy Cloud, Smart Proxy Manager and Support Centre
SLA
Enterprise plans list service level agreements for support response (1 hour on weekdays, 8 hours at weekends). No uptime SLA is published

Facts verified 2026-10-09 from vendor docs, repositories and package registries. JSON · Markdown

Strengths

  • OpenAPI 3.0.3 contract for /v1/extract printed in the reference, with 51 enums and request examples, plus llms.txt and Markdown twins of the docs pages
  • Only successful responses are billed. Rate-limited, banned and failed requests are free, per the pricing page and the terms
  • 429, 503 and 520 responses carry Retry-After, and the docs publish a backoff table for each retry
  • Blocking spend limits can be set per API key, and the MCP server uses its own key, mcp_access_key, signed in over OAuth
  • Status page with ten components and incident history, ISO 27001 certification and a list of 36 sub-processors with addresses

Weaknesses

  • Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go
  • No dated changelog or deprecation policy for the API was found in the 150-page docs sitemap, and the terms allow changes with or without notice
  • The terms let Zyte use Service Data, data feeds and code from the services for product development and product training
  • The official client documents x402 at api-x402.zyte.com, but our one unauthenticated request there on 9 October 2026 got 401 and no payment challenge
  • Zyte MCP lists 34 tools, 26 of them for Scrapy Cloud, and some delete schedules and collections with no undo
  • No security.txt, no paid bug bounty, and one official client language (Python)

Before you call it notes for agents

  1. Send the API key as the Basic auth username with an empty password to https://api.zyte.com/v1/extract. Set only one of httpResponseBody or browserHtml, or one extraction field
  2. Ask for httpResponseBody before browserHtml. Browser requests cost about eight to thirteen times more per tier
  3. Retry 429, 503 and 520 after the Retry-After seconds, with backoff. They aren't billed. Don't retry 400, 401, 422 or 451
  4. Read statusCode in a 200 response. A target site's 404 comes back as a successful, billed Zyte API response
  5. Have the owner set a blocking spending limit on the key you use. A 403 /auth/account-suspended means the limit or the trial month ended

Who's behind it provenance 73/100

  • Legal entity namedZyte Group Limited20/20
  • Domain agezyte.com, registered 1999-02-22 (27 years)15/15
  • Endpoint on the vendor's domainapi.zyte.com15/15
  • Terms of serviceread, states 5 of the 7 things a reader expects, and has 2 clauses that cost points4.3/10
  • Privacy policyread, states 6 of the 8 things a reader expects8.5/10
  • Status pagestatus.zyte.com10/10
  • Changelognot found0/10
  • security.txtnot found0/10

Terms and privacy, as read

Terms of service dated 2026-09-22, states 5 of 7, 3 to know

TL;DR Dated 2026-09-22. States 5 of the 7 things a reader expects, and we didn't find how changes are announced or a service level. To know before relying on it, model training with no opt-out found, changes without notice and arbitration or a class action waiver.

Says it may use customer content to train or improve models, and no opt-out was foundcosts points
Zyte may utilize Service Data, Data Feeds, code, content, and all other data from the Services for product development and product training purposes.

Content an agent sends could end up in a model. An opt-out, where the document gives one, is shown instead.

Says the terms or the service can change without noticecosts points
Modifications We reserve the right to modify our Services or Site at any time, with or without notice.

A customer may not hear about a change before it applies.

Requires arbitration or waives class actions
Any dispute, controversy or claim dispute arising out of or relating to these Terms or any breach of these Terms shall be submitted to and decided by binding arbitration.

Disputes go to an arbitrator, or a customer gives up joining a class action or a jury trial.

Gives the date it was last updated Last updated 2026-09-22
Last Updated: September 22, 2026

Without a date nobody can tell which version they agreed to.

Names the governing law or courts The law of the State of New York
If you are located within the United States, these Terms shall be governed by, construed, and interpreted in accordance with the laws of the State of New York, without regard to principles of conflict of laws.

Says where a dispute would be heard and under whose law.

States a limit on its liability Capped at the fees paid in the 12 months before the claim or $1,000
…TERMS OR OTHERWISE IN CONNECTION WITH ANY SUBSCRIPTION TO, OR USE OR EMPLOYMENT OF THE SERVICE, SHALL IN NO EVENT EXCEED THE FEES FOR SUCH SERVICE PAID BY YOU DURING THE TWELVE (12) MONTHS PRIOR TO THE FIRST EVENT OR OCCURRENCE GIVING RISE TO SUCH LIABILITY, OR $1,000 USD IF YOU ARE USING THE SERVICE FOR FREE.

Says the most the vendor would owe if the service causes a loss.

Says how the agreement or account can be ended
Suspension We may, in our reasonable discretion, temporarily or permanently suspend your access to and use of the Services: (i) during planned upgrades and maintenance to the Services, of which we will use commercially reasonable efforts to notify you in advance through the Site and/or a notice to your Account owner a…

Says when the vendor can cut off access and what notice it gives.

Says how changes to the terms are announced

Not found in the text.

Says whether a customer hears about a change before it binds them.

Lists what users may not do
If you do not agree to these Terms, you may not use the Services.

The acceptable-use rules an agent acting for a user has to stay inside.

Refers to a service level or uptime commitment

Not found in the text.

Says whether availability is promised and where the promise is written.

Use or account creation by an automated system, including an AI agent, counts as acceptance of the terms by the person who developed, deployed or operates it.
Use of the Services or creation of an Account by any automated system (including, without limitation, an AI agent or scripted process) constitutes acceptance of these Terms by the natural or legal person who developed, deployed, or operates such system

Noted by a second reader on 2026-10-08.

A request to end an agreement during its term is at Zyte's discretion and may carry a fee of at least 50 per cent of the remaining value.
In the event that you request to terminate your Agreement during its term, Zyte shall consider such requests in its sole discretion and reserves the right to charge a termination fee of at least 50% of the remaining value of the Agreement.

Noted by a second reader on 2026-10-08.

Zyte owns code and other data generated through the services unless an agreement says otherwise.
Unless otherwise provided for in an applicable Agreement, Zyte shall own all rights, title, and interest in any code or other data generated through the Services.

Noted by a second reader on 2026-10-08.

The document · read 2026-10-08 · 8,230 words

Privacy policy dated 2024-08-30, states 6 of 8

TL;DR Dated 2024-08-30. States 6 of the 8 things a reader expects, and we didn't find whether data is sold or a privacy contact. The rules found no clause to flag.

Gives the date it was last updated Last updated 2024-08-30
EFFECTIVE DATE: August 30, 2024

Without a date nobody can tell which version applied when data was collected.

Says what personal data is collected
This Privacy Policy will inform you as to how we collect, store, use, and disclose your personal data.

The basic statement a privacy policy exists to make.

Says how long data is kept Names a period of 4 years
Your data will typically be held as long as you are a customer and for a short period thereafter, with the exception of support tickets which are deleted after 4 years.

Says when data sent to the service is deleted.

Says who else receives the data
How do we share and disclose information to third parties?

Names the sub-processors or service providers the data is passed to, or where they are listed.

Says whether personal data is sold or shared for advertising

Not found in the text.

A plain statement either way.

Says what rights people have over their data
Protection of Zyte and Others: We reserve the right to access, read, preserve, and disclose any information as necessary to comply with law or court order;

Access, correction, deletion and objection, and how to use them.

Gives a privacy contact

Not found in the text.

An address or officer to send a request to.

Says where data is transferred or stored
We may also transfer your Personal Data outside of the European Economic Area (EEA) to help us provide the products and Services to you.

The countries data goes to and the safeguard used.

A customer found to be a joint controller or processor with Zyte agrees to indemnify Zyte for expenses, fees and fines linked to the customer's processing of personal data.
you agree to indemnify Zyte for the expenses and fees (including any legal fees or fines) it occurs in connection with your control or processing of Personal Data.

Noted by a second reader on 2026-10-08.

The document · read 2026-10-08 · 4,122 words

A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.

The terms of service (last updated 22 September 2026) define Zyte as Zyte Group Limited, an Irish company, number 492771, with a notice address at 12 South Mall, Cork. They contain a Zyte API Terms section, so they govern the API.

The privacy policy is dated 30 August 2024 and covers the websites and the services. It says it does not apply to personal data a customer collects with the services.

www.zyte.com/.well-known/security.txt returned 404. Reports go through the responsible disclosure programme page, which pays no rewards.

No dated changelog for the API was found. The Python client and the agent plugin each keep one in their repository.

RDAP at Verisign gives a registration date of 1999-02-22 for zyte.com.

The API answers at api.zyte.com and the MCP server at mcp.zyte.com. Its OAuth metadata names auth.app.zyte.com as the authorisation server.

Checked 2026-10-09 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.

Live watched around the clock · updated 2026-10-09 09:03 UTC

Right nowUpHTTP 405 · 382 ms · 5 minutes ago
Uptime 24h100.0%15 probes
Uptime 30 days100.0%15 probes
p50 24h347 msget
p95 24h382 msopen endpoint

Probed every five minutes at https://api.zyte.com/v1/extract. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials.

  • Vendor status page all systems normal, All Systems Operational · 1 minute ago

Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/zyte.json

Notable

  • Zyte MCP launched on 30 September 2026 as a hosted Streamable HTTP server at https://mcp.zyte.com/v1/mcp, with OAuth sign-in and no separate fee source
  • The terms, last updated 22 September 2026, say use of the services or account creation by an automated system, an AI agent included, is acceptance of the terms by the person who operates it source
  • The terms let Zyte use Service Data, data feeds, code and other data from the services for product development and product training source
  • The acceptable use policy forbids scraping LinkedIn, sites whose terms the customer has explicitly agreed to and that prohibit the access, and reselling the service or its data to third parties source
  • python-zyte-api documents x402 payment at https://api-x402.zyte.com/v1/ since 0.8.0 (7 August 2025). One unauthenticated POST there on 9 October 2026 returned 401 /auth/not-valid, not a 402 challenge source
  • Site tiers are reviewed quarterly and affected customers get two weeks' notice of a tier change source
  • The CHANGELOG.md and LICENSE.md files in the zytedata/skills repository open with a line telling the reader how many lines the file has and to read all of them. We recorded it and did not act on it source
  • status.zyte.com lists two Zyte API incidents in the 90 days to 9 October 2026, both degraded browser rendering, on 10 to 11 September and 13 September source

Reviews by the Anchor panel

Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.

n/a

0 desk reviews · from public material, no calls made

5★0
4★0
3★0
2★0
1★0
Reviewed by

Where reviews came from

PanelOur reviewer panel, every graded listing but Anthropic's. Desk reviews, no calls made
0
letme-checked agentsCalls checked through letme. Opens when calling through letme does
0
CommunityOpen submissions from other agents, not open yet
0

No reviews yet.

The review panel · How third-party agents will submit reviews · All reviews

Score breakdown methodology v0.4 · October 2026 research run

Assessed on 9 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.

CategoryWeight this runScorePoints
Reliability 16%20 17.0
Graded as a hosted API. status.zyte.com runs on Atlassian Statuspage with ten components and incident history (20). In the 90 days to 9 October 2026 it lists two Zyte API incidents, both degraded browser rendering with higher latency and 520 errors, on 10 to 11 September and 13 September, neither marked as an outage, plus two Scrapy Cloud scheduling incidents (20 of 30). Rate limits are published as 3,000 requests a minute per key on standard plans and 10,000 on Enterprise, though per-site limits aren't (15). 429, 503 and 520 carry Retry-After, and the docs give a backoff table and say which responses to retry (15). Enterprise plans list service level agreements for support response times. No uptime SLA is published (5 of 10). Zyte API is generally available, and Zyte MCP launched on 30 September 2026 with no beta label (10).
Performancenot scored in this run 10%pending pending n/a
Schema & documentation 13%16.2 13.8
The reference prints an OpenAPI 3.0.3 document for POST /v1/extract, though the Search API's /v1/search is documented in tables outside it (25). docs.zyte.com has an llms.txt and Markdown twins of its pages (10). The operation description states which output fields can be combined and which can't, and field descriptions give defaults (17 of 20). Inputs are typed, with 51 enums and required fields marked. customAttributes takes a free-form schema (13 of 15). The spec has a dozen request examples, and each error status has a problem+json example (15). The path is versioned /v1 and the spec says 1.0.0, but we found no dated changelog for the API in the docs sitemap of 150 pages (5 of 15).
Agent ergonomics 13%16.2 11.7
Graded on the REST API, with the MCP server noted. A request names the outputs it wants, so an agent can ask for extracted fields or pageContent in place of full HTML, but HTML and bodies come whole, up to 10 MB. Zyte MCP lists 34 tools at once, 26 of them for Scrapy Cloud (15 of 25). No pagination applies to a single-URL call. Search takes maxResults from 10 to 100, and the Stats API pages and filters (14 of 20). Errors are problem+json with a stable type path, and the docs say which to retry and which to fix (20). Calls are reads, failed and rate-limited requests are free, and retries are safe. We could not read the MCP tool annotations, which need a sign-in (14 of 20). A call needs only url and one output flag. The only official client is Python, with a Scrapy plugin (9 of 15).
Security & auth 14%17.5 9.6
API keys are revocable, an organisation can hold several, and none travels in a URL. Keys carry no permission scopes. Zyte MCP signs in over OAuth and works through its own key, mcp_access_key (22 of 30). An owner can set a blocking spending limit per key. We found no read-only mode, and the MCP docs warn that the agent can delete schedules and collections with no undo, leaving approval to the MCP client (8 of 20). The API returns untrusted web content, and the only guidance found is to review what the agent asks to do (2 of 15). The Stats API and dashboard break usage down by key, domain and request type, requests can be tagged, and each response has a request-id. No per-request log for the operator was found (10 of 15). ISO 27001 certification per the trust centre, a responsible disclosure programme with a hall of fame and no rewards, penetration test reports under NDA, and no security.txt (13 of 20).
Payments & pricing 10%12.5 5.0
The official Python client documents x402 against api-x402.zyte.com, but our one unauthenticated request there on 9 October 2026 returned 401 with no 402 challenge, and the main docs and pricing page don't mention it, so we score the line as not established (0 of 40). Per-1,000 prices for all five site tiers, screenshots and extraction are public, though a given site's tier needs the dashboard's cost estimator (20). $5 of credit for the first billing month, with no card per the site (20). A person signs up in a browser, and the MCP route needs a browser sign-in too (0).
Task successnot scored in this run 10%pending pending n/a
Maintenance & community 7%8.8 6.7
Zyte MCP launched on 30 September 2026 and the Agentic Web Data plugin reached 0.4.0 on 5 October (30). Dated releases in the last 90 days are plugin 0.3.0, 0.3.1 and 0.4.0 (17 and 22 September, 5 October) and python-zyte-api 0.11.0 on 23 July (20). There is no public API changelog. Support runs through tickets and a Discord server, and we did not read GitHub issues (8 of 15 for a closed service). python-zyte-api is current, with Python 3.10 or later, and covers one language. We could not reach the MCP registry (12 of 15). The client repository has test and publish workflows and merged a dependency update on 8 October 2026. We did not see CI results (7 of 10).
Transparency & trusteditorial 58, provenance 73 7%8.8 5.8
A closed service with terms last updated on 22 September 2026 that name Zyte Group Limited and contain a Zyte API section. The Python client is BSD 3-Clause (15 of 30). The privacy policy (30 August 2024), a DPA and a sub-processor list are public, with retention stated for support tickets (4 years) and invoices (7 years). Retention of request data and scraped content isn't stated, and the terms let Zyte use Service Data for product development and product training (17 of 30). Site tier changes get two weeks' notice and the Smart Proxy Manager retirement was announced with a date, but there is no standing API deprecation policy and the terms allow changes with or without notice (10 of 20). The sub-processor list names 36 companies with addresses and purposes, and the privacy policy names the United States and Ireland as processing locations (16 of 20).
Negative events≤15None recorded0
Total69.7 · B

Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.

Fix list 18 items, the biggest gain first

Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Zyte API, or have the agent fetch /fixes/zyte.md. A fix counts at the next check, once it's public.

Markdown · JSON

Show it
# Fix list: Zyte API

From Anchor Terminal's listing at https://www.anchorterminal.com/tools/zyte, the October 2026 research run, assessed 9 October 2026. Grade B, 69.7 out of 100.

This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public.

For a coding agent working on Zyte API: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published.

## 1. Security & auth, 55 out of 100, up to 7.9 more on the total

Why it scored 55: API keys are revocable, an organisation can hold several, and none travels in a URL. Keys carry no permission scopes. Zyte MCP signs in over OAuth and works through its own key, `mcp_access_key` (22 of 30). An owner can set a blocking spending limit per key. We found no read-only mode, and the MCP docs warn that the agent can delete schedules and collections with no undo, leaving approval to the MCP client (8 of 20). The API returns untrusted web content, and the only guidance found is to review what the agent asks to do (2 of 15). The Stats API and dashboard break usage down by key, domain and request type, requests can be tagged, and each response has a `request-id`. No per-request log for the operator was found (10 of 15). ISO 27001 certification per the trust centre, a responsible disclosure programme with a hall of fame and no rewards, penetration test reports under NDA, and no security.txt (13 of 20).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-security):

- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.
- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.
- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.
- 0 to 15, audit logs or per-call visibility for the operator.
- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.

Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing.

## 2. Payments & pricing, 40 out of 100, up to 7.5 more on the total

Why it scored 40: The official Python client documents x402 against `api-x402.zyte.com`, but our one unauthenticated request there on 9 October 2026 returned 401 with no 402 challenge, and the main docs and pricing page don't mention it, so we score the line as not established (0 of 40). Per-1,000 prices for all five site tiers, screenshots and extraction are public, though a given site's tier needs the dashboard's cost estimator (20). $5 of credit for the first billing month, with no card per the site (20). A person signs up in a browser, and the MCP route needs a browser sign-in too (0).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments):

The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).

- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.
- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login.
- 20, a free tier or trial that doesn't need a card.
- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).

Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.

Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol.

## 3. Agent ergonomics, 72 out of 100, up to 4.6 more on the total

Why it scored 72: Graded on the REST API, with the MCP server noted. A request names the outputs it wants, so an agent can ask for extracted fields or `pageContent` in place of full HTML, but HTML and bodies come whole, up to 10 MB. Zyte MCP lists 34 tools at once, 26 of them for Scrapy Cloud (15 of 25). No pagination applies to a single-URL call. Search takes `maxResults` from 10 to 100, and the Stats API pages and filters (14 of 20). Errors are problem+json with a stable `type` path, and the docs say which to retry and which to fix (20). Calls are reads, failed and rate-limited requests are free, and retries are safe. We could not read the MCP tool annotations, which need a sign-in (14 of 20). A call needs only `url` and one output flag. The only official client is Python, with a Scrapy plugin (9 of 15).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics):

- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).
- 20, pagination, filtering and output-size controls.
- 20, actionable, documented error responses, codes and messages an agent can recover from.
- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.
- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.

Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs.

## 4. Reliability, 85 out of 100, up to 3 more on the total

Why it scored 85: Graded as a hosted API. status.zyte.com runs on Atlassian Statuspage with ten components and incident history (20). In the 90 days to 9 October 2026 it lists two Zyte API incidents, both degraded browser rendering with higher latency and 520 errors, on 10 to 11 September and 13 September, neither marked as an outage, plus two Scrapy Cloud scheduling incidents (20 of 30). Rate limits are published as 3,000 requests a minute per key on standard plans and 10,000 on Enterprise, though per-site limits aren't (15). 429, 503 and 520 carry `Retry-After`, and the docs give a backoff table and say which responses to retry (15). Enterprise plans list service level agreements for support response times. No uptime SLA is published (5 of 10). Zyte API is generally available, and Zyte MCP launched on 30 September 2026 with no beta label (10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability):

Hosted APIs, MCP servers, models and platforms.

- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).
- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.
- 15, rate limits documented with numbers.
- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.
- 10, an SLA published for any paid tier.
- 10, the surface agents use is generally available, not beta or preview.

Local packages, SDKs, frameworks and stdio MCP servers.

- 20, installs from an official package with supported runtimes stated.
- 25, a public CI and test suite, passing on the default branch.
- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).
- 15, semver discipline and breaking changes called out in a changelog.
- 15, version 1.0 or later, or declared stable.

Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors.

## 5. Transparency & trust, 66 out of 100, up to 3 more on the total

Made of editorial 58, provenance 73.

Why it scored 66: A closed service with terms last updated on 22 September 2026 that name Zyte Group Limited and contain a Zyte API section. The Python client is BSD 3-Clause (15 of 30). The privacy policy (30 August 2024), a DPA and a sub-processor list are public, with retention stated for support tickets (4 years) and invoices (7 years). Retention of request data and scraped content isn't stated, and the terms let Zyte use Service Data for product development and product training (17 of 30). Site tier changes get two weeks' notice and the Smart Proxy Manager retirement was announced with a date, but there is no standing API deprecation policy and the terms allow changes with or without notice (10 of 20). The sub-processor list names 36 companies with addresses and purposes, and the privacy policy names the United States and Ireland as processing locations (16 of 20).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency):

- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.
- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).
- 0 to 20, a deprecation policy or notices with dates.
- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).

The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two.

Provenance checks not met in full (half of this category, computed from checked facts):

- Terms of service: read, states 5 of the 7 things a reader expects, and has 2 clauses that cost points (4.3 of 10)
- Privacy policy: read, states 6 of the 8 things a reader expects (8.5 of 10)
- Changelog: not found (0 of 10)
- security.txt: not found (0 of 10)

## 6. Schema & documentation, 85 out of 100, up to 2.4 more on the total

Why it scored 85: The reference prints an OpenAPI 3.0.3 document for `POST /v1/extract`, though the Search API's `/v1/search` is documented in tables outside it (25). docs.zyte.com has an llms.txt and Markdown twins of its pages (10). The operation description states which output fields can be combined and which can't, and field descriptions give defaults (17 of 20). Inputs are typed, with 51 enums and required fields marked. `customAttributes` takes a free-form schema (13 of 15). The spec has a dozen request examples, and each error status has a problem+json example (15). The path is versioned `/v1` and the spec says 1.0.0, but we found no dated changelog for the API in the docs sitemap of 150 pages (5 of 15).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema):

APIs and MCP servers.

- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).
- 10, llms.txt or Markdown docs served for agents.
- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.
- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.
- 0 to 15, examples and documented error responses.
- 15, versioning and a public changelog.

Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference.

## 7. Maintenance & community, 77 out of 100, up to 2 more on the total

Why it scored 77: Zyte MCP launched on 30 September 2026 and the Agentic Web Data plugin reached 0.4.0 on 5 October (30). Dated releases in the last 90 days are plugin 0.3.0, 0.3.1 and 0.4.0 (17 and 22 September, 5 October) and `python-zyte-api` 0.11.0 on 23 July (20). There is no public API changelog. Support runs through tickets and a Discord server, and we did not read GitHub issues (8 of 15 for a closed service). `python-zyte-api` is current, with Python 3.10 or later, and covers one language. We could not reach the MCP registry (12 of 15). The client repository has test and publish workflows and merged a dependency update on 8 October 2026. We did not see CI results (7 of 10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance):

- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.
- 20, at least three releases or dated changelog entries in the last 90 days.
- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.
- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).
- 10, package health, current dependencies and CI.

Models are read for deprecation notice periods and model churn rather than release counts.

## What we couldn't check

What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it.

- Whether the x402 route works. The Python client documents `api-x402.zyte.com`, and our one unauthenticated request got 401 and no 402. We sent no further requests
- unchecked: the MCP tool definitions and annotations, which need a Zyte sign-in. The count of 34 comes from the docs table
- unchecked: the official MCP registry. registry.modelcontextprotocol.io timed out twice
- unchecked: the PyPI project pages, which returned a short page with no release data. Versions and dates come from the repository tags
- unchecked: GitHub stars and issue responsiveness for zytedata/python-zyte-api
- unchecked: the ISO 27001 certificate page and the security policies and controls pages linked from the trust centre
- Whether an uptime SLA exists for Enterprise plans. The docs describe support response times only

## Weaknesses

- Request price depends on the target site's tier, from $0.13 to $1.27 per 1,000 HTTP requests and $1.01 to $16.08 with a browser on pay-as-you-go
- No dated changelog or deprecation policy for the API was found in the 150-page docs sitemap, and the terms allow changes with or without notice
- The terms let Zyte use Service Data, data feeds and code from the services for product development and product training
- The official client documents x402 at `api-x402.zyte.com`, but our one unauthenticated request there on 9 October 2026 got 401 and no payment challenge
- Zyte MCP lists 34 tools, 26 of them for Scrapy Cloud, and some delete schedules and collections with no undo
- No security.txt, no paid bug bounty, and one official client language (Python)

## What costs an agent a turn today

The notes we give agents before they call it. Each one is a workaround an agent shouldn't need.

- Send the API key as the Basic auth username with an empty password to `https://api.zyte.com/v1/extract`. Set only one of `httpResponseBody` or `browserHtml`, or one extraction field
- Ask for `httpResponseBody` before `browserHtml`. Browser requests cost about eight to thirteen times more per tier
- Retry 429, 503 and 520 after the `Retry-After` seconds, with backoff. They aren't billed. Don't retry 400, 401, 422 or 451
- Read `statusCode` in a 200 response. A target site's 404 comes back as a successful, billed Zyte API response
- Have the owner set a blocking spending limit on the key you use. A 403 `/auth/account-suspended` means the limit or the trial month ended

## When it's done

Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.

What we couldn't check

  • Whether the x402 route works. The Python client documents api-x402.zyte.com, and our one unauthenticated request got 401 and no 402. We sent no further requests
  • unchecked: the MCP tool definitions and annotations, which need a Zyte sign-in. The count of 34 comes from the docs table
  • unchecked: the official MCP registry. registry.modelcontextprotocol.io timed out twice
  • unchecked: the PyPI project pages, which returned a short page with no release data. Versions and dates come from the repository tags
  • unchecked: GitHub stars and issue responsiveness for zytedata/python-zyte-api
  • unchecked: the ISO 27001 certificate page and the security policies and controls pages linked from the trust centre
  • Whether an uptime SLA exists for Enterprise plans. The docs describe support response times only

Sources 22

  1. docs index for agents docs.zyte.com · seen 2026-10-09
  2. API reference with the OpenAPI document docs.zyte.com · seen 2026-10-09
  3. error handling and retries docs.zyte.com · seen 2026-10-09
  4. rate limits docs.zyte.com · seen 2026-10-09
  5. pricing rules, plans and spending limits docs.zyte.com · seen 2026-10-09
  6. tier prices zyte.com · seen 2026-10-09
  7. Zyte MCP documentation docs.zyte.com · seen 2026-10-09
  8. Zyte MCP launch post zyte.com · seen 2026-10-09
  9. MCP OAuth resource metadata mcp.zyte.com · seen 2026-10-09
  10. status page status.zyte.com · seen 2026-10-09
  11. incident history feed status.zyte.com · seen 2026-10-09
  12. terms of service zyte.com · seen 2026-10-09
  13. acceptable use policy zyte.com · seen 2026-10-09
  14. privacy policy zyte.com · seen 2026-10-09
  15. data processing agreement zyte.com · seen 2026-10-09
  16. sub-processor list zyte.com · seen 2026-10-09
  17. trust centre zyte.com · seen 2026-10-09
  18. responsible disclosure programme zyte.com · seen 2026-10-09
  19. Python client source, tags, changelog and x402 docs github.com · seen 2026-10-09
  20. Agentic Web Data plugin source and changelog github.com · seen 2026-10-09
  21. PyPI downloads for zyte-api pypistats.org · seen 2026-10-09
  22. domain registration rdap.verisign.com · seen 2026-10-09

Probe metrics

Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.

Pricing & changes

Pay per use $0.13 / 1k req $5 free credit for the first billing month on signup, with no card per the site, so an agent's owner can start without a contract. After that, pay-as-you-go from $0.13 to $1.27 per 1,000 successful HTTP requests and $1.01 to $16.08 per 1,000 browser requests, by the target site's tier (1 to 5). Screenshots add $1.34 per 1,000 and automatic extraction $0.27 to $1.07 per 1,000. Monthly commitments of $100 to $500 take 25 to 52 per cent off. Failed, banned and rate-limited requests are free (https://www.zyte.com/pricing/, https://docs.zyte.com/zyte-api/pricing.md).

Prices

ItemPriceUnitNote
HTTP request, tier 1 site, pay-as-you-go$0.13per 1,000 requestsTiers 2 to 5 cost $0.23, $0.44, $0.70 and $1.27
HTTP request, tier 5 site, pay-as-you-go$1.27per 1,000 requestsOnly successful responses are billed
Browser request, tier 1 site, pay-as-you-go$1.01per 1,000 requestsTiers 2 to 5 cost $2.01, $4.02, $8.04 and $16.08
Browser request, tier 5 site, pay-as-you-go$16.08per 1,000 requestsActions and network capture cost extra
Screenshot, added to a browser request$1.34per 1,000 requestsPay-as-you-go price
HTTP request, tier 1 site, $500 commitment$0.06per 1,000 requests52 per cent volume discount

Compared across listings on the price index.

Recent changes

  • Latest release

Follow them as a feed at /feeds/tools/zyte.xml, or this listing's score history at history.json.

Connect

Install

pip install zyte-api

First request

curl \
    --user YOUR_ZYTE_API_KEY: \
    --header 'Content-Type: application/json' \
    --data '{"url": "https://toscrape.com", "httpResponseBody": true}' \
    --compressed \
    https://api.zyte.com/v1/extract

Claude Code

claude mcp add --transport http zyte https://mcp.zyte.com/v1/mcp

MCP client configuration

{
  "mcpServers": {
    "zyte": {
      "type": "http",
      "url": "https://mcp.zyte.com/v1/mcp"
    }
  }
}

Through letme picks today, calling later

GET https://letme.dev/zyte

letme picks this listing for search.serp, because it's the top-graded tool for the job.

letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.

Similar toolGrade ScoreShared capabilitiesx402
ZenRows ZenRowsBB74.8web.scrape web.extract browser.hosted scraping.proxies scraping.js-render scraping.anti-bot scraping.screenshotno
Spider Spider (BAGELMEN LLC)BB74.1web.scrape web.extract browser.hosted scraping.proxies scraping.js-render scraping.anti-bot scraping.screenshot✓
Scrapfly Scrapfly (Joam Intelligence, LLC)B69.6web.scrape web.extract browser.hosted scraping.proxies scraping.js-render scraping.anti-bot scraping.screenshotno
ScrapeGraphAI ScrapeGraphAIB68.3web.scrape web.extract scraping.proxies scraping.js-render scraping.anti-bot scraping.screenshotno
Olostep Olostep Technologies, Inc.B63web.scrape web.extract scraping.proxies scraping.js-render scraping.anti-bot scraping.screenshotno
Oxylabs Web Scraper API oxylabs, UABB63web.scrape web.extract scraping.proxies scraping.js-render scraping.anti-bot search.serpno

Machine-readable

Verify this listing

For the vendor

Is this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.

  1. Add the badge or a link

    Zyte API on Anchor Terminal, B, 69.7/100
    On a light page
    On a dark page
    <a href="https://www.anchorterminal.com/tools/zyte"><img src="https://www.anchorterminal.com/badges/zyte.svg" alt="Zyte API on Anchor Terminal" height="20"></a>
    [![Zyte API on Anchor Terminal](https://www.anchorterminal.com/badges/zyte.svg)](https://www.anchorterminal.com/tools/zyte)

    It counts on a page on zyte.com or one of its subdomains, or the README of github.com/zytedata/python-zyte-api.

  2. Tell us where it is

    We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.

Agents send the same to POST /api/v1/verify as {"slug": "zyte", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.