Steam Scraper — Steam Reviews Scraper, Playtime & Games
Pricing
$4.00 / 1,000 extracted steam records
Steam Scraper — Steam Reviews Scraper, Playtime & Games
Extract player reviews from Steam Store by AppID. Captures review text, votedUp recommendation, playtime at review (hours), total playtime, helpfulness score, Steam purchase flag & language.
Pricing
$4.00 / 1,000 extracted steam records
Rating
0.0
(0)
Developer
PROOFNEXA
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Extract player reviews from Steam Store by AppID. Captures review text, votedUp recommendation, playtime at review (hours), total playtime, helpfulness score, Steam purchase flag & language.
1. Architecture & Extraction Pipeline
- Extraction Mechanism: Hits Steam's official JSON appreviews endpoint directly (zero browser overhead), calculating reviewer playtime hours, retention ratio & helpfulness weight.
- Proxy Overhead: None required for standard runs. Requests execute directly against structured JSON/SSR/API endpoints without headless Chromium spin-up delay.
- Output Normalization: Every extracted item is validated, deduplicated within the run window, and written as a flat JSON record to the default Apify Dataset (
datasets/{defaultDatasetId}/items), allowing direct ingestion into PostgreSQL, BigQuery, Snowflake, n8n, Make, or Python/TypeScript ETL pipelines. - Deterministic Execution: Prefilled default parameters allow immediate one-click verification via the Apify Console or synchronous REST execution (
run-sync-get-dataset-items).
2. Verified Production Dataset Sample
The following JSON record was captured directly from a live production execution of vivid_astronaut/steam-reviews-games-scraper on Apify Cloud:
[{"platform": "store.steampowered.com","appId": "730","gameName": "Counter-Strike 2","gamePrice": "Free to Play","gameTotalRecommendations": 5331055,"authorProfileId": "76561199844502485","votedUp": true,"recommendationLabel": "Recommended","playtimeForeverHours": 14.7,"helpfulCount": 0,"postedDateText": "October 29","reviewText": "very fun","storeUrl": "https://store.steampowered.com/app/730/","scrapedAt": "2026-10-29T08:32:41.900Z"},{"platform": "store.steampowered.com","appId": "730","gameName": "Counter-Strike 2","gamePrice": "Free to Play","gameTotalRecommendations": 5331055,"authorProfileId": "76561199160124422","votedUp": false,"recommendationLabel": "Not Recommended","playtimeForeverHours": 0.2,"helpfulCount": 0,"postedDateText": "October 29","reviewText": "No iron sights.","storeUrl": "https://store.steampowered.com/app/730/","scrapedAt": "2026-10-29T08:32:41.901Z"}]
3. Input Parameter Specification
| Parameter | Type | Default | Technical Specification |
|---|---|---|---|
appIds | array | ["730", "1091500", "1245620"] | Enter Steam AppIDs (e.g. 730 = CS2, 570 = Dota 2, 1091500 = Cyberpunk 2077) to extract structured records. |
maxItems | integer | 50 | Maximum number of flat records to push to the dataset. |
Example Input Payload (application/json)
{"appIds": ["730","1091500","1245620"],"maxItems": 50}
4. Measured Runtime & Unit Economics
| Metric | Measured Value | Notes |
|---|---|---|
| Container Memory Allocation | 256 MB | Lightweight Node.js 20 container (apify@^3.2.6) |
| Median Execution Latency | 2.24 s | Cold start to dataset commit for default batch |
| External Proxy Requirement | $0.00 | No residential proxy bandwidth surcharge required |
| Primary Billing Event | strategy-allocated | Charged strictly per committed dataset record |
| Unit Price (Pay-Per-Event) | $0.0040 / record | Equivalent to $4.00 per 1,000 records |
5. Production Integration (cURL, Python, Claude Code MCP)
5.1 Synchronous REST Execution (cURL)
Run the Actor synchronously and return the extracted JSON dataset array in a single HTTP request:
curl -s -X POST \"https://api.apify.com/v2/acts/vivid_astronaut~steam-reviews-games-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"appIds": ["730", "1091500", "1245620"], "maxItems": 50}'
5.2 Python Pipeline Integration (urllib.request)
import jsonimport osimport urllib.requestAPIFY_TOKEN = os.environ["APIFY_TOKEN"]url = ("https://api.apify.com/v2/acts/vivid_astronaut~steam-reviews-games-scraper/"f"run-sync-get-dataset-items?token={APIFY_TOKEN}")payload = {"appIds": ["730","1091500","1245620"],"maxItems": 50}req = urllib.request.Request(url,data=json.dumps(payload).encode("utf-8"),headers={"Content-Type": "application/json"},method="POST",)with urllib.request.urlopen(req, timeout=120) as resp:records = json.loads(resp.read().decode("utf-8"))print(f"Extracted {len(records)} records from steam-reviews-games-scraper")
5.3 Claude Code / Cursor MCP Configuration (.mcp.json)
Expose vivid_astronaut/steam-reviews-games-scraper as a callable tool inside Claude Code, Cursor, or any Model Context Protocol client:
{"mcpServers": {"apify-steam-reviews-games-scraper": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","vivid_astronaut/steam-reviews-games-scraper"],"env": {"APIFY_TOKEN": "YOUR_APIFY_TOKEN"}}}}