Microsoft API: Search Microsoft Store apps
Searches 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.
Unofficial. Not affiliated with or endorsed by Microsoft.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Type optional
type Search all listings, apps only or games only; for example games.
games
One of
all,apps,games. Defaultall.- Query, required
query Words to search for, for example pdf editor.
minecraft
- Country optional
country Country name or two-letter code, for example Canada or CA.
Canada
Default
United States.- Max Results optional
max_results Maximum number of results, for example 20.
25
Whole number from 1 to 100. Default
20.
Input as JSON
{ "type": "games", "query": "minecraft", "country": "Canada", "max_results": 25}Output
{ "results": [ { "name": "Minecraft Dungeons II", "type": "game", "price": 0, "currency": "CAD", "publisher": "Xbox Game Studios", "store_link": "https://apps.microsoft.com/detail/9pm3j18qm4q3?gl=CA&hl=en-US" , "rating_count": 13, "average_rating": 2.7, "store_product_id": "9pm3j18qm4q3" }, { "name": "Minecraft Dungeons II Deluxe Edition", "type": "game", "price": 69.99, "currency": "CAD", "publisher": "Xbox Game Studios", "store_link": "https://apps.microsoft.com/detail/9mzv840ndmbm?gl=CA&hl=en-US" , "rating_count": 10, "average_rating": 2.3, "store_product_id": "9mzv840ndmbm" }, { "name": "Minecraft Dungeons II Deluxe Upgrade", "type": "game", "price": 29.99, "currency": "CAD", "publisher": "Xbox Game Studios", "store_link": "https://apps.microsoft.com/detail/9ngkd5t4jrg9?gl=CA&hl=en-US" , "rating_count": null, "average_rating": 0, "store_product_id": "9ngkd5t4jrg9" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"apps.microsoft.com/search_apps","input":{"type":"games","query":"minecraft","country":"Canada","max_results":25}}' # 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": "apps.microsoft.com/search_apps" , "input": { "type": "games", "query": "minecraft", "country": "Canada", "max_results": 25 }})# 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": "apps.microsoft.com/search_apps" , "input": { "type": "games", "query": "minecraft", "country": "Canada", "max_results": 25 } }), 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 apps.microsoft.com/search_apps# with {"type":"games","query":"minecraft","country":"Canada","max_results":25}"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": [ "query" ], "properties": { "type": { "enum": [ "all", "apps", "games" ], "type": "string", "default": "all", "description": "Search all listings, apps only or games only; for example games." }, "query": { "type": "string", "minLength": 1, "description": "Words to search for, for example pdf editor." }, "country": { "type": "string", "default": "United States", "description": "Country name or two-letter code, for example Canada or CA." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum number of results, for example 20." } }}Output schema
{ "type": "object", "required": [ "results" ], "properties": { "results": { "type": "array", "items": { "type": "object", "required": [ "name", "publisher", "average_rating", "rating_count", "price", "currency", "type", "store_link", "store_product_id" ], "properties": { "name": { "type": "string" }, "type": { "enum": [ "app", "game" ], "type": "string" }, "price": { "type": [ "number", "null" ] }, "currency": { "type": [ "string", "null" ] }, "publisher": { "type": [ "string", "null" ] }, "store_link": { "type": "string" }, "rating_count": { "type": [ "integer", "null" ] }, "average_rating": { "type": [ "number", "null" ] }, "store_product_id": { "type": "string" } } } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
apps.microsoft.com/search_apps- Returns
- name, publisher, average rating, rating count, price, currency, type, store link, 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 apps.microsoft.com/search_apps with the inputs above.
Ask your agent
- Find free photo editing apps in the Microsoft Store for United States, top 10 results
- Show me games on the Store matching racing simulator, limit 15, country CA
- Search Microsoft Store apps for pdf editor available in the UK, all types
- What Store listings come up for meditation app in Germany, maximum 25 results?
- Look up games with the keyword co-op puzzle in the US Store and tell me their prices and ratings
See more
All Microsoft methodsLooks up the best-matching Microsoft Store app or game by name, store link or product ID, optionally filtered by publisher and country, and returns its listing details.
apps.microsoft.com/get_appLists the ranked Microsoft Store apps or games in a top chart, optionally for one category and country. Paid listings without a published numeric price return a null price.
apps.microsoft.com/list_top_chartsFinds Android apps on Google Play by keywords, in Play search order, with each listing's developer, star rating, price and currency for the chosen country, download range and link. Results are limited to apps shown on the public search page.
play.google.com/search_appsFinds iPhone and iPad apps by keyword in a chosen country's App Store, with ratings, prices, categories and App Store links.
apps.apple.com/search_appsFinds Apple Podcasts shows by name or topic in a country, ordered by search relevance, with ratings when the show page provides them.
podcasts.apple.com/search_podcastsSearches Spotify for songs, artists, albums, playlists or podcasts by keywords and returns them in Spotify's result order. Songs and albums include a release date when Spotify gives a full date.
spotify.com/search_musicFinds 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_gameSearches the Apple Music song catalog by title and artist words, returning matching tracks in relevance order with prices and previews when available.
music.apple.com/search_songs