Discover/SteamDB API
live

SteamDB APIsteamdb.info

Access SteamDB data via API: trending games, most played, top rated, current sales, free promotions, and full game details including price history.

Endpoint health
verified 6d ago
get_current_sales
get_game_details
search_games
get_top_rated_games
get_free_promotions
7/7 passing latest checkself-healing
Endpoints
7
Updated
21d ago

What is the SteamDB API?

The SteamDB API exposes 7 endpoints covering trending games, current sales, free promotions, player counts, and per-game details from SteamDB.info. Use get_game_details to pull price history across currencies and third-party owner estimations for any Steam app ID, or use get_free_promotions to list active and upcoming free-to-keep titles with start and end times.

Try it

No input parameters required.

api.parse.bot/scraper/9d2dd578-17d8-42f1-9cf5-171bd44847cb/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9d2dd578-17d8-42f1-9cf5-171bd44847cb/get_free_promotions' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace steamdb-info-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: SteamDB SDK — discover trending games, check sales, and drill into details."""
from parse_apis.steamdb_api import SteamDB, GameNotFound

client = SteamDB()

# Browse currently trending games on Steam
for game in client.trendinggames.list(limit=5):
    print(game.name, game.value)

# Check the most played games right now
top_played = client.mostplayedgames.list(limit=1).first()
if top_played:
    print(top_played.name, top_played.current_players, top_played.peak_24h)

# Search for a game and get its full details
result = client.games.search(query="portal", limit=1).first()
if result:
    detail = result.details()
    print(detail.name, detail.app_id)
    for price in detail.price_history_summary[:3]:
        print(price.currency, price.current_price, price.lowest_recorded)

# List current sales — find discounted games
for sale in client.sales.list(limit=3):
    print(sale.name, sale.discount, sale.price)

# Typed error handling: search then try to drill into details
try:
    maybe = client.games.search(query="xyznonexist999", limit=1).first()
    if maybe:
        detail = maybe.details()
        print(detail.name)
except GameNotFound as exc:
    print(f"Game not found: {exc.appid}")

# Check free promotions available right now
for promo in client.promotions.list(limit=3):
    print(promo.name, promo.promotion_type, promo.status)

print("exercised: trendinggames.list / mostplayedgames.list / games.search / details / sales.list / promotions.list")
All endpoints · 7 totalmissing one? ·

Retrieve currently active and upcoming free game promotions on Steam. Active promotions include full details (image, store link, time range). Upcoming promotions include estimated dates only. Returns a flat list mixing both statuses.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "items": "array of promotion objects with name, app_id, image_url, store_link, promotion_type, start_time, end_time, status"
  },
  "sample": {
    "data": {
      "items": [
        {
          "name": "Marathon",
          "app_id": "3065800",
          "status": "active",
          "end_time": "2026-06-11T17:00:00+00:00",
          "image_url": "https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3065800/header.jpg",
          "start_time": "2026-06-02T19:00:00+00:00",
          "store_link": "https://store.steampowered.com/app/3065800/",
          "promotion_type": "Play For Free"
        },
        {
          "name": "Overcome Your Fears - Caretaker",
          "app_id": null,
          "status": "upcoming",
          "end_time": null,
          "image_url": null,
          "start_time": "Jun 2026",
          "store_link": null,
          "promotion_type": "Upcoming"
        }
      ]
    },
    "status": "success"
  }
}

About the SteamDB API

What the API Covers

The SteamDB API surfaces data from SteamDB.info across seven endpoints. Discovery endpoints — get_trending_games, get_most_played_games, and get_top_rated_games — return ranked lists with fields like current_players, peak_24h, all_time_peak, rating_percentage, and reviews_count. The get_current_sales endpoint returns active discounts with discount (e.g. -25%), price, rating, and ends date per game. All list endpoints include app_id, which you can pass downstream to get_game_details.

Game Details and Price History

get_game_details accepts a single appid parameter (e.g. 730 for Counter-Strike 2, 570 for Dota 2) and returns price_history_summary — an array of objects with currency, current_price, and lowest_recorded — plus owner_estimations from multiple third-party providers. This makes it useful for tracking historical pricing across regions or estimating install base from independent sources.

