/v2/analytics/computer/usageUsage Analytics per MemberReturns your organization's Perplexity usage broken down per member, as daily buckets. Each day lists one row per member with usage that day, keyed by email. credit_usage carries the same Model and Credit Source breakdown as v1; query_volume carries Feature, Project and Comet. Uses the same organization analytics API key as v1. Only complete UTC days are returned; the in-progress day is never included.
Parameters
datasetstringqueryrequiredThe dataset to query. query_volume at this grain carries Feature, Project and Comet breakdowns, but not Model or Model Family.
group_bystringqueryrequiredThe dimension to group each day's usage by. user_email is currently the only supported value.
start_timeintegerqueryrequiredWindow start in unix seconds (UTC), inclusive. Snapped down to the day grid, so the first day can include usage from before this time.
end_timeintegerqueryWindow end in unix seconds (UTC), exclusive. Defaults to now; future values are capped at now. The window may span at most 90 days.
limitintegerqueryMember rows per page. Default 50, max 100. A page can span multiple days.
pagestringqueryOpaque pagination cursor from a previous response's next_page. Valid only with the same query parameters it was issued for.
Responses
categoriesarray of stringrequiredCategory breakdown labels each member row surfaces, in canonical render order. Each label is a key in every row's `by_categories`.
Show child attributes
dataarray of objectrequiredDaily buckets in chronological order, each with one row per member who used credits that day. Days with no attributable usage are omitted.
Show child attributes
Show array items
end_timeintegerrequiredDay end in unix seconds (UTC), exclusive.
resultsarray of objectrequiredOne row per member with credit usage on this day.
Show child attributes
Show array items
One member's credit usage for a single day.
by_categoriesobjectrequiredThe member's day broken down by each label in the response's top-level `categories` list.
countintegerrequiredThe member's credit total for the day. May exceed the sum of any single breakdown — usage without a category attribution counts toward the total but not the breakdown.
user_emailstringrequiredThe member's email. Rows whose member can no longer be resolved to an email are omitted.
start_timeintegerrequiredDay start in unix seconds (UTC), inclusive.
has_morebooleanrequiredWhether more member rows exist beyond this page.
next_pagenull | stringCursor for the next page; pass as the page parameter with otherwise identical query parameters.
{
"categories": [
"Model",
"Credit Source"
],
"data": [
{
"end_time": 1746144000,
"results": [
{
"by_categories": {
"Credit Source": [
{
"category": "paid",
"count": 900
}
],
"Model": [
{
"category": "claude-opus-4-8",
"count": 900
}
]
},
"count": 900,
"user_email": "alice@example.com"
},
{
"by_categories": {
"Credit Source": [
{
"category": "promo",
"count": 500
}
],
"Model": [
{
"category": "claude-sonnet-4-6",
"count": 500
}
]
},
"count": 500,
"user_email": "bob@example.com"
}
],
"start_time": 1746057600
}
],
"has_more": true,
"next_page": "eyJwayI6ICJPUkcjLi4uIn0="
}errorobjectrequiredShow child attributes
codeintegerrequiredmessagestringrequiredtypestringrequired{
"error": {
"code": 400,
"message": "start_time must be before end_time.",
"type": "invalid_request"
}
}errorobjectrequiredShow child attributes
codeintegerrequiredmessagestringrequiredtypestringrequired{
"error": {
"code": 0,
"message": "string",
"type": "string"
}
}errorobjectrequiredShow child attributes
codeintegerrequiredmessagestringrequiredtypestringrequired{
"error": {
"code": 0,
"message": "string",
"type": "string"
}
}errorobjectrequiredShow child attributes
codeintegerrequiredmessagestringrequiredtypestringrequired{
"error": {
"code": 0,
"message": "string",
"type": "string"
}
}