---
title: "🎮 List the games a Steam account owns, with playtime and achievement progress"
method: GET
path: "/steam/api/profile/games"
tags: ["Profile"]
---

# 🎮 List the games a Steam account owns, with playtime and achievement progress

`GET /steam/api/profile/games`

## Request

- Base URL: `https://www.steamwebapi.com`
- URL: `https://www.steamwebapi.com/steam/api/profile/games`
- Auth: API key in query parameter `key`

Baseurl: https://www.steamwebapi.com/steam/api/profile/games?id=aytac_f&key=YOUR_API_KEY

    💬 **What this endpoint does:**
    - Returns every game a Steam account owns, with all-time playtime and achievement progress per game, plus the profile-level counters shown on the Steam games page (games, played, perfect games, reviews, followed).
    - Works for public profiles whose game details are visible. Accepts a SteamID64, a vanity name or a full profile URL.

    🛠️ **What you get:**
    - `games` — one entry per owned game, ordered by playtime (desc) then name: `appid`, `name`, `playtimeminutes`, `playtimehours`, `played` and `achievements` (`unlocked`, `total`, `percentage`, `perfect`) — `achievements` is `null` for games without achievements.
    - Profile counters: `gamecount`, `playedcount`, `playtimeminutes`, `playtimehours`, `perfectgamescount`, `reviewscount`, `followedcount`.
    - `gamesvisible` — `false` when the profile renders but its game details are hidden by privacy settings (or the library is empty; Steam does not distinguish). `games` is then empty and the request still succeeds.
    - Store metadata per game (images, DLC / workshop / market flags, categories, prices) is intentionally NOT included — join it from `/steam/api/apps/{appid}`.

    🌐 **How to use:**
    - `id` can be a SteamID64 (`76561198123820859`), a vanity name (`aytac_f`) or a profile URL (`https://steamcommunity.com/id/aytac_f`).
    - Results are cached for 5 minutes per account; pass `no_cache=1` to force a fresh read.
    - Costs 1 credit per successful call in the shared Profile quota, 2 with `no_cache=1`; 404 and 503 answers are free.

## Query parameters

- `id` string, required
- `no_cache` '0' | '1'
- `format` string
- `pretty` '0' | '1'

## Response `200`

Request was successful.

- unknown

## Other responses

- `400`: Missing or invalid "id" parameter.
- `402`: Rate limit exceeded (daily or monthly), or endpoint not included in your package.
- `404`: Profile not found.
- `429`: Too many requests for this API key (20 per minute). Retry in a moment.
- `503`: Steam games page temporarily unavailable (login pool or proxy chain exhausted). Not cached, not charged; retry after a few seconds.

---

[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)
