AppStore API endpoint
Lists the App Store apps published by one developer, by Apple developer (artist) id, for an optional storefront country and language. Each app carries its id, title, description, icon and screenshots, price and currency, genres, version and release notes, rating score and counts, size, supported devices and languages.
/appstore/developer/{dev_id}MCP tool: appstore_developer
Returns the developer profile and app listing for an Apple App Store publisher.
| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| id | 2 | |
| app_id | 2 | |
| title | 2 | “ChatGPT” and 1 other value |
| url | 2 | apps.apple.com |
| description | 2 | median 1,232 characters |
| icon | 2 | is1-ssl.mzstatic.com |
| genres | 2 | median 2 entries |
| genre_ids | 2 | |
| primary_genre | 2 | “Productivity” |
| primary_genre_id | 2 | |
| content_rating | 2 | “12+” |
| languages | 2 | median 60 entries |
| size | 2 | 271,727,616 to 315,488,256, median 271,727,616 |
| required_os_version | 2 | |
| released | 2 | 2023-05-18 to 2026-05-04 |
| updated | 2 | 2026-10-01 to 2026-10-06 |
| release_notes | 2 | “Bug fixes and small improvements.” |
| version | 2 | |
| price | 2 | 0 |
| currency | 2 | “USD” |
| free | 2 | true in 2 of 2 |
| developer_id | 2 | |
| developer | 2 | “OpenAI OpCo, LLC” |
| developer_url | 2 | apps.apple.com |
| developer_website | 2 | openai.com |
| score | 2 | 4.41 to 4.83, median 4.41 |
| reviews | 2 | 54 to 11,243,559, median 54 |
| current_version_score | 2 | |
| current_version_reviews | 2 | |
| screenshots | 2 | median 8 entries |
| ipad_screenshots | 2 | median 8 entries |
| appletv_screenshots | 0 | |
| supported_devices | 2 | median 130 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| dev_id (path) | string | Yes | Developer artist ID | 284882218 | |
| 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/developer/284882218?country=us&lang=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "123456789",
"name": "OpenAI",
"apps": [
{
"id": "6448311069",
"title": "ChatGPT"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/appstore.developerResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | array | No | ||||
| data[].app_id | string | No | Bundle ID of the app, for example `com.openai.chat`. | |||
| data[].appletv_screenshots | array | No | URLs of the app's Apple TV screenshots. | |||
| data[].content_rating | string | No | Age rating of the app, for example `4+`. | |||
| data[].currency | string | No | Currency code of `price`. | |||
| data[].current_version_reviews | integer | No | Number of user ratings for the current version. | |||
| data[].current_version_score | number | No | Average user rating of the current version. | |||
| data[].description | string | No | Full description of the app from its App Store page. | |||
| data[].developer | string | No | Name of the app's developer. | |||
| data[].developer_id | integer | No | App Store ID of the developer. | |||
| data[].developer_url | string | No | App Store page URL of the developer. | |||
| data[].developer_website | string | No | Website URL the developer lists for the app. | |||
| data[].free | boolean | No | `true` when `price` is 0. | |||
| data[].genre_ids | array | No | IDs of all genres the app is listed under. | |||
| data[].genres | array | No | Names of all genres the app is listed under. | |||
| data[].histogram | object | No | Number of ratings for each star value, keyed by star value. Present only when `ratings=true` was requested. | |||
| data[].icon | string | No | URL of the app icon. | |||
| data[].id | integer | No | App Store numeric track ID of the app. | |||
| data[].ipad_screenshots | array | No | URLs of the app's iPad screenshots. | |||
| data[].languages | array | No | Languages the app supports, as two-letter ISO codes. | |||
| data[].platforms | array | No | Platforms is the set of Apple platforms this app is known to run on, using Apple's own appPlatforms vocabulary: phone, pad, mac, tv, watch, vision. "mac" is always populated for free when this record IS a Mac App Store listing (a separate catalog entry from the iPhone app, see Kind on lookupItem). The rest (and a "mac" tag for Mac-Catalyst-capable iPhone apps) are only populated when AppOption.Platforms was requested, since they require an extra upstream page fetch. | |||
| data[].price | number | No | Price of the app in `currency`. It is 0 for free apps. | |||
| data[].primary_genre | string | No | Name of the app's primary genre. | |||
| data[].primary_genre_id | integer | No | App Store ID of the app's primary genre. | |||
| data[].ratings | integer | No | Total number of user ratings. Present only when `ratings=true` was requested. | |||
| data[].release_notes | string | No | Release notes of the current version. | |||
| data[].released | string | No | Date and time the app was first released, in ISO 8601. | |||
| data[].required_os_version | string | No | Minimum operating system version the app needs. | |||
| data[].reviews | integer | No | Number of user ratings the app has across all versions. | |||
| data[].score | number | No | Average user rating of the app across all versions. | |||
| data[].screenshots | array | No | URLs of the app's screenshots. | |||
| data[].size | string | No | File size of the app in bytes, given as a string. | |||
| data[].supported_devices | array | No | Device model identifiers the app supports. | |||
| data[].title | string | No | Name of the app. | |||
| data[].updated | string | No | Date and time the current version was released, in ISO 8601. | |||
| data[].url | string | No | App Store page URL of the app. | |||
| data[].version | string | No | Current version number of the app. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 404 | Developer 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/developer/284882218?country=us&lang=en" \
-H "x-api-key: $CRAWLORA_API_KEY"