Xbox API: List game deals
Lists Xbox games currently on sale in a country, biggest discount first, with original and sale prices, sale end dates and Game Pass inclusion; console covers Xbox One and Xbox Series X|S. Reads the store's whole deals list and ranks it by discount.
Unofficial. Not affiliated with or endorsed by Xbox.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Country optional
country Country name or two-letter country code, for example United States or US.
Germany
Default
United States.- Platform optional
platform Which games to list, for example console.
console
One of
all,console,pc. Defaultall.- Max Results optional
max_results Most games to return, for example 50.
55
Whole number from 1 to 200. Default
50.
Input as JSON
{ "country": "Germany", "platform": "console", "max_results": 55}Output
{ "deals": [ { "title": "Danger Scavenger", "currency": "EUR", "xbox_link": "https://www.xbox.com/de-DE/games/store/danger-scavenger/9mw0s9fbhlcp" , "sale_price": 0.99, "sale_end_date": "2026-09-29", "original_price": 9.99, "discount_percent": 90, "store_product_id": "9MW0S9FBHLCP", "included_in_game_pass": false }, { "title": "Sherlock Purr 2", "currency": "EUR", "xbox_link": "https://www.xbox.com/de-DE/games/store/sherlock-purr-2/9mv95w31mqkn" , "sale_price": 0.99, "sale_end_date": "2026-09-29", "original_price": 9.99, "discount_percent": 90, "store_product_id": "9MV95W31MQKN", "included_in_game_pass": false }, { "title": "Four Sided Fantasy", "currency": "EUR", "xbox_link": "https://www.xbox.com/de-DE/games/store/four-sided-fantasy/brnjb8kflqwl" , "sale_price": 0.99, "sale_end_date": "2026-10-01", "original_price": 9.99, "discount_percent": 90, "store_product_id": "BRNJB8KFLQWL", "included_in_game_pass": false } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"xbox.com/list_deals","input":{"country":"Germany","platform":"console","max_results":55}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "xbox.com/list_deals" , "input": { "country": "Germany", "platform": "console", "max_results": 55 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "xbox.com/list_deals" , "input": { "country": "Germany", "platform": "console", "max_results": 55 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run xbox.com/list_deals# with {"country":"Germany","platform":"console","max_results":55}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [], "properties": { "country": { "type": "string", "default": "United States", "description": "Country name or two-letter country code, for example United States or US." }, "platform": { "enum": [ "all", "console", "pc" ], "type": "string", "default": "all", "description": "Which games to list, for example console." }, "max_results": { "type": "integer", "default": 50, "maximum": 200, "minimum": 1, "description": "Most games to return, for example 50." } }}Output schema
{ "type": "object", "required": [ "deals" ], "properties": { "deals": { "type": "array", "items": { "type": "object", "required": [ "title", "original_price", "sale_price", "currency", "discount_percent", "sale_end_date", "included_in_game_pass", "xbox_link", "store_product_id" ], "properties": { "title": { "type": "string" }, "currency": { "type": "string" }, "xbox_link": { "type": "string" }, "sale_price": { "type": "number" }, "sale_end_date": { "type": [ "string", "null" ], "format": "date" }, "original_price": { "type": "number" }, "discount_percent": { "type": "integer" }, "store_product_id": { "type": "string" }, "included_in_game_pass": { "type": "boolean" } }, "additionalProperties": false }, "description": "Games currently on sale, biggest discount first." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
xbox.com/list_deals- Returns
- title, original price, sale price, currency, discount percent, sale end date, Game Pass inclusion, Xbox link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method xbox.com/list_deals with the inputs above.
Ask your agent
- What are the biggest Xbox game discounts in the UK right now? Show me the top 20 with sale end dates.
- Find PC games on sale on xbox.com in Germany, sorted by highest discount percentage, including whether they're on Game Pass.
- Which console games for Series X and Xbox One are currently discounted in Canada? I'd like original and sale prices for up to 100 titles.
- Pull the current Xbox store sales for Australia (AU) — top 10 deepest discounts and when each sale ends.
- List up to 200 Xbox games on sale in the US across console and PC, biggest markdowns first, with links to each game's page.
See more
All Xbox methodsFinds an Xbox or PC game by name or by xbox.com store link. Returns its store details, prices and Game Pass availability for a country.
xbox.com/get_gameLists Xbox Game Pass games for console or PC (all, recently added, leaving soon or coming soon) in Xbox's catalog order, with genres, publisher, cover image and store link. Game Pass addition, arrival and departure dates are not published in these lists, so they are null.
xbox.com/list_game_pass_gamesLists PlayStation Store games and game editions currently on sale in a country, with prices and sale end dates. Add-ons and subscription-only offers are excluded.
store.playstation.com/list_dealsLists discounted Nintendo Switch and Switch 2 games, sorted by biggest discount, lowest price or ending soonest. Covers the US, Canada and Latin American stores and excludes downloadable add-ons.
nintendo.com/list_dealsLists current public Today's Deals in page order for an Amazon store country, optionally for one deal category and a minimum discount, with deal and original prices, discount, deal type, time left, share claimed, rating and links.
amazon.com/list_dealsLists Steam's top-selling, discounted, or new and trending games in store order, with prices for a chosen country, review summaries and release dates.
store.steampowered.com/list_top_sellersLists current and upcoming free games on the Epic Games Store for a country, with giveaway dates, usual price, publisher, cover image and store link.
store.epicgames.com/list_free_gamesSearches Microsoft Store apps and games by keywords in a chosen country and returns them in Store order. Subscription-included items can show a price of 0.
apps.microsoft.com/search_apps