Steam API endpoint
Returns store metadata for a single Steam app (title, type, price, developers/publishers, platforms, genres, categories, release date, metacritic, recommendation and achievement counts). cc selects the store region (and price currency) and l the text language. filters is a comma-separated subset of allowed fields to shrink the payload.
/steam/appQuery parameters:
appid (required) — numeric Steam app id (e.g. 570).cc (optional, default us) — store country code (ISO); selects the price currency.l (optional, default en) — language code for text fields.filters (optional) — comma-separated subset of fields to shrink the payload. Allowed values: basic, price_overview, developers, publishers, categories, genres, release_date, platforms, metacritic, achievements, screenshots, movies, recommendations, controller_support, dlc, short_description, supported_languages, packages, package_groups, ratings, content_descriptors, background. When any filter is given, basic is always included so the identity fields (name, type, appid) are never blank.Returns type, name, appid, required_age, is_free, controller_support, short_description, supported_languages, header_image, capsule_image, website, developers[], publishers[], price_overview (currency, initial, final, discount_percent, initial_formatted, final_formatted), platforms (windows, mac, linux), categories[] (id, description), genres[] (id, description), release_date (coming_soon, date), metacritic (score, url), recommendations, achievements_total, dlc[], screenshots, movies, and source_url. An unknown or region-locked app returns 404.
| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| id | 3 | |
| description | 3 | “Action” and 2 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| appid | string | Yes | Numeric Steam app id | 570 | |
| cc | string | No | Store country code (ISO, selects currency) | ||
| l | string | No | Language code | ||
| filters | string | No | Comma-separated fields: basic, price_overview, developers, publishers, categories, genres, release_date, platforms, metacritic, achievements, screenshots, movies, recommendations, controller_support, dlc, short_description, supported_languages, packages, package_groups, ratings, content_descriptors, background | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/steam/app?appid=570" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"type": "game",
"name": "Dota 2",
"appid": 570,
"required_age": 0,
"is_free": true,
"platforms": {
"windows": true,
"mac": true,
"linux": true
},
"developers": [
"Valve"
],
"publishers": [
"Valve"
],
"genres": [
{
"id": "1",
"description": "Action"
}
],
"recommendations": 2100000,
"source_url": "https://store.steampowered.com/api/appdetails?appids=570&cc=us&l=en"
}
}Request schema
No body schema
Response schema
#/definitions/steam.appResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | steam.AppDetails | No | ||||
| data.achievements_total | integer | No | Total number of achievements the app has. | |||
| data.appid | integer | No | Steam app id. | |||
| data.background | string | No | URL of the background image on the store page. | |||
| data.capsule_image | string | No | URL of the capsule image used on store listings. | |||
| data.categories | array | No | Steam store categories assigned to the app, each with an id and a name. | |||
| data.categories[].description | string | No | Display name of the item, such as a category, genre or app name. | |||
| data.categories[].id | string | No | Id of the item. | |||
| data.content_descriptor_ids | array | No | ContentDescriptorIDs are Steam's mature-content flag ids (e.g. 1 nudity, 3 adult content, 5 strong violence) — the store's own age/adult markers. | |||
| data.controller_support | string | No | Level of controller support Steam lists for the app. | |||
| data.developers | array | No | Names of the developers of the app. | |||
| data.dlc | array | No | Steam app ids of the downloadable content for the app. | |||
| data.genres | array | No | Genres assigned to the app, each with an id and a name. | |||
| data.genres[].description | string | No | Display name of the item, such as a category, genre or app name. | |||
| data.genres[].id | string | No | Id of the item. | |||
| data.header_image | string | No | URL of the header image on the store page. | |||
| data.is_free | boolean | No | Whether the app is free to play or free to own. | |||
| data.metacritic | object | No | Metacritic score and link for the app. Omitted when the store shows none. | |||
| data.metacritic.score | integer | No | Metacritic score of the app, out of 100. | |||
| data.metacritic.url | string | No | URL of the app's page on Metacritic. | |||
| data.movies | integer | No | Number of videos on the store page. | |||
| data.name | string | No | Name of the app on the Steam store. | |||
| data.packages | array | No | Ids of the Steam packages that include the app. Use them with the package endpoint. | |||
| data.platforms | object | No | Operating systems the app supports. | |||
| data.platforms.linux | boolean | No | Whether the title supports Linux. | |||
| data.platforms.mac | boolean | No | Whether the title supports macOS. | |||
| data.platforms.windows | boolean | No | Whether the title supports Windows. | |||
| data.price_overview | object | No | Current price of the app. Omitted when the store shows no price. | |||
| data.price_overview.currency | string | No | Currency code of the prices, such as `USD`. | |||
| data.price_overview.discount_percent | integer | No | Discount currently applied, as a percentage. | |||
| data.price_overview.final | integer | No | Price after any discount, in minor currency units such as cents. | |||
| data.price_overview.final_formatted | string | No | Price after any discount, formatted for display as Steam shows it. | |||
| data.price_overview.initial | integer | No | Price before any discount, in minor currency units such as cents. | |||
| data.price_overview.initial_formatted | string | No | Price before any discount, formatted for display as Steam shows it. | |||
| data.publishers | array | No | Names of the publishers of the app. | |||
| data.recommendations | integer | No | Total number of user recommendations the app has on Steam. | |||
| data.release_date | object | No | Release information of the app. | |||
| data.release_date.coming_soon | boolean | No | Whether the app has not been released yet. | |||
| data.release_date.date | string | No | Release date as the store displays it. | |||
| data.required_age | integer | No | Minimum age in years that Steam requires to view the app. | |||
| data.screenshots | integer | No | Number of screenshots on the store page. | |||
| data.short_description | string | No | Short description of the app from the store page, as plain text. | |||
| data.source_url | string | No | URL the data was read from. | |||
| data.supported_languages | string | No | Languages the app supports, as listed on the store page. | |||
| data.type | string | No | Kind of store item, such as `game`. | |||
| data.website | string | No | URL of the app's official website. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/steam/app?appid=570" \
-H "x-api-key: $CRAWLORA_API_KEY"