Xbox API: List Xbox Game Pass games
Lists 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.
Unofficial. Not affiliated with or endorsed by Xbox.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- List optional
list Which Game Pass list to see, for example recently_added.
all
One of
all,recently_added,leaving_soon,coming_soon. Defaultrecently_added.- Platform optional
platform Where to play, for example console.
console
One of
console,pc. Defaultconsole.- Max Results optional
max_results Maximum number of games to return, for example 50.
500
Whole number from 1 to 500. Default
50.
Input as JSON
{ "list": "all", "platform": "console", "max_results": 500}Output
{ "games": [ { "name": "Mad King Redemption", "genres": [ "Action & adventure", "Fighting" ], "xbox_url": "https://www.xbox.com/en-US/games/store/mad-king-redemption/9N944N1WP67T" , "publisher": "Secret Mission Games", "date_added": null, "leaving_date": null, "arriving_date": null, "cover_image_url": "https://store-images.s-microsoft.com/image/apps.56038.13544556109351948.9c4c33b4-f6ce-4d2c-ac5f-3aa565d08d7d.42b5ee39-b724-4340-b34e-39af9df10075" , "store_product_id": "9N944N1WP67T" }, { "name": "Well Dweller", "genres": [ "Action & adventure", "Platformer", "Role playing" ], "xbox_url": "https://www.xbox.com/en-US/games/store/well-dweller/9PLH7R84GJWP" , "publisher": "Top Hat Studios, Inc.", "date_added": null, "leaving_date": null, "arriving_date": null, "cover_image_url": "https://store-images.s-microsoft.com/image/apps.40917.14313416011451880.0dc13654-082f-4832-844b-343ef39821bf.85739feb-1ce4-4fed-bc5a-cc6e3f5fb96a" , "store_product_id": "9PLH7R84GJWP" }, { "name": "Dune: Awakening", "genres": [ "Action & adventure", "Role playing", "Shooter" ], "xbox_url": "https://www.xbox.com/en-US/games/store/dune-awakening/9PJ6FV3130QZ" , "publisher": "Funcom", "date_added": null, "leaving_date": null, "arriving_date": null, "cover_image_url": "https://store-images.s-microsoft.com/image/apps.58998.14221973547534254.c9400a22-a0eb-4428-bc72-11e2270ad849.fcbce16e-22b4-4a1a-ae75-75fa207548b5" , "store_product_id": "9PJ6FV3130QZ" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"xbox.com/list_game_pass_games","input":{"list":"all","platform":"console","max_results":500}}' # 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_game_pass_games" , "input": { "list": "all", "platform": "console", "max_results": 500 }})# 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_game_pass_games" , "input": { "list": "all", "platform": "console", "max_results": 500 } }), 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_game_pass_games# with {"list":"all","platform":"console","max_results":500}"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": { "list": { "enum": [ "all", "recently_added", "leaving_soon", "coming_soon" ], "type": "string", "default": "recently_added", "description": "Which Game Pass list to see, for example recently_added." }, "platform": { "enum": [ "console", "pc" ], "type": "string", "default": "console", "description": "Where to play, for example console." }, "max_results": { "type": "integer", "default": 50, "maximum": 500, "minimum": 1, "description": "Maximum number of games to return, for example 50." } }}Output schema
{ "type": "object", "required": [ "games" ], "properties": { "games": { "type": "array", "items": { "type": "object", "required": [ "name", "date_added", "leaving_date", "arriving_date", "genres", "publisher", "cover_image_url", "xbox_url", "store_product_id" ], "properties": { "name": { "type": "string", "description": "Game title." }, "genres": { "type": "array", "items": { "type": "string" }, "description": "Genres listed for this game." }, "xbox_url": { "type": "string", "description": "Xbox store page link." }, "publisher": { "type": [ "string", "null" ], "description": "Publisher name, if listed." }, "date_added": { "type": [ "string", "null" ], "format": "date", "description": "Game Pass addition date when explicitly published; otherwise null." }, "leaving_date": { "type": [ "string", "null" ], "format": "date", "description": "Game Pass departure date when explicitly published; otherwise null." }, "arriving_date": { "type": [ "string", "null" ], "format": "date", "description": "Game Pass arrival date when explicitly published; otherwise null." }, "cover_image_url": { "type": [ "string", "null" ], "description": "Game cover image link, if listed." }, "store_product_id": { "type": "string", "description": "Xbox store product ID." } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
xbox.com/list_game_pass_games- Returns
- name, genres, publisher, cover image URL, Xbox store URL, store product ID
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_game_pass_games with the inputs above.
Ask your agent
- Which games are leaving Game Pass on console soon? I want to finish anything I've started before it goes.
- Show me the 20 most recently added PC Game Pass titles with their publishers and genres
- What's coming soon to Xbox Game Pass for PC?
- Pull the full Xbox Game Pass console catalog, up to 300 games, with store links and cover art
- Give me the top 10 newest additions to Game Pass on my Series X along with store links
See more
All Xbox methodsLists 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.
xbox.com/list_dealsFinds 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 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 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 Fandango movies now playing or coming soon in U.S. theaters, in Fandango's order, with release dates, age ratings, runtimes and Rotten Tomatoes scores when shown.
fandango.com/list_now_playingLists 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_appsLooks up a PlayStation Store game by name or product link in a country. Prefers the standard full game; prices and offers vary by country. Game trials are not counted as PlayStation Plus inclusion.
store.playstation.com/get_game