Steam Games Scraper
Pricing
from $6.80 / 1,000 results
Steam Games Scraper
Scrape Steam store game data: price, discount, release date, developers, publishers, genres, categories, platforms, Metacritic score, review count, description and artwork. Search by keyword or app ID and pick a pricing region. Export to JSON, CSV or Excel.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Steam Games Scraper
Here is one real result, with every field the actor returns:
{"headerImage": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/400/header.jpg?t=1745368554","appId": 400,"name": "Portal","type": "game","url": "https://store.steampowered.com/app/400","isFree": false,"priceInitial": 9.99,"priceFinal": 9.99,"discountPercent": 0,"priceCurrency": "USD","priceFormatted": "$9.99","releaseDate": "Oct 10, 2007","comingSoon": false,"requiredAge": 0,"developers": ["Valve"],"publishers": ["Valve"],"genres": ["Action"],"categories": ["Single-player", "Steam Achievements", "Full controller support", "Captions available", "Includes level editor", "Includes Source SDK", "Commentary available", "Remote Play on Phone", "Remote Play on Tablet", "Family Sharing"],"platformWindows": true,"platformMac": false,"platformLinux": true,"metacriticScore": 90,"metacriticUrl": "https://www.metacritic.com/game/pc/portal?ftag=MCD-06-10aaa1f","recommendationsTotal": 172541,"reviewScoreDesc": "Overwhelmingly Positive","reviewScore": 9,"totalReviews": 198040,"totalPositive": 195114,"totalNegative": 2926,"positivePercent": 98.5,"shortDescription": "Portal™ is a new single player game from Valve. Set in the mysterious Aperture Science Laboratories, Portal has been called one of the most innovative new games on the horizon and will offer gamers hours of unique gameplay.","website": "http://www.whatistheorangebox.com/","supportUrl": "http://steamcommunity.com/app/400","supportEmail": null,"supportedLanguages": "English, French, German, Russian, Danish, Dutch, Finnish, Italian, Japanese, Norwegian, Polish, Simplified Chinese, Spanish - Spain, Swedish, Traditional Chinese, Korean, Bulgarian, Czech, Greek, Hungarian, Portuguese - Brazil, Romanian, Spanish - Latin America, Thai, Turkish, Ukrainian","controllerSupport": "full","dlcCount": 2,"achievementsTotal": 15,"screenshots": ["https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/400/0000002582.1920x1080.jpg?t=1745368554", "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/400/ss_25aa95176ac6319fad955b31554451f3ea61f1e8.1920x1080.jpg?t=1745368554"],"trailerUrl": "https://video.akamai.steamstatic.com/store_trailers/400/336/858d7ae015068388644e14742bd90801fbb8a805/1750108766/hls_264_master.m3u8?t=1682715059","backgroundImage": "https://store.akamai.steamstatic.com/images/storepagebackground/app/400?t=1745368554","countryCode": "us","query": "portal","source": "Steam","observedAt": "2026-08-10T14:29:24.968Z"}
Note: the
categories,screenshots, andsupportedLanguagesvalues above are trimmed for readability. The real record returns the full lists; every value shown is exactly as returned (the language list drops Steam's*full-audio markers as it appears insupportedLanguages).
The most complete Steam store scraper available. It returns every field a Steam store page exposes for a game, plus derived review and pricing fields (positivePercent, priceInitial/priceFinal, discountPercent), and gives you search-by-keyword and search-by-app-ID inputs with a pricing region to target exactly the games you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor resolves each search query to matching Steam store games, fetches the full store detail for every game (and for any app IDs you pass directly), and writes one normalized record per game to the run's dataset. Prices are converted from Steam's integer cents to decimal amounts in the currency of the region you choose, review counts and sentiment are pulled from the community review summary, and a positivePercent field is computed on top of the raw positive and negative counts so you can sort without extra parsing. Missing source values are returned as null.
Data covers public Steam store pages. Price and currency reflect the countryCode (pricing region) you pass.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 games matched across the three queries, priced in US dollars.
{"searchQueries": ["portal", "elden ring", "counter-strike"],"countryCode": "us","maxGames": 10}
You can search by keyword (searchQueries), by exact Steam app ID (appIds), or both. Every input is optional; provide at least one query or app ID to get results.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | no | (empty) | Game titles or keywords to look up on the Steam store, one per line (for example portal, elden ring, counter-strike). Each query is resolved to matching Steam games. |
appIds | string[] | no | (empty) | Specific Steam app IDs to fetch directly (the number in a store URL, for example 730 for store.steampowered.com/app/730), one per line. |
countryCode | string | no | us | Two-letter country code used for the pricing region and currency (for example us, gb, br, de, mx). |
maxGames | integer | no | 10 | Maximum number of games to collect across all queries and app IDs. Range 1 to 1000000. |
Queries and app IDs are combined; the actor collects up to maxGames games in total across both.
Output reference
One dataset item per game. Types: string, integer, number, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
headerImage | string | Header artwork URL. |
appId | integer | Steam app ID. |
name | string | Game title. |
type | string | Store item type (game, dlc, demo). |
url | string | Store page URL. |
isFree | boolean | Whether the game is free to play. |
priceInitial | number | List price before discount, in region currency. |
priceFinal | number | Current price after discount, in region currency. |
discountPercent | integer | Discount percentage. |
priceCurrency | string | Currency code. |
priceFormatted | string | Formatted current price. |
releaseDate | string | Release date as shown on the store. |
comingSoon | boolean | Whether the game is unreleased. |
requiredAge | integer | Required age. |
developers | string[] | Developers. |
publishers | string[] | Publishers. |
genres | string[] | Genres. |
categories | string[] | Store categories and features. |
platformWindows | boolean | Runs on Windows. |
platformMac | boolean | Runs on macOS. |
platformLinux | boolean | Runs on Linux. |
metacriticScore | integer | Metacritic score, or null. |
metacriticUrl | string | Metacritic page URL, or null. |
recommendationsTotal | integer | Total user recommendations. |
reviewScoreDesc | string | Community review sentiment label (for example Overwhelmingly Positive). |
reviewScore | integer | Steam review score (0 to 9). |
totalReviews | integer | Total community reviews. |
totalPositive | integer | Positive community reviews. |
totalNegative | integer | Negative community reviews. |
positivePercent | number | Percentage of positive reviews (derived). |
shortDescription | string | Short description. |
website | string | Official game or developer website, or null. |
supportUrl | string | Developer support URL, or null. |
supportEmail | string | Developer support email or contact link, or null. |
supportedLanguages | string | Supported interface, audio, and subtitle languages. |
controllerSupport | string | Controller support level (full, partial), or null. |
dlcCount | integer | Number of DLC packages. |
achievementsTotal | integer | Number of achievements. |
screenshots | string[] | Screenshot image URLs. |
trailerUrl | string | Primary trailer or video URL, or null. |
backgroundImage | string | Store page background image URL. |
countryCode | string | Pricing region used. |
query | string | Search query that produced this game. |
source | string | Data source. Always Steam. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed or empty run; a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"searchQueries": ["portal", "elden ring", "counter-strike"], "countryCode": "us", "maxGames": 10}):
{"headerImage": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/400/header.jpg?t=1745368554","appId": 400,"name": "Portal","type": "game","url": "https://store.steampowered.com/app/400","isFree": false,"priceInitial": 9.99,"priceFinal": 9.99,"discountPercent": 0,"priceCurrency": "USD","priceFormatted": "$9.99","releaseDate": "Oct 10, 2007","comingSoon": false,"requiredAge": 0,"developers": ["Valve"],"publishers": ["Valve"],"genres": ["Action"],"platformWindows": true,"platformMac": false,"platformLinux": true,"metacriticScore": 90,"recommendationsTotal": 172541,"reviewScoreDesc": "Overwhelmingly Positive","reviewScore": 9,"totalReviews": 198040,"totalPositive": 195114,"totalNegative": 2926,"positivePercent": 98.5,"controllerSupport": "full","dlcCount": 2,"achievementsTotal": 15,"countryCode": "us","query": "portal","source": "Steam","observedAt": "2026-08-10T14:29:24.968Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~steam-games-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["portal","elden ring"],"countryCode":"us","maxGames":10}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~steam-games-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"appIds":["730","400"],"countryCode":"br"}'
Apify CLI:
apify call scrapers_lat/steam-games-scraper \--input '{"appIds":["400"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per game returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors or matches nothing, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 games per run. Upgrade for higher
maxGames.
FAQ and troubleshooting
A run returned 0 records. Why?
No query or app ID matched a Steam store page. Check the spelling of your searchQueries or confirm the appIds are valid store IDs. Zero-result runs are not charged.
How do I get prices in another currency?
Set countryCode to the region you want (for example gb, br, de, mx). priceCurrency, priceInitial, priceFinal, and priceFormatted all follow that region.
Can I fetch an exact game without searching?
Yes. Pass its Steam app ID in appIds (the number in the store URL, for example 730 for Counter-Strike 2).
Why is metacriticScore or supportEmail null?
Not every game exposes a Metacritic score or a public support contact. Missing source values are returned as null, never invented.
Is this an official Valve or Steam tool? No. This actor is independent and has no affiliation with Valve or Steam. It reads only data that is publicly available on the Steam store.
Related scrapers
- App Store Reviews Scraper: Apple App Store user reviews by app.
- AliExpress Scraper: AliExpress product data and pricing.
- Amazon Product Scraper: Amazon product detail and pricing.
- Substack Publications Scraper: Substack publications and metadata.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Valve or Steam. Accesses only publicly available Steam store data.
