AppStore API endpoint
Returns the privacy disclosures shown on an App Store page for one app, identified by its numeric track `id` (digits only; anything else returns 400). The response has `privacy_policy_url`, `manage_privacy_choices_url` and `privacy_types`, each with its data categories and purposes. `country` and `lang` are optional.
/appstore/privacy/{id}MCP tool: appstore_privacy
Returns privacy label data for an Apple App Store app.
Path parameters:
id: required. App Store track ID. Must be numeric (digits only), e.g. 324684580. A non-numeric id returns 400.Query parameters:
country: optional. Two-letter storefront country code.lang: optional. Result language tag.| Field | Filled in, of 1 checked |
|---|---|
| privacy_type | 0 |
| identifier | 0 |
| description | 0 |
| data_categories | 0 |
| purposes | 0 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | App Store numeric track ID (digits only) | 324684580 | |
| 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/privacy/324684580?country=us&lang=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "6448311069",
"tracking": false,
"linked_to_you": [
"Contact Info"
],
"not_linked_to_you": [
"Identifiers"
]
}
}Request schema
No body schema
Response schema
#/definitions/appstore.privacyResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | appstore.PrivacyDetails | No | ||||
| data.manage_privacy_choices_url | string | No | URL where users can manage their privacy choices for the app. | |||
| data.privacy_policy_url | string | No | URL of the app's privacy policy. | |||
| data.privacy_types | array | No | Privacy types the app declares, each with the data it covers. | |||
| data.privacy_types[].data_categories | array | No | Data categories collected under this privacy type. | |||
| data.privacy_types[].data_categories[].data_category | string | No | Name of the data category the app handles. | |||
| data.privacy_types[].data_categories[].data_types | array | No | Types of data in this category. | |||
| data.privacy_types[].data_categories[].identifier | string | No | Apple's identifier for the data category. | |||
| data.privacy_types[].description | string | No | Apple's description of the privacy type. | |||
| data.privacy_types[].identifier | string | No | Apple's identifier for the privacy type. | |||
| data.privacy_types[].privacy_type | string | No | Name of the privacy type. | |||
| data.privacy_types[].purposes | array | No | Purposes the data is used for under this privacy type. | |||
| data.privacy_types[].purposes[].data_categories | array | No | Data categories collected for this purpose. | |||
| data.privacy_types[].purposes[].data_categories[].data_category | string | No | Name of the data category the app handles. | |||
| data.privacy_types[].purposes[].data_categories[].data_types | array | No | Types of data in this category. | |||
| data.privacy_types[].purposes[].data_categories[].identifier | string | No | Apple's identifier for the data category. | |||
| data.privacy_types[].purposes[].identifier | string | No | Apple's identifier for the purpose. | |||
| data.privacy_types[].purposes[].purpose | string | No | Name of the purpose the data is used for. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 404 | App 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/privacy/324684580?country=us&lang=en" \
-H "x-api-key: $CRAWLORA_API_KEY"