Apps

๐ŸŽฎ Get the Steam Game Catalog

Baseurl: https://www.steamwebapi.com/steam/api/apps?key=YOUR_API_KEY

๐Ÿ’ฌ **What this endpoint does:**
- Returns the full Steam game catalog with the metadata that matters for pricing, filtering and analytics.
- Games only. DLCs, demos, soundtracks, software, videos and hardware are never returned.
- Every value is synchronised by background workers, so the response is fast and stays available while Steam is not.

๐Ÿ› ๏ธ **Features:**
- Cursor pagination with up to 500 games per request.
- Free-text search over names, developers, publishers, genres and Steam user tags.
- Filter by genre, tag (FPS, Roguelike, Survival ...), category (Co-op, Multi-player ...), supported and fully voiced languages, platform, developer, publisher, price range and discount in any stored currency, review percentage and count, player count, release window and adult content.
- Sort by name, current players, 30-day peak, hours played, all-time peak (records), 24-hour change (trending), reviews, reviews in the last 30 days, rating, 30-day rating (hot rated), price, discount, release date or last update, ascending or descending.
- Live prices in 14 storefront currencies, review scores, Steam user tags, player counts, a 30-day daily player history and the last 48 hourly values per game.
- `/steam/api/apps/{appid}/players` returns the full player history of one game: hourly, daily and monthly values, the monthly table and the daily rank.
- `/steam/api/apps/filters` lists every genre, tag, category and language with its game count for building filter menus.

๐ŸŒ **How to use:**
- Start without a cursor, then pass the returned `nextcursor` to walk the result. A cursor is only valid for the sort and order that produced it.
- Poll with `updated_since=<the updatedat of your newest row>` for catalog changes. Player samples do not advance this timestamp; poll `/steam/api/apps/metrics` with `metrics_updated_since` separately.
- Add `appid=730` to receive one game with its full detail fields instead of a list.
- `rating` ranks by the lower bound of the Wilson score, so 950 of 1,000 positive reviews ranks above 3 of 3.
get/steam/api/apps

Request

  • Base URL: https://www.steamwebapi.com
  • URL: https://www.steamwebapi.com/steam/api/apps
  • Auth: API key in query parameter key

Query parameters

Your API key for authentication. Retrieve it from your Dashboard (top-right corner).

appidstring
Example:730

A single appid returns one game including detail fields. A comma separated list of up to 100 ids returns those games as a list.

limitinteger

Games per page, 1 to 500.

Opaque cursor from the previous response (pagination.nextcursor). Only valid with the same sort and order.

sort'appid' | 'name' | 'players' | 'peak30d' | 'hoursplayed30d' | 'peakalltime' | 'change24h' | 'reviews' | 'reviews30d' | 'rating' | 'rating30d' | 'price' | 'discount' | 'releasedate' | 'updatedat' | 'metricsupdatedat'

Sort key. rating and rating30d use the Wilson lower bound; change24h is trending by players; price and discount use the storefront of currency. Games without a value for the sort key are left out.

order'asc' | 'desc'

Sort direction. Defaults to ascending for appid, name, price and metricsupdatedat and descending for every other sort.

searchstring
Example:valve

At least two characters. Matches anywhere in the game name, or the start of a developer, publisher, genre or tag.

Steam genre, for example Action. Up to 5 comma separated values, all must match.

tagstring
Example:FPS,Tactical

Steam user tag, for example FPS or Roguelike. Up to 5 comma separated values, all must match. See /steam/api/apps/filters.

exclude_tagstring
Example:Early Access

Leave out games with any of these tags, up to 5 comma separated values.

Steam store category, for example Co-op or Full controller support. Up to 5 comma separated values, all must match.

Supported language (interface, subtitles or audio), for example German. Up to 5 comma separated values, all must match.

Language with full audio. Up to 5 comma separated values, all must match.

platform'windows' | 'mac' | 'linux'

Games released for this platform.

Exact developer name, for example Valve.

Exact publisher name.

is_free0 | 1

Only free-to-play games (1) or only paid games (0).

currency'USD' | 'EUR' | 'GBP' | 'BRL' | 'RUB' | 'JPY' | 'CNY' | 'INR' | 'UAH' | 'KZT' | 'AUD' | 'CAD' | 'PLN' | 'CHF'

Storefront for price filters, price sorts and priceupdatedat. prices always contains every storefront.

min_priceinteger

Minimum final price in minor units of currency (1999 = 19.99).

max_priceinteger
Example:2000

Maximum final price in minor units of currency. Free games are included unless is_free=0.

on_sale0 | 1

Only discounted games (1) or only games at full price (0) in the storefront of currency.

min_discountinteger

Minimum discount in percent, 0 to 100.

min_review_percentnumber
Example:90

Minimum share of positive reviews, 0 to 100. Combine with min_reviews to ignore games with a handful of reviews.

max_review_percentnumber
Example:70

Maximum share of positive reviews, 0 to 100.

min_reviewsinteger

Only games with at least this many reviews.

min_reviews30dinteger

Only games with at least this many reviews in the last 30 days.

min_playersinteger

Only games with at least this many current players.

coming_soon0 | 1

Only unreleased games (1) or only released games (0).

Only games released on or after this date (Y-m-d).

Only games released on or before this date (Y-m-d).

adult0 | 1

Games with (1) or without (0) sexual content, by Steam content descriptors.

metrics_updated_sincestring date-time

Inclusive UTC timestamp for player metric changes. Prefer /steam/api/apps/metrics for compact synchronization.

updated_sincestring
Example:2026-09-15T00:00:00Z

Only catalog changes at or after this UTC timestamp; excludes player samples and rollups. Poll /steam/api/apps/metrics separately for player metrics.

no_cache'0' | '1'

Bypass the response cache for this request.

formatstring

Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, pgsql, mongo.

pretty'0' | '1'

Pretty-print the JSON response.

Response

Request was successful and the catalog page is returned.

Changes

No recorded changes to this operation across all 1 revision of this API.