Steam Deals & Featured Games Scraper avatar

Steam Deals & Featured Games Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Steam Deals & Featured Games Scraper

Steam Deals & Featured Games Scraper

$0.5/1K ๐Ÿ”ฅ Steam deals scraper! Discounted & featured games with price, discount % and platforms. No key. JSON, CSV, Excel or API in seconds. Track game deals & power price-comparison sites โšก

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape Steam deals, discounts and featured games straight from Steam's public storefront API โ€” no API key, no login, no cookies. Get every discounted game with its discount percentage, original price, final price, savings amount, currency, platform availability and discount expiry date, for any Steam country/region.

Perfect for game deal tracking, price comparison sites, affiliate marketing and game market research.


What this Actor does

The Actor calls Steam's own storefront endpoint (store.steampowered.com/api/featuredcategories) โ€” the exact same JSON the Steam store front page loads in your browser โ€” and turns the raw carousels into one clean, flat record per game.

You choose which categories to pull:

Category keyWhat you get
specialsCurrently discounted games (the classic Steam sale list)
top_sellersBest-selling games right now
new_releasesNewly released titles
coming_soonUpcoming, unreleased games
spotlight namesSteam's rotating promo carousels (e.g. Spotlights)

Prices come back in the currency of the country code you pass, so you can compare regional Steam pricing across the US, Germany, Brazil, Japan and more.


Features

  • No API key required โ€” pure public storefront JSON
  • Real-time discount data โ€” discount %, original price, final price, savings
  • Regional pricing โ€” set any Steam cc code (us, de, gb, br, jp, ru, โ€ฆ)
  • Platform flags โ€” Windows / macOS / Linux availability per game
  • Discount expiry โ€” Unix expiry converted to a clean ISO-8601 UTC timestamp
  • Deduplicated โ€” one record per game per category
  • Fast & cheap โ€” a full run costs roughly $0.5 per 1,000 results
  • Clean, flat output โ€” ready for Google Sheets, CSV, Excel, JSON, or your own database

Input

FieldTypeDefaultDescription
modeselectdealsWhat to scrape. deals pulls the selected featured/deal categories.
categoriesarray["specials","top_sellers","new_releases"]Steam featured-category keys to scrape.
countrystringusTwo-letter Steam country code controlling region, currency and pricing.
maxItemsinteger200Maximum number of games pushed to the dataset (max 2000).

Example input

{
"mode": "deals",
"categories": ["specials", "top_sellers", "new_releases"],
"country": "us",
"maxItems": 200
}

Want German prices in EUR? Just change the country:

{
"mode": "deals",
"categories": ["specials"],
"country": "de",
"maxItems": 100
}

Output

Every dataset item is one game:

{
"app_id": 1091500,
"name": "Cyberpunk 2077",
"category": "specials",
"discounted": true,
"discount_percent": 70,
"original_price": 59.99,
"final_price": 17.99,
"currency": "USD",
"savings_amount": 42.0,
"windows": true,
"mac": true,
"linux": false,
"discount_expires": "2026-08-10T17:00:00+00:00",
"header_image": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1091500/header.jpg",
"url": "https://store.steampowered.com/app/1091500",
"country": "us",
"source": "steam",
"scraped_at": "2026-07-28T01:51:49.964026+00:00"
}

Field reference

FieldDescription
app_idSteam application ID
nameGame title
categoryWhich featured category the game came from
discountedWhether the game is currently on sale
discount_percentDiscount as an integer percentage (e.g. 70)
original_priceFull price in major currency units
final_priceCurrent price after discount
currencyISO currency code for the selected country
savings_amountoriginal_price โˆ’ final_price
windows / mac / linuxPlatform availability booleans
discount_expiresISO-8601 UTC timestamp when the sale ends
header_imageSteam capsule/header image URL
urlDirect Steam store page link
countryThe Steam cc code used for the run
sourceAlways steam
scraped_atISO-8601 UTC scrape timestamp

All fields are nullable โ€” Steam omits prices for unreleased titles, and discount_expires only exists while a sale is running.


Use cases

  • Game deal tracking โ€” run the Actor on a schedule and alert your users the moment a wishlisted game drops below a target price.
  • Price comparison โ€” pull the same specials list across multiple country codes and surface the cheapest Steam region for each title.
  • Affiliate sites โ€” power "Today's best Steam deals" pages with fresh discount percentages, savings amounts and header images, fully automated.
  • Market research โ€” track discount depth, sale frequency and platform coverage across publishers and genres over time.

Pricing

Roughly $0.5 per 1,000 results. Runs are short and lightweight (512 MB, a single API call per run), so a typical 200-item deals run costs cents.


Scheduling

Steam rotates its front page carousels and sale lineup constantly. Use Apify's Schedules to run this Actor hourly or daily and build a historical price database โ€” combine it with the Apify API or an integration (Zapier, Make, Slack, Google Sheets) to push new deals straight to your users.



FAQ

Do I need a Steam API key? No. This Actor only uses public storefront endpoints that require no authentication.

How many deals can I get? Steam's featured endpoint returns a curated slice of each category (typically 10โ€“30 items per category). Combine several categories and multiple country codes for broader coverage.

Can I get prices in my local currency? Yes โ€” set country to your Steam region code and prices are returned in that region's currency.

Is scraping Steam legal? This Actor only reads publicly available, non-personal store data โ€” the same information any visitor sees on the Steam store page. Always review Steam's terms and use the data responsibly.


Support

Found a bug or need an extra field? Open an issue on the Actor page and it will be addressed quickly.