Steam Scraper (Pay-Per-Event) avatar

Steam Scraper (Pay-Per-Event)

Pricing

Pay per event

Go to Apify Store
Steam Scraper (Pay-Per-Event)

Steam Scraper (Pay-Per-Event)

Scrape Steam Store search results for prices, discounts, review summaries, positive percentages, review counts, platforms, and release dates. Pay-per-event pricing — only pay for the games you actually scrape.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Arnas

Arnas

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Scrape Steam Store search results for prices, discounts, review summaries, positive percentages, review counts, platforms, and release dates.

What does Steam Scraper do?

Steam Scraper extracts game data from Steam Store search results. For every keyword you provide, it returns one structured record per unique game including the Steam app ID, title, store URL, release date, review summary (e.g., Overwhelmingly Positive), positive percentage, review count, current price, original price, discount percentage, platform support (Windows / Mac / Linux / Steam Deck / VR), and the capsule thumbnail.

Use it for game price monitoring, deal tracking, market research, competitive analysis, and gaming industry analytics — without writing your own HTML parser or running a browser.

Run it once on demand or schedule it during Steam sales (Summer, Winter, Halloween) to track price drops automatically. Results download as JSON, CSV, or Excel, or stream live via the Apify API.

Who is it for?

  • Game developers and publishers monitoring competitor pricing, review scores, and market positioning
  • Deal aggregator sites tracking Steam discounts and price drops for their audience
  • Market researchers analyzing gaming trends, pricing strategies, and genre popularity
  • Data analysts building game databases, price trackers, or recommendation engines
  • Gamers and content creators discovering top-rated games and tracking wishlisted titles

Use cases

  • Price monitoring — track game prices and discounts across Steam. Compare prices over time with scheduled runs.
  • Deal tracking — find games on sale with discount percentages and original prices. Monitor seasonal sales.
  • Game discovery — search by keyword and sort by reviews to find top-rated titles in any genre.
  • Market research — analyze pricing strategies, review distributions, and platform availability across categories.
  • Competitive analysis — research competitors' games, pricing, review scores, and release timelines.
  • Gaming industry analytics — build databases for trend analysis, genre popularity, and pricing patterns.

Why use Steam Scraper?

  • Rich data extraction — appId, title, URL, release date, review summary, positive percentage, review count, price, original price, discount percent, free/paid flag, platform list, thumbnail.
  • Consistent US/English locale — every search request forces cc=us&l=english so prices and review text are stable across runs regardless of the runner's IP region (other Steam scrapers serve EUR or local currency depending on where they happen to run).
  • Age-gated titles visible — mature/age-restricted games appear in results automatically. No manual age-gate bypass needed.
  • Per-keyword deduplication — Steam search occasionally repeats the same appId across adjacent pages; we write each unique game once and bill once.
  • Charge-after-push — pricing events fire only after a successful dataset write, so a transient write failure never costs you.
  • Robust review parsing — the tooltip's percent and count parse first; the visible class (mixed, very_positive, …) is the fallback so the summary field is rarely null when reviews exist.
  • Multiple sort options — relevance, user reviews, release date, name, price ascending, price descending.
  • Pay-per-event pricing — only pay for games written to the dataset. No monthly subscription.

What data can you extract?

Each game in the output includes:

FieldDescription
appIdSteam application ID (stable; used for deduplication)
titleGame title
urlCanonical Steam Store URL (tracking params stripped)
releaseDateRelease date string (e.g., "22 Apr, 2025") — null for unreleased titles
reviewSummarySteam's review category (e.g., "Overwhelmingly Positive", "Mixed") — null if unreviewed
reviewPositivePercentPercentage of positive reviews (integer 0–100) — null if unreviewed
reviewCountTotal user reviews — null if unreviewed
priceCurrent price string (e.g., "$9.99", "Free") — null if unpriced
originalPriceOriginal price before discount, when on sale
discountPercentDiscount label (e.g., "-50%") when on sale
isFreetrue for free-to-play, free demos, and free media
platformsSupported platforms (["Windows", "Mac", "Linux", "Steam Deck (Verified)", "VR"])
thumbnailGame capsule image URL (231×87)
scrapedAtISO timestamp when the row was extracted

Output example

{
"appId": "1091500",
"title": "Cyberpunk 2077",
"url": "https://store.steampowered.com/app/1091500/Cyberpunk_2077/",
"releaseDate": "10 Dec, 2020",
"reviewSummary": "Very Positive",
"reviewPositivePercent": 88,
"reviewCount": 367343,
"price": "$29.99",
"originalPrice": "$59.99",
"discountPercent": "-50%",
"isFree": false,
"platforms": ["Windows"],
"thumbnail": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/1091500/capsule_231x87.jpg",
"scrapedAt": "2026-05-22T12:23:09.226Z"
}

