Usage Analytics
Returns your organization’s Perplexity usage analytics as a bucketed time series for a single dataset. Requires an organization analytics API key, generated by an org admin from Settings → Organization → Computer in the Perplexity web app. Only complete UTC grid buckets are returned: start_time snaps down to its bucket, and the in-progress bucket is never included. Datasets differ in what they count: credits for credit_usage, queries for query_volume, distinct active members for daily_active_users, and thread counts for the rest. Buckets of daily_active_users are not additive — a member active on several days is counted once per day, so summing them is not the window’s active-member count.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
The dataset to query. query_volume and daily_active_users are daily organization-level datasets: they reject bucket_width=1h and user_email.
credit_usage, connectors, artifacts, skills, spaces, workflows, task_durations, query_volume, daily_active_users Window start in unix seconds (UTC), inclusive. Snapped down to the bucket grid, so the first bucket can include usage from before this time.
x >= 0Window end in unix seconds (UTC), exclusive. Defaults to now; future values are capped at now. The window may span at most 90 days.
x >= 0Bucket size. Buckets align to the UTC grid. Not accepted as 1h for query_volume or daily_active_users, which are stored at day grain.
1d, 1h Buckets per page. 1d: default 7, max 31. 1h: default 24, max 168.
Opaque pagination cursor from a previous response's next_page. Keep the other query parameters unchanged to continue the same report.
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.
Response
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. The credit_usage example shows total credit usage and a Model breakdown. Use categories to determine which breakdowns are available. Do not infer zero usage for a breakdown that is not returned.
Available category breakdown labels, in canonical render order. Each label is a key in every bucket's by_categories. Use this list to determine which breakdowns are available. The credit_usage example uses the Model axis.
Every bucket in the page's window, in chronological order. Buckets without data carry count 0 and an empty breakdown.
Whether additional complete buckets remain in the requested time window. This does not indicate whether the data has synced.
Opaque cursor for the next page. Pass it as page and keep the other query parameters unchanged to continue the same report.