AppStore API endpoint
Returns the room and EDS collection links embedded in Apple's browse page for one device. `platform` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. Pass a returned `id` and the same platform to `appstore_collection` to retrieve the collection's apps.
/appstore/collectionsMCP tool: appstore_collections
Discovers App Store room and EDS collection links embedded in Apple's browse
page for one device platform. Apple currently uses numeric room IDs and
eds.UUID IDs. Pass the returned id and the same platform to
/api/v1/appstore/collection to retrieve a collection's app list.
Query parameters:
platform: required. Apple device catalog. Allowed values: iphone,
ipad, mac, vision, watch, tv.country: optional. Two-letter storefront country code. Defaults to us.lang: optional. Result language tag, such as en-US.Example response (platform=iphone):
{
"code": 200,
"msg": "OK",
"data": [
{
"id": "6757461219",
"kind": "room",
"platform": "iphone",
"title": "Apps in Heavy Rotation",
"url": "https://apps.apple.com/us/iphone/room/6757461219"
}
]
}
| Field | Filled in, of 15 checked | Values in the sample |
|---|---|---|
| id | 15 | |
| kind | 15 | room in all 15 |
| platform | 15 | iphone in all 15 |
| title | 15 | “Apps in Heavy Rotation” and 14 other values |
| url | 15 | apps.apple.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| platform | string | Yes | Apple device catalog Allowed values: iphone, ipad, mac, vision, watch, tv. | iphone | |
| country | string | No | Two-letter storefront country code | us | |
| lang | string | No | Result language tag | en-us | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/appstore/collections?platform=iphone&country=us&lang=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": [
{
"id": "6757461219",
"kind": "room",
"platform": "iphone",
"title": "Apps in Heavy Rotation",
"url": "https://apps.apple.com/us/iphone/room/6757461219"
}
]
}Request schema
No body schema
Response schema
#/definitions/appstore.collectionsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | array | No | ||||
| data[].id | string | No | ||||
| data[].kind | string | No | room | eds | |||
| data[].platform | string | No | ||||
| data[].title | string | No | ||||
| data[].url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 404 | Page not found | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/appstore/collections?platform=iphone&country=us&lang=en" \
-H "x-api-key: $CRAWLORA_API_KEY"