Steam Games Scraper
Scrape Steam games with no API key. Search by name, get store details, price, genres, Metacritic and SteamSpy stats, or pull recent player reviews as JSON.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
mode,query,appIds(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.002 per item = $2 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Item returned | Charged per game/result returned. | $0.002 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-06-13, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
mode | What to scrape. "search" finds apps by name (needs query). "app" returns full store details + SteamSpy stats for given app ids. "reviews" returns recent player reviews for given app ids. | string |
query | Game name to search for in "search" mode, e.g. "portal" or "counter strike". Ignored in app/reviews modes. | string |
appIds | List of numeric Steam app ids to fetch in "app" or "reviews" mode, e.g. ["400","620"] (Portal, Portal 2). Use search mode first to find app ids. Ignored in search mode. | array |
maxItems | Maximum number of output rows to return (apps in search mode, app rows in app mode, reviews total in reviews mode). Charged per successful row only. | integer |
notionConnector | Optional. Write each item as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless. | string |
notionParentId | Optional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead. | string |
What you get
A structured dataset — each result includes fields like:
appIdcategoriescreatedAtdevelopersdiscountPctgamesOwnedgenresheaderImageiconisFreemetacriticScorenamenegativeReviewsownerspriceurlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
3 ready-to-run use cases
Search Steam Games by Keyword - Steam Scraper
Type a keyword like "counter strike" and get every matching Steam game back as a list of titles and app IDs. Handy for franchise lookups.
Bulk Steam Price, Genre & Tag Lookup by App ID
Feed a list of Steam app IDs and the scraper returns current price, genres and tags for each game. Useful for analysts comparing catalogs at scale.
Scrape Cyberpunk 2077 Steam Reviews (App 1091500)
Recent player reviews for Cyberpunk 2077, pulled from Steam app 1091500 as structured data. Ideal for sentiment analysis and tracking reception.
Related tools in Media & Entertainment Data
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Books Scraper (Google Books + Open Library)
Search Google Books and Open Library and export clean book data: title, authors, ISBN-13, ratings, covers, and prices. No API key, no login.
TVMaze TV Show Scraper
Scrape TV data from TVMaze: search shows and people, get ratings, genres, network, IMDb IDs, images and full episode lists.
MusicBrainz Scraper
Scrape MusicBrainz artists, releases, recordings, release-groups and labels. Structured rows with MBIDs, dates and tags from $0.20 per 1,000. No API key.
IMDb Search Scraper
Search IMDb for movies, shows, and people. Get the IMDb id, year, top cast, poster, and URL back as clean rows. Batch a whole watchlist at once.
Where this tool sits
- Categories
- Media & Entertainment Data
- Platforms
- Steam
Steam Games Scraper
Scrape Steam games using public, no-key endpoints — no login, no API key. Three modes, normalized JSON output, charged per successful row only.
Pricing
$2.00 per 1,000 rows ($0.002 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged only for rows actually returned. Every diagnostic row (ok:false) is free, so a search that finds nothing, a bad app id, or a rate-limited request costs you nothing at all.
That is the whole price list. There is no second charge event, no per-request fee, no monthly minimum and no compute surcharge on top: the $0.002 per row you see here is what appears on your Apify invoice.
Modes
| Mode | Needs | Returns |
|---|---|---|
search | query (game name) | { appId, name, icon } |
app | appIds (numeric ids) | full store details + SteamSpy stats |
reviews | appIds (numeric ids) | recent player reviews |
Input
| Field | Type | Default | Notes | ||
|---|---|---|---|---|---|
mode | string | search | search \ | app \ | reviews |
query | string | — | game name (search mode), e.g. portal or counter strike | ||
appIds | array of numeric ids | — | e.g. ["400","620"] (app/reviews modes) | ||
maxItems | integer | 50 | max output rows, 1–1000. Charged per successful row only | ||
notionConnector | string | — | optional. Authorize a Notion MCP connector once in Settings → API & Integrations, pick it here, and each row is written into Notion when the run finishes | ||
notionParentId | string | — | optional. Notion data source ID to write into; leave empty to create the pages privately in your workspace | ||
proxyConfiguration | object | { "useApifyProxy": false } | optional; the APIs are public so a proxy is usually unnecessary, and the default routes traffic directly so you spend no proxy credits |
Typical flow: run search to find app ids, then app and/or reviews with those ids.
Output
search → { appId, name, icon }
app → { appId, name, type, isFree, price, discountPct, developers, publishers, genres, categories, releaseDate, metacriticScore, recommendations, owners, positiveReviews, negativeReviews, shortDescription, headerImage, platforms, url }
reviews → { appId, reviewId, review, votedUp, votesUp, playtimeForeverMin, gamesOwned, createdAt, url }
url is always https://store.steampowered.com/app/{appId}. Successful rows are flagged ok:true. Failures/empty results are pushed as ok:false diagnostic rows (errorCode of BAD_INPUT / NO_RESULTS / NOT_FOUND / RATE_LIMITED / NETWORK) and are never charged.
What you can do with it
- Price and discount tracking —
appmode returnspriceanddiscountPct, so a scheduled run gives you a discount history per title. - Competitive research —
genres,categories,developers,publishersandreleaseDateon every row, ready for a spreadsheet or a dashboard. - Sentiment and reception —
metacriticScoreandrecommendationsfrom the store,positiveReviews/negativeReviewsandownersfrom SteamSpy, and the actual review text fromreviewsmode. - Player-review mining — each review row carries
playtimeForeverMinandgamesOwnedfor the reviewer, so you can weight opinions by how much they actually played.
Data sources
- Name search —
steamcommunity.com/actions/SearchApps - App details —
store.steampowered.com/api/appdetails - Owner/review stats —
steamspy.com/api.php - Reviews —
store.steampowered.com/appreviews(cursor-paginated)
All four are public, unauthenticated JSON endpoints. Nothing here needs a Steam account, a Steam Web API key, or a browser.