You can download the dataset in various formats such as JSON, CSV, HTML, or Excel.

How to use Steam Scraper

  1. Go to Steam Scraper on the Apify Store.
  2. Enter one or more search keywords in searchQueries (e.g., cyberpunk, horror, roguelike).
  3. Choose a sort order: relevance, reviews, release_date, name, price_asc, or price_desc.
  4. Set maxResultsPerSearch (default 100) and maxSearchPages (default 5, max 20).
  5. Click Start and wait for the run to finish.
  6. Download the dataset as JSON, CSV, or Excel — or pull it via API.

Input

ParameterTypeDefaultDescription
searchQueriesarrayRequired. Keywords to search on Steam. Each keyword runs a separate search.
sortstring"relevance"One of relevance, reviews, release_date, name, price_asc, price_desc.
maxResultsPerSearchinteger100Maximum unique games per keyword (1–1000).
maxSearchPagesinteger5Maximum pages per keyword (1–20). ~50 games per page.
maxRequestRetriesinteger3Retry attempts for failed requests (1–10).
proxyConfigurationobjectApify proxy (shared)Standard Apify proxy editor. Switch to RESIDENTIAL if you encounter rate-limits.

How much does it cost to scrape Steam?

Steam Scraper uses pay-per-event pricing — you only pay for what you scrape.

EventPrice
Actor start$0.001 per run
Game scraped$2.30 per 1,000 games ($0.0023 / game)

Cost examples

RunGames scrapedApprox. cost
Single keyword, 1 page50~$0.12
Single keyword, default100~$0.24
Single keyword, max1,000~$2.30
5 keywords × 100 games500~$1.16

No monthly subscription. Platform compute is included in the per-event price.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('YOUR_USERNAME/steam-scraper').call({
searchQueries: ['cyberpunk'],
sort: 'reviews',
maxResultsPerSearch: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((game) => {
console.log(`${game.reviewSummary} (${game.reviewPositivePercent}%) — ${game.title}${game.price}`);
});

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('YOUR_USERNAME/steam-scraper').call(run_input={
'searchQueries': ['cyberpunk'],
'sort': 'reviews',
'maxResultsPerSearch': 50,
})
for game in client.dataset(run['defaultDatasetId']).list_items().items:
print(f"{game['reviewSummary']} ({game['reviewPositivePercent']}%) — {game['title']}{game['price']}")

cURL

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~steam-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["roguelike"],
"sort": "reviews",
"maxResultsPerSearch": 50
}'

Integrations

Steam Scraper works with every standard Apify integration:

  • Webhooks — get notified when a run finishes.
  • API — start runs and fetch results programmatically.
  • Scheduling — run daily during Steam sales to track price changes.
  • Storage — export as JSON, CSV, or Excel. Pipe to Google Sheets, Slack, or email.
  • Zapier / Make / n8n — connect Steam data to thousands of apps.

Tips and best practices

  • Sort by reviewssort: "reviews" surfaces the highest-rated games for any genre.
  • Track discounts — check discountPercent and originalPrice to find sale prices.
  • Schedule during seasonal sales — Summer, Winter, Halloween, Lunar New Year.
  • Filter free games — post-process the dataset for isFree: true.
  • Multiple genres in one run["horror", "survival", "roguelike"] runs all three concurrently.
  • Platform filter — use platforms to find games supporting Mac, Linux, Steam Deck, or VR.

FAQ, disclaimers, and support

Why are some games missing reviews?

Games with fewer than ~10 user reviews show no review summary on Steam. The corresponding fields (reviewSummary, reviewPositivePercent, reviewCount) are returned as null for those rows.

Why are all prices in USD?

The URL builder forces cc=us&l=english so prices and locale are consistent across runs. To get a different region, override proxyConfiguration with apifyProxyCountry: "GB" (or your target country code) — Steam reads the requesting IP to pick a region when cc= is overridden.

Legality

Scraping publicly available data is generally legal in the United States (hiQ Labs v. LinkedIn). This actor only accesses public Steam Store pages and does not require authentication. Always review and comply with the target website's Terms of Service before scraping.

Limitations

  • Returns up to 50 games per page, up to 20 pages = 1,000 games per keyword.
  • Does not scrape individual game detail pages, DLC details, or user-review text.
  • Age-restricted content is included by default (the mature-content cookie is set automatically).
  • Does not support filtering by tags, genres, or price ranges through the input — use keyword search.

Support

Open an issue on the actor's Issues tab for bug reports or feature requests. Custom scraping solutions are available on request.