Steam Store Scraper — App IDs & Regional Prices
Pricing
from $3.00 / 1,000 steam game records
Steam Store Scraper — App IDs & Regional Prices
Scrape Steam Store games by keyword or App ID for catalog enrichment, price monitoring, and market research. Not for player accounts, inventories, or review text. Returns flat game records with prices, developers, release dates, platforms, genres, and review counts. $0.003/game + $0.00005/run.
Pricing
from $3.00 / 1,000 steam game records
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape public Steam Store game data by keyword or numeric Steam App ID. This Actor is for game-catalog enrichment, regional price monitoring, release research, and market analysis. It returns one compact, flat record per game with regional price fields, developer and publisher names, release status, platforms, genres, public Steam recommendation totals, and source URLs.
Use this when you need public Steam Store metadata for an analysis workflow or an AI agent. Do not use it for Steam player profiles, owned libraries, inventories, account data, review text, community content, or private Steamworks data. Those are outside this Actor’s contract.
What data can it return?
| Field group | Included fields |
|---|---|
| Identity | appId, name, type, storeUrl, searchQuery |
| Regional price | countryCode, currency, current and original price in cents and decimal units, formatted prices, discountPercent |
| Game metadata | developer, publishers, releaseDate, comingSoon, shortDescription, headerImage |
| Discovery signals | platforms, genres, categories, metacriticScore, reviewCount |
| Provenance | language, scrapedAt, warnings |
Every returned row uses the same output shape. Fields that Steam does not expose for a given item are explicitly null or an empty array, rather than being omitted. That makes it safe to import the dataset into a warehouse, feed it to an LLM, or compare price snapshots over time.
When to use it
- Enrich a game list you already have with numeric Steam App IDs.
- Search for a game category, then build a game catalog with structured detail fields.
- Monitor public Steam prices in one country before and during a sale.
- Compare developer, genre, platform, release, and public recommendation signals for market research.
- Give an AI agent a compact Steam Store lookup tool with a predictable cost cap.
For a known game, App IDs are the most precise input. For discovery, use a plain search phrase. You may provide both; known App IDs are included first and the search fills any remaining result capacity. The actor’s default input is a small Hades lookup so the Console prefill produces a useful, low-cost example.
Pricing
This Actor uses Pay per event + usage. Event charges are separate from the underlying Apify compute usage.
| Event | Price | When charged |
|---|---|---|
| Actor start | $0.00005 | Once per run, scaled by allocated memory |
| Steam game record | $0.003 | After a validated game record is written to the default dataset |
A 10-game run has game-event charges capped at $0.030, plus the start event and Apify platform usage. maxResults is a hard actor-level cap: it limits both written game records and the number of billable game events. The actor logs that cap before collecting data and writes final event counts to OUTPUT and RUN_SUMMARY.
How to use it
Search the Steam Store
{"searchQuery": "survival crafting","maxResults": 10,"countryCode": "us","language": "english","includeDetails": true}
Set includeDetails to true for the full metadata record. Set it to false for faster search-listing records when you only need identity, price, image, and any search-level score Steam provides. Direct appIds are always enriched so the result stays useful.
Enrich known Steam App IDs
{"appIds": ["1145360", "730"],"maxResults": 2,"countryCode": "de","language": "german"}
countryCode is a two-letter country such as us, de, or jp. It controls the Steam storefront region used for price and availability. language is a Steam storefront language name such as english, german, or french; localized fields depend on whether the specific game supports that language.
Apify API example
curl -X POST 'https://api.apify.com/v2/acts/khadinakbar~scrape-steam-store/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchQuery":"Hades","maxResults":5,"countryCode":"us","includeDetails":true}'
Retrieve the run’s default dataset through the dataset URL returned by Apify. The actor also writes OUTPUT for a compact machine-readable terminal result and RUN_SUMMARY for detailed counters, warnings, and billing state.
Python example
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('khadinakbar/scrape-steam-store').call(run_input={'appIds': ['1145360'],'countryCode': 'us','language': 'english',})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['name'], item['priceFinalFormatted'], item['storeUrl'])
Output example
{"appId": 1145360,"name": "Hades","type": "game","storeUrl": "https://store.steampowered.com/app/1145360/","searchQuery": "Hades","countryCode": "us","language": "english","isFree": false,"currency": "USD","priceInitialCents": 2499,"priceFinalCents": 2499,"priceInitial": 24.99,"priceFinal": 24.99,"discountPercent": 0,"developer": "Supergiant Games","publishers": ["Supergiant Games"],"releaseDate": "Sep 17, 2020","comingSoon": false,"platforms": ["windows", "mac"],"genres": ["Action", "Indie", "RPG"],"reviewCount": 283317,"scrapedAt": "2026-07-14T00:00:00.000Z","warnings": []}
The reviewCount field is Steam’s public recommendation total when available. It is not a list of reviews, review text, sentiment analysis, or a claim about verified purchases.
Reliability, limits, and outcomes
The actor uses Steam Store’s public search and app-details responses rather than browser-rendering store pages. This keeps the normal keyword and App ID paths fast and lowers the chance of selector drift. These endpoints are not presented by Steam as a stable public developer API, so their fields may change or be unavailable for individual apps, age-gated listings, or regions.
Requests use bounded retries for transient errors and each game is validated before being written or billed. A valid query with no matches ends successfully as VALID_EMPTY. Invalid input, such as an empty query and no App ID, ends successfully as INVALID_INPUT with a repair message. If Steam cannot serve any required request and no game record is produced, the actor ends as UPSTREAM_FAILED; useful records collected before a later failure are preserved as PARTIAL.
The actor caps one run at 100 game records. It intentionally does not support arbitrary Steam URLs, account-specific data, login cookies, reviews, or infinite catalog crawling. Keep scheduled price-monitoring runs narrow and region-specific so price changes remain interpretable.
Related actors
For product catalogs outside gaming, use the Amazon Product Scraper or Shopify Products Scraper. They are separate tools because their source contracts and output fields differ from the Steam Store.
FAQ
Can I pass Steam Store URLs?
No. Use the numeric App ID from the URL instead. For example, https://store.steampowered.com/app/1145360/ becomes "appIds": ["1145360"].
Why does a price differ by country?
Steam pricing, availability, and discounts can vary by storefront country. Run the same App IDs with the appropriate countryCode to collect a comparable regional snapshot.
Why is a field null or empty?
Some Steam apps do not expose every metadata field, especially packages, age-restricted listings, or apps without a current public price. Nulls and empty arrays preserve a stable data contract without inventing data.
Is this an official Steam or Valve API?
No. This is an independent Apify Actor that collects public Steam Store responses. Steam and Valve are not affiliated with or endorsing this Actor.
Legal and responsible use
Use this Actor only for lawful purposes and in accordance with Steam’s applicable terms, rate limits, and data-use requirements. Do not use it to access private information, bypass access controls, or make decisions that require data Steam does not publicly provide.