Steam Reviews Scraper - All Languages + Game Data avatar

Steam Reviews Scraper - All Languages + Game Data

Pricing

Pay per event

Go to Apify Store
Steam Reviews Scraper - All Languages + Game Data

Steam Reviews Scraper - All Languages + Game Data

Scrape every Steam user review for any game, in all languages or the ones you pick. Filter by positive/negative, date, playtime and keywords. Includes a game summary row with rating, price, genres and developer. No login, no API key.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Olly

Olly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape every Steam user review for any game, in every language or just the ones you pick. Filter by positive or negative, date range, playtime, purchase type, review length and keywords. Each game also gets a summary row with its all-language rating, review counts, price and discount, release date, developers, publishers, genres and Metacritic score.

✅ All languages in one run   ✅ Many games per run (links, IDs or names)   ✅ Positive / negative, date, playtime and keyword filters   ✅ Game summary row   ✅ No login, no API key, no proxy   ✅ $0.40 per 1,000 reviews, no start fee

What can you use it for?

  • Game developers and publishers: track what players say after every patch, find crash and performance complaints, and compare your reviews with competitors'
  • Sentiment analysis and AI training data: clean, labelled text (recommended yes/no) in 30 languages
  • Market research: see what players love or hate in a genre before you build or sign a game
  • Localisation QA: read reviews in each language to spot translation and regional issues
  • Journalism and analytics: review bombing, review velocity over a date window, Steam Deck feedback

How to use it

  1. Paste Steam store links, app IDs or game names in Steam games.
  2. Pick Languages: all (default) or codes such as english, schinese, russian, german.
  3. Optional filters: review type, purchase type, date range, keywords, minimum playtime, minimum length.
  4. Set Max reviews per game (per language when you pick several) and click Start.
  5. Export JSON, CSV or Excel, or use the API. Schedule it with a From date to collect only new reviews.

Input example

{
"games": ["https://store.steampowered.com/app/1145360/Hades/", "620", "baldur's gate 3"],
"languages": ["english", "german"],
"reviewType": "negative",
"dateFrom": "2026-09-01",
"keywords": ["crash", "performance"],
"maxReviewsPerGame": 2000
}

Input fields

FieldWhat it does
gamesStore links, app IDs or names (top Steam search match).
maxReviewsPerGameCap per game (and per language when several are picked). 0 = summary row only.
languagesall, or Steam language codes.
reviewTypeall, positive or negative.
purchaseTypeall, steam (bought on Steam) or non_steam_purchase (keys).
sortByrecent (newest first), updated or helpful.
dateFrom / dateToDate window (YYYY-MM-DD). With newest-first the run stops at the window's start, so you only pay for the window.
keywords, minPlaytimeHours, minTextLengthText and quality filters.
includeGameSummary, priceCountryAdds one summary row per game, with the price in that country's store.

Output

Review row:

{
"type": "review",
"appId": 1145360,
"gameName": "Hades",
"reviewId": "237394428",
"recommended": false,
"text": "98% for a good game, but that gets repetitive fast is nonsense.",
"language": "english",
"createdAt": "2026-10-10T18:08:03+00:00",
"updatedAt": "2026-10-10T18:08:03+00:00",
"votesHelpful": 0,
"votesFunny": 0,
"weightedVoteScore": 0.476,
"commentCount": 0,
"steamPurchase": false,
"receivedForFree": false,
"writtenDuringEarlyAccess": false,
"primarilySteamDeck": false,
"developerResponse": null,
"author": "Tomb",
"authorPlaytimeHours": 36.6,
"authorPlaytimeAtReviewHours": 36.6,
"authorGamesOwned": 0,
"authorReviewCount": 10
}

Game summary row:

{
"type": "game",
"appId": 1145360,
"gameName": "Hades",
"url": "https://store.steampowered.com/app/1145360/",
"reviewScoreDesc": "Overwhelmingly Positive",
"totalReviews": 309983,
"totalPositive": 303756,
"totalNegative": 6227,
"positivePercent": 98.0,
"priceCountry": "US",
"currency": "USD",
"price": 24.99,
"discountPercent": 0,
"releaseDate": "Sep 17, 2020",
"developers": ["Supergiant Games"],
"publishers": ["Supergiant Games"],
"genres": ["Action", "Indie", "RPG"],
"platforms": ["windows", "mac"],
"metacriticScore": 93
}

The dataset has two views: Reviews and Game summary. Filter on type in the API.

How much does it cost?

Pay per event, no start fee:

  • $0.40 per 1,000 reviews ($0.0004 per review)
  • $0.002 per game summary row (turn it off if you don't need it)

Worked examples

  • 1,000 reviews of one game + its summary = $0.40 + $0.002 = $0.40
  • Latest 500 reviews for each of 10 competitor games = 5,000 × $0.0004 + 10 × $0.002 = $2.02
  • Weekly check of 3 games with dateFrom = last week, ~300 new reviews = $0.13 a week
  • Summary rows only for 200 games (maxReviewsPerGame: 0) = $0.40

Filtered-out reviews are never charged.

Use it via API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("olsols4/steam-reviews-game-data").call(run_input={
"games": ["1145360"], "languages": ["all"], "reviewType": "negative", "maxReviewsPerGame": 500})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["type"] == "review":
print(row["language"], row["recommended"], row["text"][:80])

Or with plain HTTP:

curl -X POST "https://api.apify.com/v2/acts/olsols4~steam-reviews-game-data/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" -d '{"games":["620"],"maxReviewsPerGame":100}'

Send results to Google Sheets, Slack, Make, Zapier, n8n or a webhook through Apify integrations.

FAQ

How many reviews can I get? All of them. Steam pages through a game's full review history; very popular games have hundreds of thousands, so set a cap or a date window.

Why can the review count differ slightly from Steam's headline number? Steam's headline count excludes some reviews (e.g. off-topic review bombs, free keys), and this Actor filters off-topic review-bomb activity by default, as Steam's store page does.

What reviewer data is included? The public display name and playtime stats shown next to each review on Steam. Steam IDs, profile links and avatars are not collected.

Do I need a Steam account or API key? No. It uses the same public review feed as the Steam store page.

Does it work for DLC, demos and software? Yes, anything with a Steam app ID and reviews.

Which language codes are supported? all, english, schinese, tchinese, russian, spanish, latam, brazilian, portuguese, german, french, italian, japanese, koreana, polish, turkish, ukrainian, thai, vietnamese, czech, dutch, swedish, danish, finnish, norwegian, hungarian, romanian, greek, bulgarian, arabic, indonesian.

Support

Need a field or found a game that fails? Open an issue on the Issues tab. Issues are answered within a few days.