Steam Store Scraper 🎮 avatar

Steam Store Scraper 🎮

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Steam Store Scraper 🎮

Steam Store Scraper 🎮

Unlock comprehensive data from the Steam Store with ease. This efficient actor scrapes game details, pricing, reviews, and tags at high speed. Perfect for market research, price monitoring, and analyzing gaming trends without the hassle.

Pricing

from $0.90 / 1,000 results

Rating

5.0

(3)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

4

Bookmarked

44

Total users

10

Monthly active users

5.6 hours

Issues response

4 days ago

Last modified

Security

Limited permissions

Share

What does Steam Store Scraper do?

Steam Store Scraper collects structured game data from the Steam Store. Search by keyword or paste a Steam search URL, then export titles, prices, discounts, release dates, genres, platforms, developers, publishers, media links, and system requirements. Each dataset item includes a direct Steam URL, a source label, and an ISO timestamp.

Why use Steam Store Scraper?

  • Build a game catalog - Collect Steam titles by keyword, sort order, or a custom search URL.
  • Track prices and discounts - Save current prices, original prices, discount percentages, and sale status.
  • Enrich an existing database - Add descriptions, genres, categories, media, requirements, and company names to game records you already own.
  • Follow releases - Capture release dates and filter out unreleased titles when you need a released-only dataset.
  • Localize prices - Choose the country code and language used for prices and text.
  • Run at scale - Save progress after each search page. A long job can continue from the last saved position instead of restarting at page one.

What data can you extract from Steam?

Each record covers one app. Steam omits fields it does not publish.

FieldTypeDescription
appIdStringSteam application identifier.
urlStringDirect Steam Store URL for the app.
titleStringGame or item title.
typeStringSteam item type, such as game, dlc, or demo.
descriptionStringShort store description.
detailedDescriptionStringFull store description converted to plain text.
aboutTheGameStringAbout This Game content when provided.
headerImageStringHeader image URL.
capsuleImageStringCapsule image URL.
screenshotsArrayFull-size screenshot URLs.
moviesArrayTrailer URLs when available.
releaseDateStringRelease date shown by Steam.
comingSoonBooleanWhether the item is marked as unreleased.
isFreeBooleanWhether Steam marks the item as free.
supportedLanguagesStringLanguages listed by Steam.
supportedPlatformsArrayPlatform keys: windows, mac, linux.
platformsArraySame platform list, kept for dataset views.
genresArraySteam genre labels.
categoriesArraySteam feature and category labels.
tagsArrayCommunity tags when the store page fallback is used.
developersArrayDeveloper names.
publishersArrayPublisher names.
priceStringCurrent localized price or Free.
priceCentsNumberPrice in the smallest currency unit when available.
currencyStringCurrency code such as USD.
originalPriceStringPre-discount price when a sale is active.
discountPercentStringDiscount value such as 50%.
saleBooleanWhether the item currently has a discount.
reviewSummaryStringSteam review label such as Very Positive.
recommendationsTotalNumberSteam recommendation count when available.
achievementsTotalNumberAchievement count when available.
metacriticScoreNumberMetacritic score when Steam publishes one.
metacriticUrlStringMetacritic page linked by Steam.
websiteStringOfficial website listed on the store page.
supportInfoObjectSupport URL and email when provided.
pcRequirementsObjectMinimum and recommended Windows requirements.
macRequirementsObjectMinimum and recommended macOS requirements.
linuxRequirementsObjectMinimum and recommended Linux requirements.
systemRequirementsObjectMinimum requirements grouped by platform.
isDLCBooleanWhether the item is downloadable content.
dlcArrayRelated DLC application identifiers.
packagesArrayPackage identifiers associated with the item.
packageGroupsArrayPurchase option details when available.
contentDescriptorsObjectContent descriptors supplied by Steam.
backgroundStringBackground image URL.
backgroundRawStringRaw background image URL.
searchPositionNumberPosition of the item in the search results.
sourceStringRecord source: steam-appdetails, steam-store-browse, steam-store-page, or steam-search-results.
enrichmentFailedBooleanTrue when full details were unavailable and fallback data was used.
scrapedAtStringISO timestamp for when the record was saved.

