Steam Achievements API
Every achievement for one app, with how many players unlocked each and the icons for earned and locked states.
GET /v1/steam/apps/{appId}/achievements1 credit Failed requests are free A not-found answer is still charged
About this endpoint
GET /v1/steam/apps/{appId}/achievements returns data.total and data.achievements. Each achievement has name (the app's internal id, for example ACH.WAKE_UP), title, description, hidden, unlockedPercent, iconUrl and iconGrayUrl. Set language for the titles and descriptions; the default is English.
Achievements come most commonly earned first. An app with no achievements returns total 0 and an empty achievements array with lookupStatus found. Some apps hide an achievement's name and description until a player earns it, which shows as hidden true and a null description.
Steam Achievements API FAQ
How do I list a Steam app's achievements?
Call GET /v1/steam/apps/{appId}/achievements with the app id and your Social Fetch key. Read data.total and data.achievements. Pass language to get translated titles and descriptions.
What does unlockedPercent mean?
It is the share of all players who have earned the achievement, from 0 to 100. The list is ordered with the most commonly earned first, so you can spot the rare ones at the bottom.
Why is an achievement description null?
Some apps hide an achievement's text until it is earned. hidden is true in that case. A null description is normal for those rows and does not mean the request failed.
What if the app has no achievements?
The lookup is still found, total is 0 and achievements is empty. Apps such as tools or very small releases may have none. Branch on the array rather than assuming at least one row.
How many credits does an achievements lookup 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.
Other Steam endpoints
- ReviewsGET /v1/steam/apps/{appId}/reviews
- Review summaryGET /v1/steam/apps/{appId}/reviews/summary
- Review histogramGET /v1/steam/apps/{appId}/reviews/histogram
- AppGET /v1/steam/apps/{appId}
- Apps by idGET /v1/steam/apps
- Player countGET /v1/steam/apps/{appId}/players
- NewsGET /v1/steam/apps/{appId}/news
- SearchGET /v1/steam/apps/search