---
title: "Steam Community Market snapshot (Basic)"
method: GET
path: "/v1/steam"
tags: ["Steam"]
---

# Steam Community Market snapshot (Basic)

`GET /v1/steam`

## Request

- Base URL: `https://api.cspriceapi.com`
- URL: `https://api.cspriceapi.com/v1/steam`
- Auth: API key in header `x-api-key`

Returns Steam Community Market rows in the standard CS Price API envelope
(`data`, `meta`, `source`, `requestor`, `plan`, `timestamp`).

Each row includes `best_ask` / `best_bid`, listing counts, computed
`spread` / `spread_pct`, `orderbook` levels, and internal `liquidity`. Prices are decimal **strings**
(USD for CS2).

Omit `market_hash_name` for the full catalog (~27k skins). Pass one or
more comma-separated names to filter (max 100). Prefer gzip for full
snapshots.

## Query parameters

- `market_hash_name` string
- `bucket` 1 | 2 | 3

## Response `200`

Steam Community Market rows (`data` array) with `meta` summary.

- SteamMarketResponse: Envelope fields returned by every `GET /v1/prices/*` response.
  - `source` 'Steam Community Market', required: Human-readable marketplace identifier.
  - `requestor` string, email: Email address associated with the API key making the call.
  - `plan` string: Plan of the API key (e.g. `free`, `pro`, `enterprise`).
  - `timestamp` string, date-time, required: ISO-8601 UTC timestamp (millisecond precision).
  - `data` SteamMarketItem[], required
    - `market_hash_name` string, required
    - `stattrak` 0 | 1, nullable: Boolean stored as `tinyint(1)`; `0` = false, `1` = true.
    - `souvenir` 0 | 1, nullable: Boolean stored as `tinyint(1)`; `0` = false, `1` = true.
    - `exterior` string, nullable: Exterior (wear) of the skin. Typical values: `Factory New`, `Minimal Wear`, `Field-Tested`, `Well-Worn`, `Battle-Scarred`. Casing may vary between sources (e.g. Buff163 uses `"Factory new"`).
    - `item_page_url` string, uri, nullable
    - `item_nameid` integer, nullable
    - `currency` string, required
    - `liquidity` string: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
    - `best_ask` string: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
    - `ask_listings` integer, nullable: Listing count at the best ask (Steam histogram `sell_order_count`).
    - `best_bid` string: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
    - `bid_orders` integer, nullable: Highest-bid order count from histogram.
    - `spread` string: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
    - `spread_pct` string: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
    - `bucket` 1 | 2 | 3, nullable: Collector refresh tier.
    - `collected_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable, required
    - `orderbook` SteamOrderbook: Normalized bid/ask ladder from Steam order histogram.
      - `ask_levels` integer
      - `bid_levels` integer
      - `asks` SteamOrderbookLevel[]
        - `price` string, required: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
        - `quantity` integer, required
      - `bids` SteamOrderbookLevel[]
        - `price` string, required: Fixed-point decimal value serialized as a string (preserves precision across languages). Parse with an arbitrary-precision decimal library; do **not** parse as a native float.
        - `quantity` integer, required
  - `meta` SteamMarketMeta, required
    - `count` integer
    - `currency` string
    - `filtered` string[]: Present when `market_hash_name` filter was applied.
    - `bucket` 1 | 2 | 3: Present when `bucket` query filter was applied.

## Other responses

- `400`: Invalid query parameters
- `401`: Missing or invalid API key
- `403`: API key not allowed for this endpoint
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/cspriceapi/apis/cs-price-api.md) · [All operations](https://skmtc.dev/cspriceapi/apis/cs-price-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cspriceapi/apis/cs-price-api/revisions/4a18a7641dad?raw)
