Steam hub

Steam Charts API

Most played, yesterday's peak, or a country's top sellers for a chosen week, as up to 100 ranked rows.

GET /v1/steam/charts

1 credit Failed requests are free

About this endpoint

GET /v1/steam/charts takes chart: most_played (top 100 by players now), daily_peak (top 100 by yesterday's peak) or top_sellers (top 100 by sales for a week). Each entry has rank, appId, name, url, isFree, price, currentPlayers, peakPlayers, lastWeekRank and consecutiveWeeks, with the player and price fields set for the charts they apply to. isFree is false when the entry carries a price and null when the chart does not state it.

top_sellers takes country from the countries Steam publishes and any week date from 2010-12-28 through today; Steam snaps it to the week's start. Dates after today are refused. language localizes names and limit returns 1 to 100 rows. data.asOf says when the data is from.

Steam Charts API FAQ

How do I get the most played Steam games?

Call GET /v1/steam/charts with chart=most_played, which is the default. Each entry has currentPlayers and peakPlayers, rank and the store URL. Use limit to take fewer than 100 rows.

How do top sellers work?

Set chart=top_sellers and pick a country from the list Steam publishes, for example US or JP. week accepts any date in the week you want, from 2010-12-28 through today, and is snapped to that week's start. Dates after today are refused. Entries carry price and consecutiveWeeks.

What do lastWeekRank and consecutiveWeeks mean?

lastWeekRank is the rank a week earlier and is null when the app was not in the chart then. consecutiveWeeks counts weeks in a row in the top sellers chart. The other charts leave it null.

Which countries are available for top sellers?

Steam publishes top sellers for a fixed list of countries including US, GB, DE, FR, JP, KR, CN, BR and CA. An unsupported country is rejected with a 400 rather than returning an empty chart.

How many credits does a chart cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.