Steam store games - search, details, prices (public store APIs)
Pricing
from $5.00 / 1,000 records
Steam store games - search, details, prices (public store APIs)
Search the Steam store by term or appid; one row per app from Steam's public store endpoints: appid, name, type, price (list, final, discount, currency for your country), release date, developers, publishers, genres, categories, platforms, Metacritic, recommendations, description, image, store URL.
Pricing
from $5.00 / 1,000 records
Rating
0.0
(0)
Developer
RetrainMap Team
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Steam store games — search, details, prices (public store APIs)
One row per Steam app found by your search terms or given by appid — appid, name, type (game / dlc / demo / music / …), free flag, price (list, final, discount % and currency for the country you choose), release date, developers, publishers, genres, categories, platforms, Metacritic score and URL, recommendation count, short description, header image and store URL. Read from Steam's own public store endpoints — no login, no Steam Web API key, no scraping of HTML pages beyond the store's search list.
The default input (term farming, US prices, 100 apps) succeeds within 5 minutes
(about 2.5 minutes at the default 1.5 s spacing) and returns rows — Apify auto-tests it
daily.
Data source and status
| Publisher | Valve Corporation (Steam store) |
| Endpoints | store.steampowered.com/search/results/?json=1 (store search list, 50 per page, apps only) and store.steampowered.com/api/appdetails?appids=<id>&cc=<country> (one app per call, the full record) — both public, undocumented but stable for years; storesearch is not used because it is capped at 10 results per term |
| Rate | Steam throttles appdetails at roughly 200 calls per 5 minutes per IP; the Actor spaces calls 1.5 s apart by default and waits 60 s when Steam answers 429 or 403 |
| Refresh cadence | Live on every run; prices and discounts are what the store serves for country_code at fetched_at |
| Terms | Steam store content is Valve's and its partners'; use of the store is subject to the Steam Subscriber Agreement (https://store.steampowered.com/subscriber_agreement/). This Actor reads only what the public store serves to any visitor and copies no images — header_image is a URL |
| Known caveats | Apps Steam answers success: false for (unknown, delisted, region-locked, age-gated in some regions) are skipped and listed in RUN_SUMMARY.unavailable_appids; price_* are null for free and unreleased apps; metacritic_score and recommendations are null when Steam has none; packages and bundles in the search list are skipped (apps only); the search list order is Steam's, so "relevance" can shift between runs |
Honesty note: the rows are Steam's own appdetails fields flattened — prices are the
store's integer minor units ÷ 100, nothing is inferred or estimated, and a run stops with
an error rather than guess when the endpoints' shape changes.
Identification: the requests carry a product-token User-Agent and the operator's
contact address in the standard From: header (RFC 9110 §10.1.2).
Input
| Field | Type | Meaning |
|---|---|---|
search_terms | array | Store search terms; each paged 50 at a time until max_records |
app_ids | array | Optional appids fetched first (e.g. 620) |
country_code | string | Two-letter store region for prices, default us |
sort | select | relevance (default), released_desc, released_asc, name_asc, price_asc, price_desc, reviews_desc |
max_records | integer | Default 100, at most 2,000 (≈ 25 min per 1,000) |
request_interval_ms | integer | Default 1500 (floor 1000) |
contact_email | string | Sent in the From: header |
Example — best-reviewed roguelikes with UK prices, plus Portal 2 and Dota 2 by id:
{ "search_terms": ["roguelike"], "app_ids": ["620", "570"], "country_code": "gb", "sort": "reviews_desc", "max_records": 40 }
Output (dataset row)
appid, name, type, is_free, price_initial, price_final, discount_percent,
currency, price_final_formatted, country_code, release_date (Steam's display string,
e.g. Oct 10, 2007), coming_soon, developers, publishers, genres, categories,
platforms (windows / mac / linux), metacritic_score, metacritic_url,
recommendations, required_age, short_description (≤ 3,000 chars, HTML stripped),
header_image (URL), website, parent_appid (for DLC / soundtracks), store_url,
matched_term, fetched_at, source.
A run summary (terms and Steam's own result totals, candidates, rows, unavailable appids,
requests, throttle waits, whether the pay-per-event budget stopped the run) is stored as
RUN_SUMMARY in the run's key-value store.
Pricing (pay per event)
| Event | Price |
|---|---|
run-start — once per run | $0.10 |
record — per app row written | $0.005 |
The default pull (100 apps) costs at most $0.60; 1,000 apps cost $5.10. Rows stop when your run's maximum charge is reached; the run summary says so.
Operator
Steelyard Ventures LLC (RetrainMap) — info@steelyardclinical.com. Not affiliated with Valve Corporation or Steam. The Actor writes only to its own dataset and key-value store; it stores no credentials and sends nothing else.