Promotions and Search

get_free_promotions returns both active and upcoming promotions, including start_time, end_time, promotion_type (e.g. Free to Keep), and a direct store_link. The search_games endpoint accepts a query string and returns matching titles with their app_id and type, useful for resolving a game name to its Steam application ID before calling get_game_details.

Reliability & maintenanceVerified

The SteamDB API is a managed, monitored endpoint for steamdb.info — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when steamdb.info changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official steamdb.info API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor free-to-keep Steam promotions and alert users before the end_time expires
  • Build a Steam sale tracker that surfaces discounts above a threshold using the discount field from get_current_sales
  • Compare current and lowest-ever prices across currencies using price_history_summary from get_game_details
  • Display a live 'most played' leaderboard using current_players and peak_24h from get_most_played_games
  • Estimate Steam game ownership across providers using the owner_estimations array in get_game_details
  • Resolve game titles to Steam app IDs programmatically using search_games before fetching full details
  • Track trending title momentum by polling get_trending_games follower counts over time
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does SteamDB have an official developer API?+
No. SteamDB.info does not publish a public developer API. Steam itself offers the Steamworks Web API (developer.valvesoftware.com/wiki/Steamworks_Web_API), but it does not include the aggregated stats, price history summaries, or owner estimations that SteamDB compiles.
What does `get_game_details` return that the other endpoints don't?+
get_game_details is the only endpoint that returns price_history_summary — lowest recorded and current prices per currency — and owner_estimations from named third-party providers. The other endpoints return current snapshot data (rankings, player counts, discount percentages) but no historical pricing or ownership figures.
Does `get_free_promotions` distinguish between games that are permanently free and time-limited promotions?+
Yes. The promotion_type field indicates the nature of each promotion (e.g. Free to Keep, Upcoming), and the status field is either active or upcoming. Active promotions include an end_time in ISO datetime format; upcoming ones include a start_time which may be a rough date string rather than a precise timestamp.
Does the API cover DLC, software, or non-game Steam apps?+
The list endpoints (trending, most played, top rated, sales) focus on games. search_games does return a type field that can surface non-game app types, and get_game_details works for any valid appid. Dedicated endpoints for DLC-only catalogs, Steam software titles, or bundles are not currently included. You can fork this API on Parse and revise it to add endpoints targeting those app categories.
Are player counts and rankings updated in real time?+
The data reflects what SteamDB.info displays at the time of the request. SteamDB itself sources player counts from Valve and updates them periodically, so there may be a short lag between Valve's live figures and what this API returns. There is no timestamp field in the list responses indicating exactly when the underlying data was last refreshed.
Page content last updated . Spec covers 7 endpoints from steamdb.info.
Related APIs in EntertainmentSee all →
store.steampowered.com API
Search Steam Store listings, fetch featured categories (specials, top sellers, new releases), and retrieve app details and user reviews by Steam AppID.
steamcharts.com API
Track player counts and trending games on Steam, search for specific titles, and view historical statistics for individual games. Monitor which games are gaining popularity and get detailed player data to stay informed about the gaming landscape.
protondb.com API
Search for game compatibility information and check how well games run on Linux and Steam Deck, including user reports, performance statistics, and official verification status. Explore detailed game data, platform analytics, and community feedback to evaluate compatibility across titles.
store.epicgames.com API
store.epicgames.com API
allkeyshop.com API
Search for games and compare CD key prices across multiple sellers to find the best deals, while tracking price history and viewing detailed store information. Get instant access to current game offers and pricing data to make informed purchasing decisions.
gg.deals API
Search for games and browse current deals across multiple stores while tracking price history to find the best discounts. Get detailed pricing information and historical price data to make informed purchasing decisions.
humblebundle.com API
Browse and search Humble Bundle's store products, view active bundles with detailed information, and check the latest Humble Choice monthly games and free offerings. Get instant access to current pricing, bundle contents, and game availability to find the best deals.
gamestop.com API
Search GameStop's catalog for games and merchandise, browse products by category, view detailed product information including reviews, and discover what's available—all with seamless access that handles Cloudflare protection automatically.