How to use Steam Store Scraper

  1. Open the Actor in Apify Console.
  2. Enter a keyword, or paste a Steam search URL.
  3. Set the result limit and page limit.
  4. Choose the sort order, language, country, and optional sale or release filters.
  5. Start the run.
  6. Download the dataset or connect it to your workflow.

A supplied search URL takes precedence over the keyword. This keeps URL-only runs from picking up the prefilled keyword.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNo-A Steam search URL. Its filters are reused and take precedence over keyword.
keywordStringNoactionSearch term such as action, RPG, or survival. Leave it empty to scan the whole store.
sortByStringNo_ASCSort order: _ASC, Released_DESC, Price_ASC, Price_DESC, Name_ASC, or Reviews_DESC.
maxResultsIntegerNo20Overall number of games to collect. On a resumed run, this is the total target, not an extra count.
maxPagesIntegerNo5Maximum search pages to scan in one run. Steam returns up to 50 games per page. A resumed run continues from the saved page.
onlyOnSaleBooleanNofalseSave only items with an active discount.
onlyReleasedBooleanNotrueExclude items marked as coming soon.
languageStringNoenglishLanguage used for localized fields.
countryCodeStringNousTwo-letter country code used for prices and availability.
proxyConfigurationObjectNoApify ProxyApify Proxy is used by default. The Actor prefers the DATACENTER group, falls back to the account default group, and uses custom proxy URLs when supplied.

Usage Examples

Basic keyword run

Collect 20 action games with the default release filter:

{
"keyword": "action",
"maxResults": 20,
"maxPages": 5
}

Large resumable job

Collect up to 50,000 games from the whole store. The search URL has no term, so discovery is not limited to one keyword. Set the Apify run timeout to 6 hours. If the job stops early, run it again with the same search. Resume is automatic.

