Steam Store Games Scraper

Extract Steam Store game metadata, localized prices, discounts, genres, platforms, release dates, images, recommendations, and review summaries.

Data fields

FieldTypeDescription
appIdintegerSteam app ID.
namestring | nullGame or app name.
appTypestring | nullSteam app type, usually game.
urlstringPublic Steam Store URL.
isFreeboolean | nullWhether the app is free to play.
pricenumber | nullCurrent localized price in major currency units.
initialPricenumber | nullOriginal price before discount.
currencystring | nullLocalized currency code.

Input preview

searchTermsSearch terms
appIdsSteam app IDs
maxItemsMaximum games
countryCountry code
languageLanguage
includeDescriptionsInclude descriptions and website

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Extract public Steam Store game data for market research, price tracking, catalog enrichment, and competitive analysis.

At a glance

  • Best for: game catalog enrichment, price tracking, market research, launch research, and competitive analysis.
  • Inputs: Steam app IDs, search terms, country, language, maximum games, and optional enrichment toggles.
  • Outputs: one Steam app per row with prices, discounts, genres, platforms, release dates, images, recommendations, and review summaries when enabled.
  • Exports: download CSV, JSON, Excel, XML, RSS, or use the Apify Dataset API.
  • Cost: $0.005 per run plus the item event for each saved game row.

What can it do?

Steam Store Games Scraper collects structured game records from the public Steam Store.

It can start from search terms such as counter strike, from known Steam app IDs such as 730, or from both in one run.

The actor returns clean dataset rows with game names, app IDs, Store URLs, prices, discounts, release dates, developers, publishers, genres, categories, platforms, Metacritic scores, recommendation counts, media links, and optional review summaries.

Who is it for?

  • Indie studios researching competing games and launch windows.
  • Game analysts tracking pricing, genres, and discount patterns.
  • Ecommerce and product-intelligence teams building catalog snapshots.
  • Price-monitoring teams watching discounts across titles.
  • Data teams enriching internal game databases with public Steam metadata.
  • Content teams building lists of games by topic, platform, or genre.

Why use this actor?

Steam has a huge catalog, but manual Store browsing is slow.

This scraper turns Steam catalog pages into repeatable structured data.

You can run small checks for a few app IDs or larger keyword searches for hundreds of games.

Common use cases

  • Monitor game prices and discount percentages.
  • Build a catalog of games matching a search phrase.
  • Compare genres, categories, developers, and publishers.
  • Track release dates and coming-soon titles.
  • Enrich a list of Steam app IDs with Store metadata.
  • Collect recommendation totals and optional review summary counts.
  • Export Steam game metadata to CSV, JSON, Excel, or your database.

Optional enrichment

Turn on optional fields only when you need them.

  • includeDescriptions adds short descriptions and official websites.
  • includeScreenshots adds screenshot URLs.
  • includeDlc adds DLC app IDs.
  • includeReviewsSummary adds public review summary counts.

Review summaries require one extra lightweight request per game, so large runs may be faster without them.

Output example

{
  "appId": 730,
  "name": "Counter-Strike 2",
  "appType": "game",
  "url": "https://store.steampowered.com/app/730/",
  "isFree": true,
  "price": 0,
  "currency": "USD",
  "discountPercent": 0,
  "releaseDate": "Aug 21, 2012",
  "developers": ["Valve"],
  "publishers": ["Valve"],
  "genres": ["Action", "Free To Play"],
  "platforms": { "windows": true, "mac": false, "linux": true },
  "recommendationsTotal": 4000000,
  "sourceSearchTerm": "counter strike",
  "scrapedAt": "2026-07-01T00:00:00.000Z"
}

How to run

  1. Open the actor on Apify.
  2. Enter one or more search terms or Steam app IDs.
  3. Set maxItems to control run size.
  4. Choose country and language.
  5. Enable optional enrichment if needed.
  6. Start the run.
  7. Download the dataset as JSON, CSV, Excel, XML, or HTML.

Tips for best results

  • Start with a small maxItems value to confirm your query.
  • Use app IDs for precise tracking.
  • Use search terms for discovery workflows.
  • Use the same country for price comparisons over time.
  • Disable screenshots for leaner exports.
  • Enable review summaries only when review counts are important.

Integrations

You can connect results to:

  • Google Sheets for price monitoring.
  • Airtable for game catalog operations.
  • BigQuery or Snowflake for analytics.
  • Zapier or Make for alerts.
  • Your backend through the Apify API.
  • Apify webhooks for scheduled catalog snapshots.

API usage with Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/steam-store-games-scraper').call({
  searchTerms: ['counter strike'],
  maxItems: 10,
  country: 'US',
  language: 'english'
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/steam-store-games-scraper').call(run_input={
    'appIds': ['730', '570', '440'],
    'maxItems': 3,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl "https://api.apify.com/v2/acts/fetch_cat~steam-store-games-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"searchTerms":["strategy"],"maxItems":10,"country":"US"}'

MCP and AI agents

Use the official Apify MCP server to call this Actor from compatible AI tools. The default server can search and run Actors; the focused URL exposes only this Actor.

MCP URL pattern:

https://mcp.apify.com?tools=fetch_cat/steam-store-games-scraper

Claude Code setup command:

claude mcp add apify https://mcp.apify.com?tools=fetch_cat/steam-store-games-scraper

Claude Desktop JSON config example:

{
  "mcpServers": {
    "apify-steam-store-games": {
      "url": "https://mcp.apify.com?tools=fetch_cat/steam-store-games-scraper"
    }
  }
}

Example prompts:

  • "Find 20 Steam games for the query survival crafting and summarize pricing."
  • "Extract metadata for Steam app IDs 730, 570, and 440."
  • "Compare discounts for Steam strategy games in the US store."

Scheduling

Run this actor daily, weekly, or monthly to monitor changing Steam prices and discounts.

Scheduled runs work well for watchlists of app IDs.

For keyword discovery, keep maxItems bounded so snapshots remain comparable over time.

Limitations

  • Steam may omit fields for some apps.
  • Mature or age-gated titles may return limited metadata.
  • Pricing depends on the selected country.
  • Recommendation and review fields are aggregate public signals, not full review text.
  • Full Steam review scraping is a separate workflow.

Troubleshooting

Why did I get fewer games than maxItems?

The search term may have fewer unique public Store results, or duplicate app IDs may have been removed.

Try a broader search term or add direct app IDs.

Why is price empty?

Some apps are free, unreleased, unavailable in the selected country, or missing price metadata.

Check isFree, comingSoon, and priceFormatted.

Why are review fields empty?

Enable includeReviewsSummary to fetch public review summary counts.

Some apps may still not have enough review data.

Legality and ethical use

This actor extracts publicly available Steam Store metadata.

Use the data responsibly, respect Steam's terms, and avoid excessive run sizes.

Do not use the actor to collect private account data.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Version notes

This first release is optimized for dependable catalog metadata and price tracking.

Future versions may add richer search filters, top seller modes, and named datasets if additional entity types are introduced.

Common questions

Questions and answers reused from the canonical actor README.

Can I scrape by app ID only?

Yes. Provide appIds and leave searchTerms empty.

Can I search multiple keywords?

Yes. Add multiple strings to searchTerms.

Can I get CSV output?

Yes. Apify datasets can be exported as CSV, JSON, Excel, XML, RSS, or HTML.

Does it use my Steam account?

No. It works with public Steam Store data only.

Can I scrape all of Steam?

Use bounded runs and scheduled snapshots. Very broad full-catalog extraction should be split into controlled batches.