Get Messages Usage Report
GET /v1/organizations/usage_report/messages
Get Messages Usage Report
Query parameters
starting_at: stringTime buckets that start on or after this RFC 3339 timestamp will be returned. Each time bucket will be snapped to the start of the minute/hour/day in UTC.
format: date-time
account_ids: optional array of stringRestrict usage returned to the specified user account ID(s).
api_key_ids: optional array of stringRestrict usage returned to the specified API key ID(s).
bucket_width: optional "1d" or "1h" or "1m"Time granularity of the response data.
default: 1d
"1d""1h""1m"
context_window: optional array of "0-200k" or "200k-1M"Restrict usage returned to the specified context window(s).
"0-200k""200k-1M"
ending_at: optional stringTime buckets that end before this RFC 3339 timestamp will be returned.
format: date-time
group_by: optional array of "account_id" or "api_key_id" or "context_window" or 6 moreGroup by any subset of the available options. Grouping by
speedrequires thefast-mode-2026-02-01beta header."account_id""api_key_id""context_window""inference_geo""model""service_account_id""service_tier""speed""workspace_id"
inference_geos: optional array of "global" or "not_available" or "us"Restrict usage returned to the specified inference geo(s). Use
not_availablefor models that do not support specifyinginference_geo."global""not_available""us"
limit: optional numberMaximum number of time buckets to return in the response.
The default and max limits depend on
bucket_width: •"1d": Default of 7 days, maximum of 31 days •"1h": Default of 24 hours, maximum of 168 hours •"1m": Default of 60 minutes, maximum of 1440 minutesmodels: optional array of stringRestrict usage returned to the specified model(s).
page: optional stringOptionally set to the
next_pagetoken from the previous response.service_account_ids: optional array of stringRestrict usage returned to the specified service account ID(s).
service_tiers: optional array of "batch" or "flex" or "flex_discount" or 3 moreRestrict usage returned to the specified service tier(s).
"batch""flex""flex_discount""priority""priority_on_demand""standard"
speeds: optional array of "standard" or "fast"Restrict usage returned to the specified speed(s) (Claude Code research preview). Requires the
fast-mode-2026-02-01beta header."standard""fast"
workspace_ids: optional array of stringRestrict usage returned to the specified workspace ID(s).
Headers
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
string"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 42 more"message-batches-2024-09-24""prompt-caching-2024-07-31""computer-use-2024-10-22""computer-use-2025-01-24""pdfs-2024-09-25""token-counting-2024-11-01""token-efficient-tools-2025-02-19""output-128k-2025-02-19""files-api-2025-04-14""mcp-client-2025-04-04""mcp-client-2025-11-20""dev-full-thinking-2025-05-14""interleaved-thinking-2025-05-14""code-execution-2025-05-22""extended-cache-ttl-2025-04-11""context-1m-2025-08-07""context-management-2025-06-27""model-context-window-exceeded-2025-08-26""skills-2025-10-02""fast-mode-2026-02-01""output-300k-2026-03-24""user-profiles-2026-03-24""user-profiles-2026-08-18""user-profiles-2026-09-04""advisor-tool-2026-03-01""managed-agents-2026-04-01""cache-diagnosis-2026-04-07""dreaming-2026-04-21""thinking-token-count-2026-05-13""server-side-fallback-2026-06-01""server-side-fallback-2026-07-01""fallback-credit-2026-06-01""fallback-credit-2026-07-01""agent-memory-2026-07-22""mid-conversation-tool-changes-2026-07-01""compact-2026-01-12""computer-use-2025-11-24""mcp-tunnels-2026-06-22""structured-outputs-2025-11-13""task-budgets-2026-03-13""thinking-display-updates-2026-08-18""ce-user-management-2026-07-13""mid-conversation-output-config-2026-07-01""thinking-binding-controls-2026-08-01""mid-conversation-system-clear-at-2026-08-21"
Returns
BetaMessagesUsageReport objectdata: array of objectList of time buckets for this page, oldest first: one per
bucket_widthinterval, including intervals with no usage (theirresultslist is empty). A page holds at mostlimitbuckets.ending_at: stringEnd of the time bucket (exclusive) in RFC 3339 format.
format: date-time
results: array of objectList of usage items for this time bucket. There may be multiple items if one or more
group_by[]parameters are specified.account_id: string or nullID of the user account that made the request.
nullif not grouping by account or for non-OAuth requests.api_key_id: string or nullID of the API key used.
nullif not grouping by API key or for usage in the Anthropic Console.cache_creation: BetaCacheCreationThe number of input tokens for cache creation.
ephemeral_1h_input_tokens: numberThe number of input tokens used to create the 1 hour cache entry.
default: 0, minimum: 0
ephemeral_5m_input_tokens: numberThe number of input tokens used to create the 5 minute cache entry.
default: 0, minimum: 0
cache_read_input_tokens: numberThe number of input tokens read from the cache.
context_window: "0-200k" or "200k-1M" or nullContext window used.
nullif not grouping by context window."0-200k""200k-1M"
inference_geo: "global" or "not_available" or "us" or nullInference geo used matching requests'
inference_geoparameter if set, otherwise the workspace'sdefault_inference_geo. For models that do not support specifyinginference_geothe value is"not_available". Alwaysnullif not grouping by inference geo."global""not_available""us"
model: string or nullModel used.
nullif not grouping by model.output_tokens: numberThe number of output tokens generated.
server_tool_use: objectServer-side tool usage metrics.
web_search_requests: numberThe number of web search requests made.
service_account_id: string or nullID of the service account that made the request.
nullif not grouping by service account or for non-OIDC-federation requests.service_tier: "batch" or "flex" or "flex_discount" or 3 more or nullService tier used.
nullif not grouping by service tier."batch""flex""flex_discount""priority""priority_on_demand""standard"
uncached_input_tokens: numberThe number of uncached input tokens processed.
workspace_id: string or nullID of the Workspace used.
nullif not grouping by workspace or for the default workspace.
starting_at: stringStart of the time bucket (inclusive) in RFC 3339 format.
format: date-time
has_more: booleanIndicates if there are more results.
next_page: string or nullOpaque cursor for the next page, or
nullwhenhas_moreis false. Pass it as thepageparameter in the next request.
Example
curl https://api.anthropic.com/v1/organizations/usage_report/messages \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"ending_at": "2025-08-02T00:00:00Z",
"results": [
{
"account_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
"api_key_id": "apikey_01Rj2N8SVvo6BePZj99NhmiT",
"cache_creation": {
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
},
"cache_read_input_tokens": 200,
"context_window": "0-200k",
"inference_geo": "global",
"model": "claude-opus-5",
"output_tokens": 500,
"server_tool_use": {
"web_search_requests": 10
},
"service_account_id": "svac_01Hk3R9TWxq7CfQak00OiVw4",
"service_tier": "standard",
"uncached_input_tokens": 1500,
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
],
"starting_at": "2025-08-01T00:00:00Z"
}
],
"has_more": true,
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}