{
"startUrl": "https://store.steampowered.com/search/?sort_by=_ASC",
"maxResults": 50000,
"maxPages": 1200,
"onlyReleased": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Discounted RPG catalog

Return released RPGs with an active discount and scan more pages:

{
"keyword": "RPG",
"sortBy": "Price_ASC",
"maxResults": 500,
"maxPages": 20,
"onlyOnSale": true,
"onlyReleased": true
}

Custom search URL with localization

Reuse a Steam search URL and collect prices for the United Kingdom:

{
"startUrl": "https://store.steampowered.com/search/?sort_by=Reviews_DESC&term=survival",
"maxResults": 100,
"maxPages": 10,
"language": "english",
"countryCode": "gb"
}

Sample Output

Prices, counts, and available fields vary by title, country, and collection time.

{
"appId": "413150",
"url": "https://store.steampowered.com/app/413150/Stardew_Valley/",
"title": "Stardew Valley",
"type": "game",
"description": "You've inherited your grandfather's old farm plot in Stardew Valley. Armed with hand-me-down tools and a few coins, you set out to begin your new life.",
"releaseDate": "Feb 26, 2016",
"comingSoon": false,
"isFree": false,
"supportedLanguages": "English, German, Spanish - Spain, Japanese, Portuguese - Brazil, Russian, Simplified Chinese, French, Italian, Hungarian, Korean, Turkish",
"supportedPlatforms": ["windows", "mac", "linux"],
"platforms": ["windows", "mac", "linux"],
"genres": ["Indie", "RPG", "Simulation"],
"categories": ["Single-player", "Multi-player", "Co-op", "Online Co-op"],
"developers": ["ConcernedApe"],
"publishers": ["ConcernedApe"],
"price": "$14.99",
"priceCents": 1499,
"currency": "USD",
"sale": false,
"reviewSummary": "Overwhelmingly Positive",
"recommendationsTotal": 903228,
"achievementsTotal": 49,
"metacriticScore": 89,
"website": "http://www.stardewvalley.net",
"screenshots": [
"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/413150/ss_b887651a93b0525739049eb4194f633de2df75be.1920x1080.jpg"
],
"pcRequirements": {
"minimum": "Minimum: OS *: Windows Vista or greater Processor: 2 Ghz Memory: 2 GB RAM Graphics: 256 mb video memory, shader model 3.0+ DirectX: Version 10 Storage: 500 MB available space"
},
"searchPosition": 1,
"source": "steam-appdetails",
"enrichmentFailed": false,
"scrapedAt": "2026-11-03T06:02:30.461Z"
}

Large runs and resume behavior

Steam limits how many requests one IP can make in a five-minute window. The Actor tracks a separate request budget per proxy session, rotates its request profile when Steam applies a block, and slows down before it hits a wall. A 5,000 game run took 4m 24s with 6 proxy sessions; without a proxy it is slower.

The Actor saves its position after each search page. If a run stops because of the Apify timeout or a sustained Steam block, the next run with the same search continues from the saved position. The summary reports two numbers: games saved by the current run, and overall progress toward maxResults.

The Actor always uses fast batched data. It fetches core records in batches of 50 app IDs, avoiding one request per game. In a 20-game comparison it returned 33 fields, compared with 51 from per-game detail records. It keeps names, descriptions, developers, publishers, release dates, platforms, prices, discounts, reviews, tags, images, screenshots, and trailers. It omits achievements, categories, content descriptors, currency, DLC lists, genres, macOS and Linux requirements, Metacritic, packages, recommendations, required age, support details, supported languages, system requirements, and website.

Each Apify run writes its own dataset. When a job spans several runs, export or merge those datasets if you need one combined file.

Tips for Best Results

  • Start with maxResults: 20 and a low maxPages value to check the result shape.
  • Use a focused keyword or search URL for a narrow catalog.
  • Keep language and country consistent so prices stay comparable.
  • Raise maxPages when a keyword returns more results than the first page.
  • For a 50,000 game released-only job, use at least 1,200 search pages. Filters and delisted titles reduce the number of saved records below the raw page count of 50 per page.
  • Expect missing fields on delisted or region-locked titles.
  • Check source and enrichmentFailed to judge record completeness.

Integrations and Export Formats

  • Google Sheets - Review prices, release dates, and classifications in a shared spreadsheet.
  • Airtable - Build a searchable game catalog with filters and linked records.
  • Make or Zapier - Start downstream workflows when a run completes.
  • Webhooks - Send dataset and run events to your own services.
  • Apify API - Start runs and retrieve dataset items programmatically. Datasets can be exported as JSON, CSV, Excel, XML, and other supported formats.

Frequently Asked Questions

Is there a fixed five-minute timeout?

No. The Actor uses the run timeout set in Apify. It stops shortly before that timeout so it can save progress and finish cleanly.

Can the Actor process 50,000 games in one run?

Yes, with a long run timeout. A 6-hour run with the built-in 6 proxy sessions is a realistic 50,000 game setup. If it does not finish, rerun and resume continues.

Does the Actor resume from the last search page?

Yes. Progress is saved after each page and after each saved batch. A new run with the same search, sort, language, country, and filters continues from that point.

Why did I get fewer records than maxResults?

The usual causes are a low maxPages, sale or release filters, fewer Steam results, or the run timeout. Check the run summary for the stop reason and filter counts.

Can I scan the whole Steam store instead of one keyword?

Yes. Leave keyword empty, or supply a Steam search URL without a term in startUrl, for example https://store.steampowered.com/search/?sort_by=_ASC. A supplied URL takes precedence over the keyword.

Can I use my own Steam search URL?

Yes. Put a public Steam search URL in startUrl. The Actor keeps its filters and controls pagination from the input fields. startUrl wins when both a URL and a keyword are present.

Can I collect only discounted or released games?

Set onlyOnSale to true for discounts. Keep onlyReleased set to true to exclude unreleased titles.

Are prices localized?

Yes. Set countryCode for the market and language for localized text. Steam decides which fields and currencies are available for that market.

Why are some fields missing?

Steam does not publish every field for every app. Missing descriptions, scores, media, requirements, or package details are omitted when the source does not provide them.

Support

For issues, missing fields, or feature requests, use the Issues tab on the Actor page. Include the input used, the affected Steam URL, and the run ID when possible.

This Actor is intended for legitimate collection and analysis of publicly available Steam Store information. You are responsible for complying with Steam's terms, applicable laws, privacy requirements, and any rules that apply to your use of the data.