Steam Store Scraper — App IDs & Regional Prices avatar

Steam Store Scraper — App IDs & Regional Prices

Pricing

from $3.00 / 1,000 steam game records

Go to Apify Store
Steam Store Scraper — App IDs & Regional Prices

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

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 groupIncluded fields
IdentityappId, name, type, storeUrl, searchQuery
Regional pricecountryCode, currency, current and original price in cents and decimal units, formatted prices, discountPercent
Game metadatadeveloper, publishers, releaseDate, comingSoon, shortDescription, headerImage
Discovery signalsplatforms, genres, categories, metacriticScore, reviewCount
Provenancelanguage, 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.

EventPriceWhen charged
Actor start$0.00005Once per run, scaled by allocated memory
Steam game record$0.003After 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 ApifyClient
client = 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.

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.

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.