---
title: "Cross-store price with observed history ($0.01 per lookup)"
method: GET
path: "/v1/game"
---

# Cross-store price with observed history ($0.01 per lookup)

`GET /v1/game`

## Request

- Base URL: `https://soren.com`
- URL: `https://soren.com/v1/game`
- Auth: none declared

Current price across Steam, GOG, Epic and Microsoft for one game, with the lowest price we have OBSERVED and the window we observed it in. Never called an all-time low: a low computed from three weeks and one computed from fourteen years are different claims, so observed_since and observations always travel with it. No buy/wait verdict is given — the numbers are sourced, the judgement is the caller's. Resolve by slug, Steam appid, GOG id, Epic id, or a free-text name. Freshness is uneven and stated per row: checked_at and changed_at are separate fields on every price. The demand head refreshes every 4 hours, Epic and GOG catalogues daily, and the 173,290-product Steam tail rotates over a few days. No single freshness figure is claimed because none would be true of all of them.

## Query parameters

- `game` string
- `steam` string
- `gog` string
- `epic` string
- `q` string
- `region` string
- `family` 'full' | 'none'
- `include` 'mods'

## Response `200`

Price answer. ILLUSTRATIVE EXAMPLE.

## Other responses

- `402`: Payment required. x402 challenge in the body.
- `404`: No game matches that identifier. found:false — a real answer, not an error.

---

[API](https://skmtc.dev/soren/apis/soren-free-games-api.md) · [All operations](https://skmtc.dev/soren/apis/soren-free-games-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soren/apis/soren-free-games-api/revisions/00402cfcf30d?raw)
