For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
ModelsChatRankingsDocs
DocsAPI ReferenceClient SDKsAgent SDKCookbookChangelog
DocsAPI ReferenceClient SDKsAgent SDKCookbookChangelog
  • API Guides
    • Overview
    • Streaming
    • Embeddings
    • Limits
    • Authentication
    • Parameters
    • Errors and Debugging
  • API Reference
      • GETDaily token totals for top 50 models
LogoLogo
ModelsChatRankingsDocs
API ReferenceDatasets

Daily token totals for top 50 models

GET
https://openrouter.ai/api/v1/datasets/rankings-daily
GET
/api/v1/datasets/rankings-daily
$curl https://openrouter.ai/api/v1/datasets/rankings-daily \
> -H "Authorization: Bearer <token>"
1{
2 "data": [
3 {
4 "date": "2026-05-11",
5 "model_permaslug": "openai/gpt-4o-2024-05-13",
6 "total_tokens": "12345678"
7 },
8 {
9 "date": "2026-05-11",
10 "model_permaslug": "anthropic/claude-3.5-sonnet-20241022",
11 "total_tokens": "9876543"
12 },
13 {
14 "date": "2026-05-11",
15 "model_permaslug": "other",
16 "total_tokens": "4321098"
17 }
18 ],
19 "meta": {
20 "as_of": "2026-05-12T02:00:00Z",
21 "end_date": "2026-05-11",
22 "start_date": "2026-04-12",
23 "version": "v1"
24 }
25}
Returns the top 50 public models per day by total token usage on OpenRouter, plus a single aggregated `other` row per day that sums every model outside that top 50. Token totals are `prompt_tokens + completion_tokens`, matching the public rankings chart on openrouter.ai/rankings. Each row is a distinct `(date, model_permaslug)` pair. The `other` row uses the reserved permaslug `other` and is always returned last within its date, so callers can compute `top-50 traffic / total daily traffic` without a second request. Authenticate with any valid OpenRouter API key (same key used for inference). Rate-limited to 30 requests/minute per key and 500 requests/day per account. When republishing or quoting this dataset, OpenRouter must be cited as: "Source: OpenRouter (openrouter.ai/rankings), as of {as_of}." Token counts come from each upstream provider's own tokenizer (Anthropic counts are as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so a token in one row is not directly comparable to a token in another row from a different provider.
Was this page helpful?
Previous

Submit an embedding request

Next
Built with

Returns the top 50 public models per day by total token usage on OpenRouter, plus a single aggregated other row per day that sums every model outside that top 50. Token totals are prompt_tokens + completion_tokens, matching the public rankings chart on openrouter.ai/rankings.

Each row is a distinct (date, model_permaslug) pair. The other row uses the reserved permaslug other and is always returned last within its date, so callers can compute top-50 traffic / total daily traffic without a second request.

Authenticate with any valid OpenRouter API key (same key used for inference). Rate-limited to 30 requests/minute per key and 500 requests/day per account.

When republishing or quoting this dataset, OpenRouter must be cited as: “Source: OpenRouter (openrouter.ai/rankings), as of {as_of}.”

Token counts come from each upstream provider’s own tokenizer (Anthropic counts are as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so a token in one row is not directly comparable to a token in another row from a different provider.

Authentication

AuthorizationBearer
API key as bearer token in Authorization header

Query parameters

start_datestringOptionalformat: "^\d{4}-\d{2}-\d{2}$"

Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before end_date. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in meta.start_date.

end_datestringOptionalformat: "^\d{4}-\d{2}-\d{2}$"

End of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to the most recent completed UTC day. Must be on or after 2025-01-01; earlier values are rejected with a 400.

Response

Up to 51 rows per day — the top 50 public models by total_tokens plus a single aggregated other row covering every model outside that top 50. Sorted by date ascending, then by total_tokens descending, with other pinned last within its date.

datalist of objects

Up to 51 rows per day — the top 50 public models by total_tokens for each UTC calendar date in the window, plus one aggregated other row summing every model outside that top 50 (omitted when the long tail is empty). Rows are sorted by date ascending, then by total_tokens descending, with other pinned last within its date. Ties between real models break alphabetically on model_permaslug so the order is stable across requests.

metaobject

Errors

400
Bad Request Error
401
Unauthorized Error
429
Too Many Requests Error
500
Internal Server Error