Skip to main content
Perplexity

Search documentation

Type to search this documentation.

Usage Analytics

GET

/

v1

/

analytics

/

computer

/

usage

Usage Analytics

curl --request GET \
  --url https://api.perplexity.ai/v1/analytics/computer/usage \
  --header 'Authorization: Bearer <token>'
title="200"
{
  "categories": [
    "Model",
    "Credit Source"
  ],
  "data": [
    {
      "start_time": 1746057600,
      "end_time": 1746144000,
      "count": 350,
      "by_categories": {
        "Model": [
          {
            "category": "claude-opus-4-8",
            "count": 210
          },
          {
            "category": "claude-sonnet-4-6",
            "count": 120
          }
        ],
        "Credit Source": [
          {
            "category": "paid",
            "count": 250
          },
          {
            "category": "promo",
            "count": 80
          }
        ]
      }
    }
  ],
  "has_more": false,
  "next_page": null
}
title="400"
{
  "error": {
    "message": "start_time must be before end_time.",
    "type": "invalid_request",
    "code": 400
  }
}
title="401"
{
  "error": {
    "message": "<string>",
    "type": "<string>",
    "code": 123
  }
}
title="404"
{
  "error": {
    "message": "<string>",
    "type": "<string>",
    "code": 123
  }
}
title="429"
{
  "error": {
    "message": "<string>",
    "type": "<string>",
    "code": 123
  }
}

Authorization

string

header

required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

dataset

enum<string>

required

The dataset to query. query_volume and daily_active_users are daily organization-level datasets: they reject bucket_width=1h and user_email.

Available options:

credit_usage,

connectors,

artifacts,

skills,

spaces,

workflows,

task_durations,

query_volume,

daily_active_users

start_time

integer

required

Window start in unix seconds (UTC), inclusive. Snapped down to the bucket grid, so the first bucket can include usage from before this time.

Required range: x >= 0

end_time

integer

Window end in unix seconds (UTC), exclusive. Defaults to now; future values are capped at now. The window may span at most 90 days.

Required range: x >= 0

bucket_width

enum<string>

default:1d

Bucket size. Buckets align to the UTC grid. Not accepted as 1h for query_volume or daily_active_users, which are stored at day grain.

Available options:

1d,

1h

limit

integer

Buckets per page. 1d: default 7, max 31. 1h: default 24, max 168.

page

string

Opaque pagination cursor from a previous response's next_page. Valid only with the same query parameters it was issued for.

user_email

string<email>

Restrict results to a single member of your organization. Emails that don't match a current member return a generic 400. Not available for query_volume or daily_active_users, which are aggregated per organization; use the v2 endpoint for per-member query volume.

Bucketed usage for the requested window. Buckets without data carry count 0; the analytics store syncs periodically, so a zero in a recent bucket can mean the data hasn't synced yet.

categories

string[]

required

Category breakdown labels the requested dataset surfaces, in canonical render order. Each label is a key in every bucket's by_categories.

data

object[]

required

Every bucket in the page's window, in chronological order. Buckets without data carry count 0 and an empty breakdown.

Show child attributes

has_more

boolean

required

Whether more buckets exist beyond this page. False also when the window's remaining buckets are past the current data frontier.

next_page

string | null

Cursor for the next page; pass as the page parameter with otherwise identical query parameters.

Was this page helpful?

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu