Zyte API stats API#

Tip

For the reference documentation of the HTTP API of Zyte API itself, see Zyte API reference documentation.

The Zyte dashboard has a Stats page that lets you monitor different aspects of your Zyte API requests, including cost, response time, or features used.

Zyte API also offers an HTTP API to query your Zyte API requests.

Authentication#

All requests require basic authentication, with your Zyte dashboard API key (not your Zyte API key) as username, and no password. For example, if your API key is foo, you base64-encode foo: as Zm9vOg== and send the Authorization header with value Basic Zm9vOg==.

Authorization: Basic Zm9vOg==

Basic usage#

The most basic request only requires an organization ID.

To find your organization ID, open the Zyte dashboard and copy your organization ID from the browser address bar. For example, if the URL is https://app.zyte.com/o/000000, 000000 is your organization ID.

curl \
    --user YOUR_API_KEY: \
    --compressed \
    https://zyte-api-stats.zyte.com/api/stats?organization_id=000000
{
    "page": 1,
    "page_size": 500,
    "results": [
        {
            "cost_microusd_avg": "1335.10",
            "cost_microusd_p80": "2040.00",
            "cost_microusd_total": "584773.00",
            "organization_id": 000000,
            "request_count": 438,
            "response_time_sec_avg": "5.49",
            "response_time_sec_p80": "6.40",
            "status_codes": [
                {
                    "code": null,
                    "count": 3
                },
                {
                    "code": 200,
                    "count": 432
                },
                {
                    "code": 404,
                    "count": 3
                }
            ]
        }
    ],
    "total_result_count": 1
}

Rate limiting#

The stats API has a rate limit of 20 requests per minute. Anything above that will trigger a 429 response.

Reference#

APIFlask (0.1.0)

Download OpenAPI specification:Download

Stats

Authorizations:
query Parameters
organization_id
required
integer
page
integer >= 1
Default: 1
page_size
integer [ 1 .. 500 ]
Default: 500
start_time
string <date-time>

The start date and time in ISO 8601-1 format (e.g. 2024-09-10T00:00:00Z).

It defaults to 7 days in the past.

end_time
string <date-time>

The end date and time in ISO 8601-1 format (e.g. 2024-09-17T00:00:00Z).

It defaults to the current date and time.

domains
string [ 0 .. 64 ] characters
apikey_labels
string [ 0 .. 64 ] characters
response_codes
string [ 0 .. 64 ] characters
requested_features
any
Enum: "actions" "browserHtml" "fileDownload" "httpResponseBody" "networkCapture" "screenshot" "sessionContext" "extendedGeolocation"
extraction_type
any
Enum: "article" "articleList" "articleNavigation" "forumThread" "jobPosting" "jobPostingNavigation" "product" "productList" "productNavigation"
extraction_from
any
Enum: "httpResponseBody" "browserHtml"
tags
string [ 0 .. 64 ] characters
groupby_time
string or null
Default: null
Enum: "hour" "day" "month" "year" null
groupby_domain
boolean
Default: false

Responses

Response Schema: application/json
page
required
integer >= 1
page_size
required
integer [ 1 .. 500 ]
Array of objects (StatsResult) [ items ]
Array
cost_microusd_avg
required
number >= 0.00
cost_microusd_p80
required
number >= 0.00
cost_microusd_total
required
number >= 0.00
day
string <date-time>
domain
string [ 0 .. 256 ] characters
hour
string <date-time>
month
string <date-time>
organization_id
required
integer
request_count
required
integer >= 1
response_time_sec_avg
required
number >= 0.00
response_time_sec_p80
required
number >= 0.00
Array of objects[ items ]
Array
property name*
additional property
integer or null >= 0
year
string <date-time>
total_result_count
required
integer >= 1

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 1,
  • "results": [
    ],
  • "total_result_count": 1
}