Zyte · Authentication Profile

Zyte Authentication

Authentication

Every Zyte HTTP surface uses the same mechanism — RFC 7617 HTTP Basic with the API key as username and an EMPTY password — but they do NOT share the same key. Zyte runs three separate key namespaces, and the docs call this out explicitly ("Scrapy Cloud uses a different API key than Zyte API"; the Stats API needs "your Zyte dashboard API key (not your Zyte API key)"). An agent holding one Zyte key can call exactly one of the three surfaces. There are no OAuth flows, no scopes, and no token exchange anywhere in the estate, so scopes/ is intentionally absent for this provider.

Zyte secures its APIs with http across 1 declared security scheme, as derived from its OpenAPI definitions.

CrawlingData ExtractionScrapingWeb ScrapingProxiesBrowser AutomationAnti-BanSERPAgent SkillsDeveloper Tools
Methods: http Schemes: 1 OAuth flows: API key in:

Security Schemes

BasicAuth http
scheme: basic · in: header ()

Source

Authentication Profile

Raw ↑
generated: '2026-08-29'
method: searched
source: >-
  https://docs.zyte.com/zyte-api/usage/reference.html,
  https://docs.zyte.com/zyte-api/usage/stats/index.html,
  https://docs.zyte.com/scrapy-cloud/usage/reference/http/index.html,
  https://python-zyte-api.readthedocs.io/en/stable/ref/cli.html
docs: https://docs.zyte.com/zyte-api/get-started.html
provider: Zyte
providerId: zyte
summary:
  types:
    - http
  schemes: 1
  oauth2: false
  scopes: false
description: >-
  Every Zyte HTTP surface uses the same mechanism — RFC 7617 HTTP Basic with the
  API key as username and an EMPTY password — but they do NOT share the same
  key. Zyte runs three separate key namespaces, and the docs call this out
  explicitly ("Scrapy Cloud uses a different API key than Zyte API"; the Stats
  API needs "your Zyte dashboard API key (not your Zyte API key)"). An agent
  holding one Zyte key can call exactly one of the three surfaces. There are no
  OAuth flows, no scopes, and no token exchange anywhere in the estate, so
  scopes/ is intentionally absent for this provider.
schemes:
  - name: BasicAuth
    type: http
    scheme: basic
    in: header
    header: Authorization
    format: 'Basic base64("<API_KEY>:")'
    password: empty
    sources:
      - openapi/zyte-zyte-api-openapi.yaml
      - openapi/zyte-stats-api-openapi.yaml
    applied_to: all operations in both specs
key_namespaces:
  - surface: Zyte API
    host: https://api.zyte.com/v1
    credential: Zyte API key
    obtain: https://app.zyte.com/o/zyte-api/api-access
    env_var: ZYTE_API_KEY
    note: >-
      Used by python-zyte-api, the zyte-api CLI and scrapy-zyte-api. Failure
      modes are /auth/not-valid (401, malformed/missing) and /auth/key-not-found
      (401, wrong key) — see errors/zyte-problem-types.yml.
  - surface: Zyte API Stats API
    host: https://zyte-api-stats.zyte.com
    credential: Zyte dashboard API key
    obtain: https://app.zyte.com/o/settings
    note: >-
      Documented explicitly as NOT the Zyte API key. Requests also require an
      `organization_id` query parameter, which is the real tenancy boundary on
      this surface.
  - surface: Scrapy Cloud API
    hosts:
      - https://app.zyte.com/api
      - https://storage.zyte.com
    credential: Scrapy Cloud API key
    obtain: https://app.zyte.com/o/settings/apikey
    alternate_transport: >-
      Also accepted as an `?apikey=` URL query parameter. This is a documented
      convenience that puts a long-lived credential into URLs, request logs and
      proxy history — prefer the Basic header.
  - surface: Zyte API via x402
    host: https://api.zyte.com/v1
    credential: Ethereum private key (x402 machine payment protocol)
    obtain: 'pip install "zyte-api[x402]"; zyte-api --eth-key ...'
    note: >-
      An alternative to holding a Zyte account key at all — the zyte-api CLI
      accepts --eth-key (mutually exclusive with --api-key) and pays per request
      over x402. Genuinely notable: an agent can call Zyte API without ever
      being onboarded as a Zyte customer.
    source: https://python-zyte-api.readthedocs.io/en/stable/ref/cli.html
account_lifecycle:
  suspension:
    trigger:
      - Trial free credit exhausted
      - Monthly spending limit reached
    response: '403 /auth/account-suspended'
    recovery: >-
      Setting or raising the spending limit lifts the suspension immediately.
      Documented at https://docs.zyte.com/zyte-api/pricing.html#zapi-account-suspension

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/zyte-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.