Microsoft Store API endpoint
Returns every accepted category for a department, and -- apps only -- each category's own finer subcategories (e.g. Books & reference -> E-reader, Fiction, Nonfiction, Reference). This is the discovery endpoint for the category/subcategory values accepted by /microsoftstore/search, /microsoftstore/category, and /microsoftstore/charts. Subcategories are apps-only: games categories have none.
/microsoftstore/categoriesReturns the full category taxonomy for a department — the discovery endpoint for the category/subcategory values accepted by /microsoftstore/search, /microsoftstore/category, and /microsoftstore/charts. Unlike those endpoints, this is a static table rather than a live lookup.
Query parameters:
media_type (optional, default apps) — department to list categories for. One of apps, games, devices, passes, fonts, themes, tencent-android, tencent-mini. all is not accepted (it has no category list).Returns media_type and categories[], each {category, subcategories[]}. subcategories is apps-only — every games (and devices/passes/fonts/themes/tencent-*) category has an empty/omitted subcategories, since the store's own category-filter discovery API returns no finer breakdown for any non-apps department. Within apps, most categories also have no subcategories (e.g. Entertainment, Photo & video, Productivity); only about a third do.
subcategory values are informational as well as functional: they are confirmed to genuinely narrow /microsoftstore/charts' results when passed as that endpoint's subcategory parameter (verified live across three different categories, not just present in the discovery metadata), but /microsoftstore/search and /microsoftstore/category do not support subcategory filtering — the parameter has no effect there.
Example response (media_type=apps, truncated):
{"code":200,"msg":"OK","data":{"media_type":"apps","categories":[{"category":"Books & reference","subcategories":["E-reader","Fiction","Nonfiction","Reference"]},{"category":"Business","subcategories":["Accounting & finance","Collaboration","CRM","Data & analytics","File management","Inventory & logistics","Legal & HR","Project management","Remote desktop","Sales & marketing","Time & expenses"]},{"category":"Entertainment"},{"category":"Photo & video"}]}}
| Field | Filled in, of 25 checked | Values in the sample |
|---|---|---|
| category | 25 | “Books & reference” and 24 other values |
| subcategories | 13 | median 4 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| media_type | string | No | Department to list categories for Allowed values: apps, games, devices, passes, fonts, themes, tencent-android, tencent-mini. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/microsoftstore/categories?media_type=apps" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"media_type": "apps",
"categories": [
{
"category": "Books & reference",
"subcategories": [
"E-reader",
"Fiction",
"Nonfiction",
"Reference"
]
},
{
"category": "Business",
"subcategories": [
"Accounting & finance",
"Collaboration",
"CRM",
"Data & analytics",
"File management",
"Inventory & logistics",
"Legal & HR",
"Project management",
"Remote desktop",
"Sales & marketing",
"Time & expenses"
]
},
{
"category": "Entertainment"
},
{
"category": "Photo & video"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/microsoftstore.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | microsoftstore.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].category | string | No | Books & reference | |||
| data.categories[].subcategories | array | No | ["E-reader","Fiction","Nonfiction","Reference"] | |||
| data.media_type | string | No | apps | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/categories?media_type=apps" \
-H "x-api-key: $CRAWLORA_API_KEY"