Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

Get Token Usage Over Time changedapi/admin/analytics/usage/list

Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+48added
Lines−21removed
From line 1 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits6to this page, all time

# Get Token Usage Over Time ## Query parameters ## Returns ## Example ### Response (200) ## Get Token Usage Over Time ### Query Parameters ### Returns ### Example #### Response

The whole hunk

from line 1, old and new numbered
/
lines
from line 1
1---
2title: Get Token Usage Over Time
3url: https://platform.claude.com/docs/en/api/admin/analytics/usage/list
4---
1# Get Token Usage Over Time
52 
6## Get Token Usage Over Time
3**GET** `/v1/organizations/analytics/usage_report`
74 
8**get** `/v1/organizations/analytics/usage_report`
9 
105Get token usage over time across a date range.
116 
127Returns token usage bucketed by minute, hour, or day, optionally broken
from line 9
149Available to organizations on a Claude Enterprise plan. Requires an API
1510key with the `read:analytics` scope.
1611 
17### Query Parameters
12## Query parameters
1813 
1914- `starting_at: string`
2015 
2116 Start of range, inclusive. RFC 3339 tz-aware. Must be within the last 365 days and no earlier than 2026-01-01T00:00:00Z.
2217 
18 format: date-time
19 
2320- `bucket_width: optional "1d" or "1h" or "1m"`
2421 
2522 Time bucket granularity.
2623 
24 default: 1d
25 
2726 - `"1d"`
2827 
2928 - `"1h"`
from line 33
3433 
3534 Filter to specific context-window pricing tiers. Use `group_by[]=context_window` to break out per-tier values.
3635 
36 maxItems: 100
37 
3738 - `"0-200k"`
3839 
3940 - `"200k-1M"`
from line 43
4243 
4344 End of range, exclusive. When omitted, defaults to the earlier of now and `starting_at` + 31 days. The range may span at most 31 days.
4445 
46 format: date-time
47 
4548- `group_by: optional array of "context_window" or "inference_geo" or "model" or 4 more`
4649 
4750 Dimensions to break each time bucket out by. Defaults to no grouping (one total per bucket). Each bucket reports at most its top 100 groups; a group beyond that cap has no row in that bucket (there is no remainder row), so grouped buckets are not exhaustive when a dimension has more than 100 distinct values.
4851 
52 maxItems: 100
53 
4954 - `"context_window"`
5055 
5156 - `"inference_geo"`
from line 69
6469 
6570 Filter to specific inference regions. `not_available` matches rows where the region is unset. Use `group_by[]=inference_geo` to break out per-region values.
6671 
72 maxItems: 100
73 
6774 - `"global"`
6875 
6976 - `"not_available"`
from line 81
7481 
7582 Maximum number of time buckets per page. Defaults and caps vary by bucket_width (1d: default 7, max 31; 1h: default 24, max 168; 1m: default 60, max 256).
7683 
84 minimum: 1
85 
7786- `models: optional array of string`
7887 
7988 Models to include. Defaults to all models. Use `group_by[]=model` to break out per-model values.
8089 
90 maxItems: 100
91 
8192- `page: optional string`
8293 
8394 Opaque cursor from a previous response's `next_page` field.
from line 97
8697 
8798 Product surfaces to include. Defaults to all products. Use `group_by[]=product` to break out per-product values. Values include "chat", "claude_code", "cowork", "office_agent", "claude_in_chrome", "claude_design", and "claude-in-slack". "claude-in-slack" (with hyphens) is Claude Tag, the Claude product in Slack. A similarly spelled legacy value (underscores instead of hyphens) identifies the retiring v1 Slack chat bot and appears only for organizations that used it.
8899 
100 maxItems: 100
101 
89102- `rbac_group_ids: optional array of string`
90103 
91104 Filter to usage attributed to specific RBAC groups. Accepts tagged RBAC group IDs (`rbac_group_...`) or bare group UUIDs. A row matches when the user belonged to any of the listed groups on the (UTC) day the usage occurred; usage with no group attribution never matches.
92105 
106 maxItems: 100
107 
93108- `slack_channel_ids: optional array of string`
94109 
95110 Filter to usage originating from specific Slack channels. Use `group_by[]=slack_channel_id` to break out per-channel values.
96111 
112 maxItems: 100
113 
97114- `speeds: optional array of "fast" or "standard"`
98115 
99116 Filter to fast or standard inference mode. Use `group_by[]=speed` to break out per-mode values.
100117 
118 maxItems: 100
119 
101120 - `"fast"`
102121 
103122 - `"standard"`
from line 125
106125 
107126 Filter to specific users by tagged user ID.
108127 
109### Returns
128 maxItems: 100
110129 
111- `UsageBucket object { data, data_refreshed_at, has_more, 2 more }`
130## Returns
112131 
113 - `data: array of object { ending_at, results, starting_at }`
132- `UsageBucket object`
114133 
134 - `data: array of object`
135 
115136 Time buckets for this page, oldest first: one per `bucket_width` interval, including intervals with no data (their `results` list is empty). A page holds at most `limit` buckets.
116137 
117138 - `ending_at: string`
from line 139
118139 
119140 End of the time bucket (exclusive) in RFC 3339 format.
120141 
121 - `results: array of object { cache_creation, cache_read_input_tokens, context_window, 10 more }`
142 format: date-time
122143 
144 - `results: array of object`
145 
123146 Rows for this time bucket. Empty when the bucket has no data; otherwise a single combined row when `group_by[]` is omitted, or one row per group (subject to the per-bucket group cap described on the `group_by[]` parameter).
124147 
125 - `cache_creation: object { ephemeral_1h_input_tokens, ephemeral_5m_input_tokens }`
148 - `cache_creation: object`
126149 
127150 The number of input tokens for cache creation.
128151 
from line 197
174197 
175198 Number of API requests in this row's scope. For sandbox / code-execution events, this counts execution spans rather than HTTP requests (these rows surface with `product: null`).
176199 
177 - `server_tool_use: object { web_search_requests }`
200 - `server_tool_use: object`
178201 
179202 Server-side tool usage metrics.
180203 
from line 225
202225 
203226 Start of the time bucket (inclusive) in RFC 3339 format.
204227 
228 format: date-time
229 
205230 - `data_refreshed_at: string or null`
206231 
207232 RFC 3339 timestamp of the export this response was served from. Null when no export yet covers any part of the requested range, in which case every bucket's `results` list is empty. Buckets beyond this watermark are incomplete; for stable results, set `ending_at` to this value or earlier. Data is typically refreshed every 4 hours but not final until about 30 days after the usage date (late-arriving events, reconciliation adjustments).
208233 
234 format: date-time
235 
209236 - `has_more: boolean`
210237 
211238 Whether another page is available. When true, pass `next_page` as the `page` parameter to fetch it.
from line 245
218245 
219246 ID of the Organization.
220247 
221### Example
248## Example
222249 
223```http
250```bash
224251curl https://api.anthropic.com/v1/organizations/analytics/usage_report \
225252 -H 'anthropic-version: 2023-06-01' \
226253 -H "X-Api-Key: $ANTHROPIC_ADMIN_API_KEY"
227254```
228255 
229#### Response
256### Response (200)
230257 
231258```json
232259{
Feedback