fairly

The same data the site uses. Free.

Real checkout prices across 13 stores, 4 subscription catalogs and price history for the top 1,000 Steam games. REST and MCP, one key, 1,000 requests a day, CC BY 4.0. Build a Discord bot, a price-tracking agent, or a competitor; all fine.

  • 1,000 req / day
  • 60 req / min
  • 15 min price cache
  • CC BY 4.0 license
Get an API keyInstant, no approval. The key is shown once on this page. We only use the email to contact you about the API.

REST

curl "https://api.fairly.gg/v1/games/1245620?region=us&currency=USD" \
  -H "X-Api-Key: fk_…"

{
  "data": {
    "game": { "title": "Elden Ring", "steam_app_id": 1245620, "slug": "elden-ring-1245620" },
    "offers": [{
      "store_name": "Fanatical", "store_kind": "authorized",
      "real_price": { "amount": 29.99, "currency": "USD" },
      "list_price": { "amount": 34.99, "currency": "USD" },
      "url": "https://fairly.gg/go/48213?src=api"
    }],
    "cheapest_way": { "winner": { … }, "sentence": "…" },
    "subscriptions": [ … ],
    "lows": { … }
  },
  "region": "us", "currency": "USD",
  "fetched_at": "2026-10-08T15:48:02Z", "data_age_seconds": 712
}

MCP

claude mcp add --transport http fairly https://mcp.fairly.gg --header "X-Api-Key: fk_…"
// claude_desktop_config.json / any MCP client
{
  "mcpServers": {
    "fairly": {
      "url": "https://mcp.fairly.gg",
      "headers": { "X-Api-Key": "fk_…" }
    }
  }
}

// tools exposed
search_games(query)
get_cheapest_way_to_play(game_id, region, currency)
get_offers(game_id, region, currency)
is_on_subscription(game_id, region)
list_deals(kind, region, currency, limit)

Endpoints

Public API endpoints
MethodPath
GET/v1/games?q=Title search, top 20cache 5 min
GET/v1/games/{id}Offers, real prices, subscriptions, cheapest way, historical lowcache 15 min
GET/v1/games/{id}/history?days=90Daily minimum across authorized storescache 1 h
GET/v1/discover/under/{3|5|10}Super cheap list, sorted by hours per dollarcache 15 min
GET/v1/discover/historical-lowsGames at their all-time low todaycache 15 min
GET/v1/discover/leaving/{game-pass|ps-plus}Leaving a catalog within 30 dayscache 1 h
GET/v1/subscriptions/{code}/catalogFull catalog by regioncache 1 h
GET/v1/storesStores and their kindscache 1 day
GET/v1/meta/statusLast successful fetch per sourcecache 1 min

Full OpenAPI 3.1 at api.fairly.gg/openapi.json · interactive docs at api.fairly.gg/docs · every response carries fetched_at and data_age_seconds.

License and attribution

API output is licensed CC BY 4.0: use it freely, with a link back to fairly.gg. The url fields are Fairly /go/ links; some carry an affiliate tag, and the price you see never changes. Append ?raw=1 for the plain store link. Ranking is by price, never by commission. Abuse gets a key revoked; keys are limited to 3 per IP per day.