Steam Store Game Catalog & Metadata Scraper
GAMESECOMMERCE
Steam Store Game Catalog & Metadata Scraper
Crawl Steam's full game catalog and return rich structured metadata per app. Supports keyword search, direct App ID list input, or full-catalog mode via Steam's store search pagination. Powered by Steam's public appdetails API — no authentication required.
What It Does
For each Steam app discovered (or provided), this actor fetches:
- Core metadata: name, type (game / DLC / software / demo), developer, publisher, release date
- Descriptions: short marketing description and full HTML description
- Genres & categories: genre labels and Steam feature categories
- Platforms: Windows / Mac / Linux support flags
- Metacritic: score and URL (when available)
- Pricing: default price overview plus a configurable multi-country regional pricing matrix
- DLC tree: list of all DLC app IDs linked to the title
- Community: total Steam recommendations and achievements count
- Media: header image URL, screenshot list, and movie/trailer list
- Languages: supported languages string
- Age rating: required age gate value and controller support level
Use Cases
- Game database building: assemble a structured catalog of all Steam games for a RAWG/IGDB-style database
- Pricing intelligence: track regional price differences and discount patterns across countries
- Market analysis: analyze genre/category distributions, platform coverage, and Metacritic trends
- Game discovery apps: power recommendation engines with rich metadata
- DLC mapping: build a complete DLC tree for franchise analysis
Input
| Field | Type | Description |
|---|---|---|
searchQuery |
string | Keyword filter (e.g. "open world rpg"). Leave empty for full catalog. |
appIds |
array | Specific Steam App IDs to fetch (overrides searchQuery). One ID per entry. |
countryCodes |
array | ISO country codes for regional pricing (default: us, gb, de). Leave empty to skip. |
maxItems |
integer | Maximum records to return (required). |
maxConcurrency |
integer | Concurrent API requests (default 5). |
Output
Each record corresponds to one Steam app:
{
"steam_appid": 730,
"name": "Counter-Strike 2",
"type": "game",
"is_free": true,
"developers": "Valve",
"publishers": "Valve",
"release_date": "27 Sep, 2023",
"genres": "Action, Free to Play",
"categories": "Multi-player, PvP, Online PvP, Steam Achievements, Full controller support",
"platforms": "{\"windows\":true,\"mac\":false,\"linux\":true}",
"recommendations_total": 1520340,
"achievements_total": 167,
"regional_prices": "{\"us\":{\"currency\":\"USD\",\"initial\":0,\"final\":0,\"discount_percent\":0},...}",
"header_image": "https://cdn.akamai.steamstatic.com/...",
"source_url": "https://store.steampowered.com/app/730/"
}
Rate Limits
Steam enforces approximately 200 appdetails requests per 5 minutes per IP. The actor uses a 1.6-second inter-request delay by default. For large-scale catalog runs, set maxConcurrency to 1-3. Regional pricing fan-out adds one API call per country code per app.
Notes
- Apps with
success: falsein the Steam API response are silently skipped - Price fields are in the currency's smallest unit (e.g. cents:
999= $9.99) - Free-to-play apps have
is_free: trueandprice_overview: null