---
title: "🎮 Get the Steam Game Catalog"
method: GET
path: "/steam/api/apps"
tags: ["Apps"]
---

# 🎮 Get the Steam Game Catalog

`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`

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.

## Query parameters

- `appid` string
- `limit` integer
- `sort` 'appid' | 'name' | 'players' | 'peak30d' | 'hoursplayed30d' | 'peakalltime' | 'change24h' | 'reviews' | 'reviews30d' | 'rating' | 'rating30d' | 'price' | 'discount' | 'releasedate' | 'updatedat' | 'metricsupdatedat'
- `order` 'asc' | 'desc'
- `search` string
- `tag` string
- `exclude_tag` string
- `platform` 'windows' | 'mac' | 'linux'
- `is_free` 0 | 1
- `currency` 'USD' | 'EUR' | 'GBP' | 'BRL' | 'RUB' | 'JPY' | 'CNY' | 'INR' | 'UAH' | 'KZT' | 'AUD' | 'CAD' | 'PLN' | 'CHF'
- `min_price` integer
- `max_price` integer
- `on_sale` 0 | 1
- `min_discount` integer
- `min_review_percent` number
- `max_review_percent` number
- `min_reviews` integer
- `min_reviews30d` integer
- `min_players` integer
- `coming_soon` 0 | 1
- `adult` 0 | 1
- `metrics_updated_since` string, date-time
- `updated_since` string
- `no_cache` '0' | '1'
- `format` string
- `pretty` '0' | '1'

## Response `200`

Request was successful and the catalog page is returned.

## Other responses

- `400`: A query parameter could not be used as given.
- `404`: The requested appid is not a game in the catalog.
- `429`: Rate limit exceeded. Too many requests in a short time frame.

---

[API](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation.md) · [All operations](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation/revisions/f9a4109cbda6?raw)
