Microsoft Store API endpoint
Returns the store's default, query-less "Recommended for you" shelf -- the same recommendations the search box shows before a caller types anything. No query parameters beyond region/locale.
/microsoftstore/recommendedQuery parameters:
country (optional, default US) — store country/region code (ISO-2).locale (optional, default en-US) — display locale (BCP-47).No other parameters — this endpoint has no keyword or category input upstream.
Returns section_title (the shelf's own display title, e.g. "Recommended for you"), items[], and source_url. Each item is a lighter card than /microsoftstore/search's items[] — the upstream response this comes from omits price, publisher, and media-type fields: product_id, title, categories[], average_rating, icon_url, url.
| Field | Filled in, of 15 checked | Values in the sample |
|---|---|---|
| product_id | 15 | |
| title | 15 | “Grounded” and 14 other values |
| categories | 14 | median 1 entry |
| average_rating | 15 | 3.8 to 4.9, median 4.5 |
| icon_url | 15 | store-images.s-microsoft.com and 1 other host |
| url | 15 | apps.microsoft.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| country | string | No | Store country/region code (ISO-2) | ||
| locale | string | No | Display locale (BCP-47) | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/microsoftstore/recommended?country=us" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"section_title": "Recommended for you",
"items": [
{
"product_id": "9P4QK476J199",
"title": "Bermuda Adventures: Farm Games",
"categories": [
"Action & adventure",
"Role playing",
"Simulation"
],
"average_rating": 4.5,
"icon_url": "https://store-images.s-microsoft.com/image/apps.2503...",
"url": "https://apps.microsoft.com/detail/9p4qk476j199"
}
],
"source_url": "https://apps.microsoft.com/api/Products/ZeroStateSearch?gl=US&hl=en-US"
}
}Request schema
No body schema
Response schema
#/definitions/microsoftstore.recommendedResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | microsoftstore.RecommendedResponse | No | ||||
| data.items | array | No | ||||
| data.items[].average_rating | number | No | 4.5 | |||
| data.items[].categories | array | No | ["Action & adventure"] | |||
| data.items[].icon_url | string | No | ||||
| data.items[].product_id | string | No | 9p4qk476j199 | |||
| data.items[].title | string | No | Bermuda Adventures: Farm Games | |||
| data.items[].url | string | No | https://apps.microsoft.com/detail/9p4qk476j199 | |||
| data.section_title | string | No | Recommended for you | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/microsoftstore/recommended?country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"