Endpoint Playground
Returns the curated editorial shelves from one of Apple's per-device App Store landing pages (the same content shown by apps.apple.com's device switcher). `device` enum: `iphone`, `ipad`, `mac`, `vision`, `watch`, `tv`. `section` enum: `main` (the device's Today/Discover/Apps & Games landing page), `arcade` (the device's Apple Arcade landing page). Watch has no Arcade page — `device=watch` with `section=arcade` returns `400`.
14 Oct 2026: 29 shelves; 2 fields had a value in every checked item and 2 varied between items.
Sample value profiles: content_type: “heroCarousel” and 9 other values; title: median 27 characters; items: median 10 entries.
curl 'https://api.crawlora.net/api/v1/appstore/editorial?device=iphone§ion=main' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| device | string | Yes | iphone | Apple device catalog |
| section | string | No | main | Editorial section within the device |
| country | string | No | Two-letter storefront country code | |
| lang | string | No | Result language tag |
{
"code": 200,
"msg": "OK",
"data": {
"device": "vision",
"section": "main",
"title": "Apps & Games",
"seo_title": "Apps & Games for Vision - App Store",
"page_id": "6442720677",
"shelves": [
{
"id": "shelf_eds.20684838-fafb-4c26-b7a0-8fb0980a2e9e",
"title": "What's New",
"content_type": "smallLockup",
"items": [
{
"kind": "Lockup",
"id": 6753299273,
"bundle_id": "com.lamborghini.visionpro",
"title": "Lamborghini",
"subtitle": "Lifestyle",
"developer_name": "Automobili Lamborghini S.p.A.",
"age_rating": "4+",
"icon_url": "https://is1-ssl.mzstatic.com/image/thumb/...",
"url": "https://apps.apple.com/us/app/lamborghini/id6753299273"
}
]
},
{
"id": "shelf_eds.c355fd32-a03d-453b-a975-e07ba69ddcb7",
"title": "Browse by Category",
"content_type": "smallBrick",
"items": [
{
"kind": "Brick",
"title": "Entertainment Apps",
"url": "https://apps.apple.com/us/vision/editorial/6503709728",
"destination_id": "6503709728"
}
]
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.