Returns metadata from an app that AppTweak has been able to gather from the App Store or the Google Play Store.
The applications' metadata are all the elements (title, subtitle, screenshots, etc.) that you can find on an app store page of an application. Each store displays different types of metadata. The metadata are store-specific (iOS vs Google Play) but they can also be device, country, and/or language specific. Make sure to specify the correct ones in the query parameters.
App Metadata are available through two endpoints:
- App Metadata - Current which returns the lates - most recent - metadata available
- App Metadata - History which returns the historical metadata changes
Missing metadata?Make sure to have entered the correct app ID. You can refer to our country codes to see the regions that AppTweak is currently covering.
Metadata Attributes
In the table below, you'll find the name of the metadata elements and a short explanation of each, sorted by device. The last column indicates whether those historical data is available.
Attributes | iPhone/iPad | Android | Description | Historical Metadata available? |
|---|---|---|---|---|
title | ✅ | ✅ | The App name as it appears on the App Store, in the chosen language | ✅ |
subtitle | ✅ | ❌ | The subtitle explaining the purpose of the app (introduced in iOS 11) | ✅ |
promotional_text | ✅ | ❌ | The promotional text should reflect the app’s new features, promotions, or highlighted content | ✅ |
description | ✅ | ❌ | The app description as it appears on the App Store, in the chosen language | ✅ |
short_description | ❌ | ✅ | The short description explaining the purpose of the app | ✅ |
long_description | ❌ | ✅ | The app description as it appears on the Google Play Store, in the chosen language | ✅ |
id | ✅ | ✅ | Store ID of the app | |
genres | ✅ | ✅ | Category IDs as defined for Apple or Google Play | ✅ |
icon | ✅ | ✅ | URL of the icon | ✅ |
screenshots | ✅ | ✅ | App Store Preview Video: Key/value pair of the device and the screenshots URLs. Google Play Promotional Video: list of screenshot URLs | ✅ |
videos | ✅ | ✅ | App Store: Key/value pair of the device and the video URLs. Google Play: list of video URLs | ✅ |
feature_graphic | ❌ | ✅ | The graphic that appears before launching a video | ✅ |
size | ✅ | ✅ | Size of the app in bytes | ✅ |
rating | ✅ | ✅ | Average rating for an app | ➖ |
developer | ✅ | ✅ | Key/value pairs describing the developer | ➖ |
price | ✅ | ✅ | Price of the application as displayed in the target country | ✅ |
versions | ✅ | ✅ | A list of version hash. Each version hash specifies the version number, the date on which it was released, and the release notes in the chosen language. | ✅ |
release_date | ✅ | ✅ | The released date indicates when the app became available. Keep in mind that the release date of an app that has been removed from the store and then re-added will correspond to the last time the app was made available (i.e., the most recent re-upload date). | ➖ |
similar_apps | ❌ | ✅ | A list of app IDs advertised as alternatives for this app in the section on the application page view | ➖ |
customers_also_bought | ✅ | ❌ | A list of app IDs that Apple advertises as alternatives for this app in the You May Also Like section on the application page view on the App Store | ➖ |
dna | ✅ | ✅ | The DNA of the App | ➖ |
features | ✅ | ❌ | Key/boolean pairs describing if the App is compatible with passbook and the game center and if it has in app purchases. | ➖ |
permissions | ❌ | ✅ | The list of permissions the app may try to access. Notably, the presence of the permission com.android.vending.BILLING indicates the presence of in-app purchases. | ➖ |
in_app_purchases | ✅ | ❌ | The list of featured in-app purchases of the App. | ➖ |
A/B tests?A/B tests are available for Google Play apps in the App Metadata - History endpoints. For every change that is observed, it is indicated whether the change is related to an A/B test (True) or not (False).
In-App Purchases
The in_app_purchases attribute returns a list of promoted in-app purchases displayed on an iOS app's App Store product page. This field is only available for iOS apps.
NoteDevelopers can promote up to 20 in-app purchases on their App Store product page. The order (rank) is determined by the developer in App Store Connect, not by sales performance.
Example response
"in_app_purchases": [
{
"id": 6448311597,
"name": "ChatGPT Plus",
"description": "ChatGPT Plus",
"rank": 1,
"is_subscription": true,
"recurring_subscription_period": "P1M",
"subscription_family_name": "ChatGPT Plan",
"is_family_shareable": false,
"price": {
"value": "19.99",
"currency": "usd"
},
"artwork": null,
"discounts": null,
"is_merchandise_enabled": false,
"is_merchandise_visible": false
},
{
"id": 6657954405,
"name": "ChatGPT Pro",
"description": "ChatGPT Pro",
"rank": 2,
"is_subscription": true,
"recurring_subscription_period": "P1M",
"subscription_family_name": "ChatGPT Plan",
"is_family_shareable": false,
"price": {
"value": "200.00",
"currency": "usd"
},
"artwork": null,
"discounts": null,
"is_merchandise_enabled": false,
"is_merchandise_visible": false
}
]In-App Purchase Object
Each in-app purchase object contains the following attributes:
| Attribute | Type | Description |
|---|---|---|
id | integer | The unique identifier for the in-app purchase on the App Store |
name | string | The display name of the in-app purchase |
description | string | The description text shown to users on the App Store |
rank | integer | The display order on the product page (1 = first position). This order is set by the developer in App Store Connect |
is_subscription | boolean | true if this is a subscription, false for one-time purchases (consumables or non-consumables) |
recurring_subscription_period | string or null | The billing cycle for subscriptions, using ISO 8601 duration format. null for non-subscription purchases. See Subscription Period Codes section below. |
subscription_family_name | string or null | The subscription group name that this subscription belongs to. null for non-subscription purchases |
is_family_shareable | boolean | Whether the purchase can be shared with Family Sharing members |
price | object | The price object containing value (string) and currency (lowercase ISO currency code) |
artwork | object or null | Artwork/promotional image associated with the in-app purchase, if available |
discounts | array or null | Promotional offers or introductory prices, if available (see Discounts section below) |
is_merchandise_enabled | boolean | Whether merchandise features are enabled for this in-app purchase |
is_merchandise_visible | boolean | Whether merchandise is visible to users |
Subscription Period Codes
The recurring_subscription_period field uses ISO 8601 duration format:
| Code | Duration |
|---|---|
P7D | 7 days (weekly) |
P1M | 1 month |
P2M | 2 months |
P3M | 3 months (quarterly) |
P6M | 6 months (semi-annual) |
P1Y | 1 year (annual) |
Discounts Object
When promotional offers are available, each discount object contains:
| Attribute | Type | Description |
|---|---|---|
modeType | string | The type of offer: FreeTrial, PayAsYouGo, or PayUpFront |
numOfPeriods | integer | Number of billing periods the discount applies to |
price | number | The discounted price |
priceFormatted | string | The formatted price string for display |
priceString | string | Alternative formatted price string |
recurringSubscriptionPeriod | string | The billing period for the discount (e.g., P7D for a 7-day free trial) |
type | string | Additional discount type information |