Get App Trending
Troubleshooting
Encountering errors? See the API Error Codes Reference for a complete list of error types and troubleshooting steps.
GET https://openqiao.com/api/v1/management/statistics/apps/trendingRank apps and agents (clients and gateways that call 开桥, such as Claude Code, Codex, and LiteLLM) by a combined growth × magnitude score, returning the top 10 with the strongest upward momentum. Each entry includes its current-window usage, growth rate, and a per-day detail series for sparkline rendering.
The data is identical to the "Trending App Agent" module on the 开桥 Analytics → App page. Use it to spot apps that are breaking out, or to build your own trending board.
How apps and agents are identified
开桥 identifies the calling app or agent from request characteristics (OAuth client identity, User-Agent, and more) and normalizes it into a unified app catalog. Unidentified traffic is excluded from the rankings.
Data freshness
Statistics data is aggregated on a daily schedule. The most recent available data is from yesterday (T-1, UTC). Today's usage will appear in tomorrow's aggregation.
Authentication
Authorization Header *
Authorization: Bearer <OPENQIAO_MANAGEMENT_API_KEY>- Name:
Authorization - Format:
Bearer <API_KEY> - Description: A Management API Key created in the 开桥 Console
Management API Key required
This endpoint only accepts Management API Keys. Standard API Keys are not supported.
Rate Limiting
Each endpoint has its own independent rate limit counter. The maximum number of requests per minute is configured at the platform level. Exceeding the limit returns a 422 error.
Parameters
metric string *
Which metric to rank and compute growth by.
tokens— total input + output token countrequests— total request count attributed to the App / Agentcost— list-price cost in USD
bucket_width string *
The current window and its comparison window.
1d— the anchor day alone, compared with the day before; detail series covers the 7 days up to the anchor1w— sum of the 7 days up to the anchor, compared with the 7 days before that; detail series covers the 14 days up to the anchor
ending_at string
Anchor business day (inclusive), formatted as YYYY-MM-DD (UTC).
- Default: yesterday (T-1, UTC)
- Must not be later than yesterday (T-1, UTC); data is aggregated daily, so today's data is only available tomorrow
- Must not be earlier than the data start date
2025-09-29
limit integer
Maximum number of entries to return, between 1 and 10.
- Default: all entries (the ranking is always computed as a top 10)
- A value larger than the number of available entries behaves the same as omitting it;
<= 0and invalid values are ignored rather than rejected
Constraints
- The ranking is fixed at the top 10 and cannot be paginated. For a full ranking, use Get App Leaderboard.
- The detail window is determined by
bucket_width(1d→ 7 days,1w→ 14 days) and cannot be customized. - Apps whose current-window usage falls below a dynamic threshold (a quantile of that day's usage across all apps) are excluded, filtering out small-base long-tail noise.
Response
data.metric string
Echo of the requested metric ("tokens", "requests", or "cost").
data.bucket_width string
Echo of the requested window granularity ("1d" or "1w").
data.ending_at string
The anchor date actually used (YYYY-MM-DD). When ending_at is omitted this is yesterday (T-1, UTC), so you can always tell which day the data belongs to.
data.entries array
Apps and agents sorted by the combined growth × magnitude score, descending. Each entry contains:
rankinteger— 1-based rankappstring— app/agent identifier (例如claude-code,codex,litellm)labelstring— display name, in Englishdescriptionstring— short description, in English (may be an empty string)icon_urlstring— icon URL (empty string when not configured)openqiao_urlstring— 开桥 integration guide URL (empty string when not configured)official_urlstring— official website URL (empty string when not configured)valuenumber— usage in the current window (1d: the anchor day;1w: sum of the 7 days up to the anchor)growth_ratenumber— period-over-period growth as a percentage value, rounded to 2 decimals (95.6means +95.6%). It is additively smoothed, and apps ramping up for the first time fall back to a dynamic baseline instead of a real previous value, so it is not strictly equal to(current - previous) / previousand cannot be used to reverse-engineer the previous usagegrowth_labelstring— pre-formatted percentage label (例如"+95.60%"), derived fromgrowth_rate; always non-emptydata_pointsarray— per-day detail series, ascending, with missing days filled as 0:periodstring— business day inYYYYMMDDvaluenumber— metric value for that day
curl -G https://openqiao.com/api/v1/management/statistics/apps/trending \
-H "Authorization: Bearer $OPENQIAO_MANAGEMENT_API_KEY" \
-d metric=tokens \
-d bucket_width=1d \
-d ending_at=2026-08-23 \
-d limit=10{
"success": true,
"data": {
"metric": "tokens",
"bucket_width": "1d",
"ending_at": "2026-08-23",
"entries": [
{
"rank": 1,
"app": "litellm",
"label": "LiteLLM",
"description": "Unified LLM gateway and proxy",
"icon_url": "https://cdn.marmot-cloud.com/storage/openqiao/2026/08/17/GgJ5jo3/NameLiteLLM.svg",
"openqiao_url": "",
"official_url": "",
"value": 1802240416,
"growth_rate": 128.44,
"growth_label": "+128.44%",
"data_points": [
{ "period": "20260817", "value": 402118773 },
{ "period": "20260818", "value": 511903244 },
{ "period": "20260819", "value": 623440190 },
{ "period": "20260820", "value": 700118231 },
{ "period": "20260821", "value": 742330119 },
{ "period": "20260822", "value": 788771905 },
{ "period": "20260823", "value": 1802240416 }
]
},
{
"rank": 2,
"app": "codex",
"label": "Codex",
"description": "OpenAI Codex CLI",
"icon_url": "https://cdn.marmot-cloud.com/storage/openqiao/2026/05/18/3e4UfxM/Property-1codex.svg",
"openqiao_url": "https://openqiao.com/docs/best-practices/codex.html",
"official_url": "",
"value": 1620342892,
"growth_rate": 95.6,
"growth_label": "+95.60%",
"data_points": [
{ "period": "20260817", "value": 690118773 },
{ "period": "20260818", "value": 714903244 },
{ "period": "20260819", "value": 760440190 },
{ "period": "20260820", "value": 791118231 },
{ "period": "20260821", "value": 812330119 },
{ "period": "20260822", "value": 828229905 },
{ "period": "20260823", "value": 1620342892 }
]
}
]
}
}