# Zyte API pricing

[Sign up](https://app.zyte.com/account/signup/zyteapi) to get a [standard plan](#standard-plans) with no commitment
and some [free credit](#zapi-trial).

Request cost [depends on the target website and selected features](#zapi-request-cost).
Use our [cost estimator](https://app.zyte.com/o/cost-estimator) to calculate costs.

We charge only for [successful responses](usage/errors.md#zapi-successful-responses) and
provide [volume discounts](#zapi-volume-discount).

## Plans

|                                                   | Standard (PAYG)                                                    | Standard (commitment)                                               | Enterprise                                                        |
|---------------------------------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------|-------------------------------------------------------------------|
| How to enroll?                                    | Automatic on [signup](https://app.zyte.com/account/signup/zyteapi) | [Subscriptions](https://app.zyte.com/o/subscriptions/overview) page | [Contact sales](https://www.zyte.com/zyte-web-scraping-api/#form) |
| [Initial free credit](#zapi-trial)                | $5 [^1]                                                            | $5 [^1]                                                             | $200                                                              |
| [Rate limit](usage/rate-limit.md#zapi-rate-limit) | 3000 RPM                                                           | 3000 RPM                                                            | 10000 RPM                                                         |
| [Spending limit](#zapi-spending-limit)            | $100 / month                                                       | $200-$2500 / month                                                  | Custom                                                            |
| [Commitment](#zapi-monthly-commitment)            |                                                                    | $100-$500                                                           | Custom                                                            |
| [Volume discount](#zapi-volume-discount)          |                                                                    | 25%-52%                                                             | Custom                                                            |
[^1]: Shared across standard plans. Switching to another standard plan does not provide additional free credit.

**Enterprise** plans may also enjoy:

- Assistance from expert engineers for onboarding and troubleshooting.
- Access to compliance experts (see also [Permissions control](usage/features.md#zapi-permissions-control)).
- Add-on consultancy to design and scale projects.
- Premium 24/7 support and service level agreements (SLAs): 1-hour response
  time on weekdays, and 8 hours on weekends.
- Early access to new features and priority in feature requests.

## Initial free credit

On [sign up](https://app.zyte.com/account/signup/zyteapi), you receive $5 free credit for your first billing month.

After your free credit expires, your [account is suspended](#zapi-account-suspension)
until you set a [spending limit](#zapi-spending-limit). Set a spending limit
before your free credit expires to ensure uninterrupted service.

Standard plans include $5 free credit, while an [Enterprise plan](#enterprise-plans) includes $200 free credit.

Switching between standard plans does not provide additional free credit. Your
initial $5 credit carries over when you change your commitment level.

## Request costs

The **target website** and **request type** ([HTTP](usage/http.md#zapi-body) or
[browser](usage/browser.md#zapi-browser)) determine the request [tier](#tiers) and base cost.

Requests using [extended geolocations](usage/features.md#zapi-extended-geolocations) or
[device residential IPs](usage/features.md#zapi-residential) have different base costs
that depend only on request type, plus additional costs based on network
consumption.

Additional costs apply for:

- [Actions](usage/browser.md#zapi-actions): Based on CPU and network consumption [^3]
- [Network captures](usage/browser.md#zapi-network-capture): Based on output size
- [Screenshots](usage/browser.md#zapi-screenshot): $0.002 [^2]
- [Automatic extraction](usage/extract/index.md#zapi-extract-fields): $0.0004-$0.0016 per data type [^2]
  (except [serp](https://docs.zyte.com/zyte-api/usage/reference.html#operation/extract/request/serp), which is free)
- [Custom attributes](usage/extract/custom-attributes.md#custom-attributes): Cost depends on the extraction
  [method](https://docs.zyte.com/zyte-api/usage/reference.html#operation/extract/request/customAttributesOptions.method):
  - [“generate”](https://docs.zyte.com/zyte-api/usage/reference.html#operation/extract/request/customAttributesOptions.method): Based on
    [inputTokens](https://docs.zyte.com/zyte-api/usage/reference.html#operation/extract/response/200/customAttributes.metadata.inputTokens) ($0.002/1k) and
    [outputTokens](https://docs.zyte.com/zyte-api/usage/reference.html#operation/extract/response/200/customAttributes.metadata.outputTokens) ($0.01/1k) [^2]
  - [“extract”](https://docs.zyte.com/zyte-api/usage/reference.html#operation/extract/request/customAttributesOptions.method): Fixed $0.001 [^2]

For [CDP headless browser](usage/cdp.md#cdp), see [CDP pricing](usage/cdp.md#cdp-pricing).

[^2]: Cost before [volume discount](#zapi-volume-discount).
[^3]: Network costs scale with [device residential IPs](usage/features.md#zapi-residential) usage.

## Request tiers

Zyte API automatically uses the most cost-efficient technology for each website
and assigns price tiers accordingly.

There are 5 tiers each for [HTTP requests](usage/http.md#zapi-body) and [browser requests](usage/browser.md#zapi-browser).
Every combination of target website and request type belongs to a tier that determines
the base cost. See [Pricing @ zyte.com](https://www.zyte.com/pricing/#pricing)
for tier pricing and distribution data.

Tier assignment is automatic. New combinations start with a temporary tier until
enough data is gathered for permanent assignment.

We review tier assignments quarterly. Affected customers receive 2 weeks notice
of any tier changes.

## Successful responses

You are only charged for [successful](usage/errors.md#zapi-successful-responses) responses.
[Rate-limiting](usage/errors.md#zapi-rate-limit-responses) and [unsuccessful](usage/errors.md#zapi-unsuccessful-responses)
responses are free.

## Spending limit

Your spending limit is the maximum monthly charge for Zyte API usage. When
reached, your [account is suspended](#zapi-account-suspension) until the
next billing month.

You can also define your own [spending alerts and limits](#zapi-spending-alerts) to track usage and stop spending before you reach this
limit.

[Enterprise plans](#enterprise-plans) have custom spending limits managed
through your account manager.

On [standard plans](#standard-plans), you can either have a $100 spending
limit which is pay-as-you-go, or a higher spending limit ($200, $400, $700 or
$2500) where you pay [monthly commitment](#zapi-monthly-commitment) plus additional spend based on actual usage up to
your spending limit.

**Increasing spending limits:**

- Takes effect immediately and lifts account suspension
- For $200+ limits, you pay the monthly commitment difference immediately
- Changes your monthly commitment for future billing cycles

**Decreasing spending limits:**

- Takes effect next billing month

For limits above $2500, [contact sales](https://www.zyte.com/zyte-web-scraping-api/#form) for an [Enterprise plan](#enterprise-plans).

## Account suspension

When you reach your [spending limit](#zapi-spending-limit), or a
[user-defined spending limit](#zapi-spending-alerts), requests return
[account suspension responses](usage/errors.md#zapi-account-suspension-response).

[Enterprise plans](#enterprise-plans): Contact your account manager.

[Standard plans](#standard-plans): [Increase your spending limit](#standard-plan-increase-spending-limit) to immediately resume service.

## Spending alerts and limits

On top of your plan [spending limit](#zapi-spending-limit), you can define
your own **spending alerts** and **spending limits** to monitor and control
Zyte API usage:

- A **spending alert** emails the people you choose when Zyte API spend reaches
  a threshold you set. It does not affect your service.
- A **spending limit** is a blocking alert: in addition to notifying you, it
  suspends Zyte API usage for the rest of the billing month once the threshold
  is reached. Use it to cap spending at a custom amount below your plan
  spending limit. This limit can only be set by organization owners.

**Thresholds**

Each alert or limit uses an **absolute amount**, in your organization’s currency.

A blocking spending limit threshold cannot exceed your plan spending limit. By
default, plans allow overage spending beyond the base limit. For example, a
$500 plan may permit up to $2,000 in overage, billed on the next invoice. A
blocking spending limit lets you cap spending below the plan ceiling to avoid
unexpected overage charges.

**Scope**

You can apply an alert to:

- Your **whole organization**: total Zyte API spend. Organization owners may
  also configure a blocking spending limit scoped to the whole organization.
- A **specific domain**: spend on requests to a target domain, including
  subdomains (e.g. `example.com` and `subdomain.example.com`). Domain
  alerts are informational only and cannot be configured as blocking limits.
- A **specific API key**: spend on requests authenticated with that API key.
  Can be configured as either an informational alert or a blocking spending
  limit. When the blocking threshold is reached, only requests using that API
  key are suspended; other API keys in your organization continue to work.
  API key alerts and limits can only be created by organization owners.

**Period: organization-wide alerts**

Organization-wide alerts use the **Billing cycle** period: cumulative spend
since the start of the current billing period. For example, if a subscription
began on June 1, the billing cycle runs until July 1, and a threshold of $10
triggers a notification if total spend for that period exceeds $10. Each
organization can have at most one organization-wide billing cycle alert.

**Period: domain alerts**

For domain alerts, spend is evaluated over one of:

- **Last 24 hours**: spend in the preceding 24-hour window. For example, a
  threshold of $10 triggers a notification each day your spend exceeds $10.
- **Last 7 days**: spend in the preceding 7-day window. For example, a
  threshold of $10 triggers a notification each week your spend exceeds $10.

**Period: API key alerts**

API key alerts use the **Billing cycle** period: cumulative spend since the
start of the current billing period.

**Notifications**

When a threshold is reached, the users you select for the alert receive an email
showing the period, your usage, and the threshold, in your organization’s
currency.

**When a spending limit is reached**

Once your organization’s billing-month spend reaches an organization-wide
blocking spending limit, Zyte API requests return [account suspension
responses](usage/errors.md#zapi-account-suspension-response) for the rest of the billing
month. Service resumes automatically at the start of the next billing month.
To resume sooner, raise or remove the spending limit, or [increase your
plan spending limit](#standard-plan-increase-spending-limit).

When a per-API-key blocking spending limit is reached, only requests
authenticated with that API key are suspended for the rest of the billing
month. Other API keys in your organization continue to work. To resume sooner,
raise or remove the API key spending limit.

**Who can define them**

- Organization owners and members with permission to manage the organization
  can create organization-wide and domain alerts.
- Only organization owners can create blocking limits and API key alerts.

**How to define them**

Manage your alerts and limits on the [Spending alerts](https://app.zyte.com/o/spending-alerts) page of the [Zyte
dashboard](https://app.zyte.com). Create an alert, choose its scope, threshold,
period, and recipients, and enable blocking to turn it into a spending limit.

## Monthly commitment

[Enterprise plans](#enterprise-plans): Custom monthly commitment

[Standard plans](#standard-plans):

- $100 spending limit: No monthly commitment (PAYG)
- $200 spending limit: $100 monthly commitment
- $400 spending limit: $200 monthly commitment
- $700 spending limit: $350 monthly commitment
- $2500 spending limit: $500 monthly commitment

Your monthly commitment determines your [volume discount](#zapi-volume-discount).

Monthly commitment is paid at the start of each billing month. If your actual
usage exceeds the commitment, you pay the additional spend on your next bill.
If usage is below the commitment, no refund is provided.

**Example:** $200 spending limit = $100 monthly commitment

- Month 1: Pay $100 commitment
- Actual usage: $150 → Next bill includes $50 additional spend
- Actual usage: $80 → Next bill includes $0 additional spend

## Volume discount

Volume discounts are applied to each request.

[Enterprise plans](#enterprise-plans): Custom volume discount

[Standard plans](#standard-plans): Volume discount based on [monthly
commitment](#zapi-monthly-commitment):

| Monthly commitment   | Volume discount   |
|----------------------|-------------------|
| $100                 | 25%               |
| $200                 | 40%               |
| $350                 | 48%               |
| $500                 | 52%               |
