v126

latestOpenAPI 3.1.0MITraw.githubusercontent.com2026-08-04957391.2 MB
Datasets

Top apps by token usage

Returns the top public apps on OpenRouter ranked by token usage inside the requested date window, matching the public apps marketplace on openrouter.ai/apps. Token totals are prompt_tokens + completion_tokens; hidden and private apps are excluded and traffic from related app aliases is merged into the canonical visible app.

sort=popular (default) ranks by total token volume inside the window. sort=trending ranks by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted, so trending may return fewer than limit rows.

Filter with category (marketplace category group, e.g. coding) or subcategory (e.g. cli-agent). Ranks are re-numbered 1..N after filtering. Page with offsetrank stays absolute, so the first row of offset=50 is rank: 51.

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/apps), as of {as_of}."

Token counts come from each upstream provider's own tokenizer, so a token attributed to one app is not directly comparable to a token attributed to another app whose traffic flows through a different provider.

get/datasets/app-rankings

Query parameters

category'coding' | 'creative' | 'productivity' | 'entertainment'

Marketplace category group to filter by (e.g. coding). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with subcategory — when both are supplied the subcategory must belong to the category group.

Example:coding

Marketplace category group to filter by (e.g. coding). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with subcategory — when both are supplied the subcategory must belong to the category group.

subcategory'cli-agent' | 'ide-extension' | 'cloud-agent' | 'programming-app' | 'native-app-builder' | 'creative-writing' | 'video-gen' | 'image-gen' | 'audio-gen' | 'roleplay' | 'game' | 'writing-assistant' | 'general-chat' | 'personal-agent' | 'legal'

Marketplace subcategory to filter by (e.g. cli-agent). Takes precedence over category for the actual filter; when category is also supplied the pair must be consistent.

Example:cli-agent

Marketplace subcategory to filter by (e.g. cli-agent). Takes precedence over category for the actual filter; when category is also supplied the pair must be consistent.

sort'popular' | 'trending'

popular ranks apps by total token volume inside the date window. trending ranks apps by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted from trending results.

Example:popular

popular ranks apps by total token volume inside the date window. trending ranks apps by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted from trending results.

start_datestring

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.

Example:2026-04-12

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_datestring

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.

Example:2026-05-11

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.

limitinteger

Maximum number of apps to return (1-100). Defaults to 50.

Example:50

Maximum number of apps to return (1-100). Defaults to 50.

offsetinteger nullable

Number of ranked apps to skip before the first returned row (0-100). Defaults to 0. rank stays absolute, so the first row of offset=50 is rank: 51.

Number of ranked apps to skip before the first returned row (0-100). Defaults to 0. rank stays absolute, so the first row of offset=50 is rank: 51.

Response

Apps ranked per the requested sort, re-numbered 1..N. popular sorts by total_tokens descending; trending sorts by absolute excess token growth descending and may return fewer than limit rows.

Example response

{
  "data": [
    {
      "app_id": 12345,
      "app_name": "Cline",
      "rank": 1,
      "total_requests": 4321,
      "total_tokens": "12345678"
    },
    {
      "app_id": 67890,
      "app_name": "Roo Code",
      "rank": 2,
      "total_requests": 2109,
      "total_tokens": "9876543"
    }
  ],
  "meta": {
    "as_of": "2026-05-12T02:00:00Z",
    "end_date": "2026-05-11",
    "start_date": "2026-04-12",
    "version": "v1"
  }
}