Steam publishes concurrent player counts on the store homepage, but there is no supported JSON endpoint for the live most-played leaderboard. Trends MCP returns the Steam Most Played feed as ranked JSON for agents, cron jobs, and game analytics pipelines.
Game analysts search for steam most played api json when they want the homepage chart in a script, not a screenshot. Valve exposes per-game player counts through IPlayerService/GetNumberOfCurrentPlayers, but building a live leaderboard from that endpoint means maintaining an app ID list, rate-limiting thousands of calls, and reconciling duplicates. Most teams abandon that approach after the first sale event.
Trends MCP exposes the Steam Most Played feed as a single POST call. The response matches the JSON contract used for GitHub Trending Repos, X trending topics, and other live leaderboards on the platform.
POST https://api.trendsmcp.ai/api
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"mode": "top_trends",
"type": "Steam Most Played",
"limit": 25
}
The feed label is case-sensitive. Use exactly Steam Most Played as listed in the data sources documentation.
Response shape:
{
"as_of_ts": "2026-06-21T14:30:00Z",
"type": "Steam Most Played",
"limit": 25,
"count": 25,
"data": [
[1, "Counter-Strike 2"],
[2, "Dota 2"],
[3, "PUBG: BATTLEGROUNDS"]
]
}
Each row in data is a [rank, game_name] pair. Set limit up to 200. Use offset for pagination when pulling the full chart.
Python
import requests
res = requests.post(
"https://api.trendsmcp.ai/api",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"mode": "top_trends", "type": "Steam Most Played", "limit": 25}
)
res.raise_for_status()
chart = res.json()
for rank, title in chart["data"]:
print(f"{rank}. {title}")
JavaScript
const res = await fetch("https://api.trendsmcp.ai/api", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
mode: "top_trends",
type: "Steam Most Played",
limit: 25
})
});
const chart = await res.json();
curl
curl -s https://api.trendsmcp.ai/api \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"top_trends","type":"Steam Most Played","limit":10}'
Connect Trends MCP per the Cursor setup guide, then prompt:
Using TrendsMCP, show me the top 15 games on the Steam Most Played chart right now.
The assistant routes to get_top_trends with the correct feed label. No Steam publisher Web API key is required for read access to the chart.
The live chart answers what is winning concurrent players right now. It does not show whether a title is recovering after a patch or bleeding players since launch. For that, call the historical endpoint on the same API key:
{
"source": "steam",
"keyword": "Elden Ring",
"percent_growth": ["3M", "1Y"]
}
That request returns normalized weekly concurrent player values and period-over-period growth. The Steam Trends API page documents keyword formatting and growth presets.
A practical pipeline: poll Steam Most Played hourly for rank deltas, then pull a 12-month growth curve only when a title enters the top 10 or jumps five ranks in a day.
Each top_trends call counts as one request against the monthly plan allocation. The free tier includes 100 requests per month with no credit card. A hourly cron polling this feed consumes roughly 720 requests per month, which requires a paid plan or a slower poll interval.
| Poll interval | Requests per 30 days |
|---|---|
| Every hour | ~720 |
| Every 6 hours | ~120 |
| Daily | ~30 |
For a daily digest emailed to a game studio Slack channel, the free tier covers the live chart plus several historical follow-up queries.
| Status | Meaning | Action |
|---|---|---|
| 401 | Missing or invalid API key | Check Bearer token |
| 400 | Invalid feed type string | Confirm exact label Steam Most Played |
| 429 | Monthly quota exhausted | Upgrade plan or reduce poll frequency |
| 500 | Upstream pipeline error | Retry with backoff |
Error bodies follow {"error": "code", "message": "..."}. Log as_of_ts on successful responses so downstream dashboards can mark stale data when a poll fails.
Game studios watch whether rival titles spike during demo weekends or steal concurrent players after a balance patch. Rank movement on this chart often precedes Twitch viewership shifts by hours.
Investors and analysts treat the chart as a coarse real-time proxy for PC gaming attention. It is not revenue data, but sudden entries from early-access launches show up here before Metacritic scores settle.
Streamers and creators scan the chart for titles climbing into the top 20. A game moving from rank 40 to rank 12 in 48 hours usually correlates with clip volume on YouTube and TikTok.
None of these workflows require scraping the Steam store HTML. The JSON contract stays stable across frontend redesigns, which is the failure mode that breaks homegrown parsers.
FAQ