App Metadata

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.

📘

Note

Developers 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:

AttributeTypeDescription
idintegerThe unique identifier for the in-app purchase on the App Store
namestringThe display name of the in-app purchase
descriptionstringThe description text shown to users on the App Store
rankintegerThe display order on the product page (1 = first position). This order is set by the developer in App Store Connect
is_subscriptionbooleantrue if this is a subscription, false for one-time purchases (consumables or non-consumables)
recurring_subscription_periodstring or nullThe billing cycle for subscriptions, using ISO 8601 duration format. null for non-subscription purchases. See Subscription Period Codes section below.
subscription_family_namestring or nullThe subscription group name that this subscription belongs to. null for non-subscription purchases
is_family_shareablebooleanWhether the purchase can be shared with Family Sharing members
priceobjectThe price object containing value (string) and currency (lowercase ISO currency code)
artworkobject or nullArtwork/promotional image associated with the in-app purchase, if available
discountsarray or nullPromotional offers or introductory prices, if available (see Discounts section below)
is_merchandise_enabledbooleanWhether merchandise features are enabled for this in-app purchase
is_merchandise_visiblebooleanWhether merchandise is visible to users

Subscription Period Codes

The recurring_subscription_period field uses ISO 8601 duration format:

CodeDuration
P7D7 days (weekly)
P1M1 month
P2M2 months
P3M3 months (quarterly)
P6M6 months (semi-annual)
P1Y1 year (annual)

Discounts Object

When promotional offers are available, each discount object contains:

AttributeTypeDescription
modeTypestringThe type of offer: FreeTrial, PayAsYouGo, or PayUpFront
numOfPeriodsintegerNumber of billing periods the discount applies to
pricenumberThe discounted price
priceFormattedstringThe formatted price string for display
priceStringstringAlternative formatted price string
recurringSubscriptionPeriodstringThe billing period for the discount (e.g., P7D for a 7-day free trial)
typestringAdditional discount type information