Steam Reviews Scraper avatar

Steam Reviews Scraper

Pricing

Pay per usage

Go to Apify Store
Steam Reviews Scraper

Steam Reviews Scraper

Scrape Steam game reviews and details. Extract review text, playtime, recommendations, ratings, and game metadata. Export to JSON, CSV, Excel.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Glass Ventures

Glass Ventures

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape Steam game reviews, ratings, and game details using the Steam public API. Extract review text, playtime, recommendations, and full game metadata.

What does Steam Reviews Scraper do?

Steam Reviews Scraper is an Apify actor that extracts reviews and game information from the Steam Store. It uses Steam's public API endpoints to collect review data including the full review text, author playtime, recommendation status, and language, along with comprehensive game details like price, developer, genres, and aggregate ratings.

This actor is ideal for game developers, market researchers, and data analysts who need to analyze player sentiment, track game reception over time, or compare reviews across different titles. It supports filtering by positive or negative reviews, searching for games by name, and processing multiple games in a single run.

The actor uses BasicCrawler with gotScraping to hit Steam's JSON API endpoints directly, making it fast and efficient with minimal resource usage.

Use Cases

  • Game developers -- analyze player feedback and sentiment for your own or competitor games
  • Market researchers -- study gaming trends, pricing strategies, and player reception across genres
  • Data analysts -- build datasets of review text for NLP/sentiment analysis projects
  • Business owners -- evaluate game quality and community reception before partnership or investment decisions

Features

  • Extract reviews with full text, playtime, recommendation, and author details
  • Fetch game metadata including price, developer, publisher, genres, and tags
  • Filter reviews by sentiment (all, positive only, negative only)
  • Search for games by name using Steam's search API
  • Support for multiple input methods: URLs, App IDs, or search terms
  • Proxy support with automatic rotation
  • Handles pagination and large datasets automatically
  • Exports to JSON, CSV, Excel, or connect via API

How much will it cost?

Steam has a public API with generous rate limits, making this actor very cost-effective.

ResultsEstimated Cost
100~$0.01
1,000~$0.05
10,000~$0.40
Cost ComponentPer 1,000 Results
Platform compute~$0.03
Proxy (datacenter)~$0.02
Total~$0.05

How to use

  1. Go to the Steam Reviews Scraper page on Apify Store
  2. Click "Start" or "Try for free"
  3. Enter Steam App IDs (e.g., "730" for Counter-Strike 2), store URLs, or search terms
  4. Choose your review filter (all, positive, or negative)
  5. Set the maximum number of items
  6. Click "Start" and wait for the results

Input parameters

ParameterTypeDescriptionDefault
startUrlsarraySteam store URLs to scrape-
appIdsstringListSteam App IDs (e.g., 730)-
searchTermsarraySearch queries to find games-
reviewFilterselectFilter: all, positive, negativeall
maxItemsnumberMax results to return100
maxConcurrencynumberParallel request limit10
proxyConfigobjectProxy settingsApify Proxy

Output

The actor produces a dataset with two item types: reviews and games.

Review output

{
"type": "review",
"url": "https://store.steampowered.com/app/730",
"reviewId": "123456789",
"author": {
"steamId": "76561198012345678",
"profileUrl": "https://steamcommunity.com/profiles/76561198012345678",
"playtimeForever": 5432,
"playtimeLastTwoWeeks": 120,
"playtimeAtReview": 4000,
"lastPlayed": 1700000000,
"numGamesOwned": 150,
"numReviews": 12
},
"hoursPlayed": 90.53,
"votedUp": true,
"text": "Great game, highly recommend!",
"timestampCreated": "2024-01-15T10:30:00.000Z",
"steamPurchase": true,
"language": "english",
"appId": "730",
"scrapedAt": "2024-01-20T15:00:00.000Z"
}

Game output

{
"type": "game",
"url": "https://store.steampowered.com/app/730",
"name": "Counter-Strike 2",
"appId": "730",
"price": "Free to Play",
"releaseDate": "Aug 21, 2012",
"developer": "Valve",
"publisher": "Valve",
"genres": ["Action", "Free to Play"],
"tags": ["Multi-player", "Online Multi-Player"],
"rating": {
"description": "Very Positive (8/10)",
"percentage": 87,
"totalPositive": 7500000,
"totalNegative": 1100000,
"totalReviews": 8600000
},
"scrapedAt": "2024-01-20T15:00:00.000Z"
}
FieldTypeDescription
typestring"review" or "game"
urlstringSteam store URL
reviewIdstringUnique review ID
authorobjectAuthor details with Steam ID and playtime
hoursPlayednumberTotal hours played (converted from minutes)
votedUpbooleantrue = positive, false = negative
textstringFull review text
timestampCreatedstringISO 8601 review creation date
steamPurchasebooleanWhether purchased on Steam
languagestringReview language
namestringGame name
appIdstringSteam App ID
pricestringCurrent price
releaseDatestringGame release date
developerstringGame developer
publisherstringGame publisher
genresarrayGame genres
tagsarraySteam tags/categories
ratingobjectAggregate rating summary
scrapedAtstringISO 8601 scrape timestamp

Integrations

Connect Steam Reviews Scraper with other tools:

  • Apify API -- REST API for programmatic access
  • Webhooks -- get notified when a run finishes
  • Zapier / Make -- connect to 5,000+ apps
  • Google Sheets -- export directly to spreadsheets

API Example (Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('YOUR_USERNAME/steam-reviews-scraper').call({
appIds: ['730'],
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

API Example (Python)

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('YOUR_USERNAME/steam-reviews-scraper').call(run_input={
'appIds': ['730'],
'maxItems': 100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items

API Example (cURL)

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~steam-reviews-scraper/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"appIds": ["730"], "maxItems": 100}'

Tips and tricks

  • Start with a small maxItems (10-20) to test before running large scrapes
  • Use App IDs for the fastest and most reliable results
  • Filter by "positive" or "negative" to focus on specific sentiment
  • Steam's API is public and generous -- datacenter proxies work fine

FAQ

Q: Does this actor require login credentials? A: No. Steam's store API is publicly accessible without authentication.

Q: How fast is the scraping? A: Approximately 500-1,000 reviews per minute, depending on concurrency settings.

Q: What should I do if I get rate limited? A: Reduce maxConcurrency to 3-5 and enable proxy rotation in Proxy Configuration settings.

Q: Can I scrape reviews for multiple games at once? A: Yes. Provide multiple App IDs, URLs, or search terms and the actor will process all of them.

Web scraping of publicly available data is generally legal based on precedents like the LinkedIn v. HiQ Labs case. This actor only accesses Steam's public API endpoints, which are designed for programmatic access. Always review and respect Steam's Terms of Service. For more information, see Apify's blog on web scraping legality.

Limitations

  • Steam API rate limits may slow down very large scrapes (100,000+ reviews)
  • Some games with age-gating may return limited data
  • Review text is returned as-is (may contain formatting characters)
  • Search results are limited to what Steam's search API returns (typically top ~10 matches)

Changelog

  • v0.1 (2026-04-23) -- Initial release