Skip to content
Dogahe edited this page Jan 8, 2023 · 10 revisions

App Store Connect APIs

In this project I explore the APIs that are useful to automate some of the tasks that I perform regularly on App Store Connect.

List Apps

GET https://api.appstoreconnect.apple.com/v1/apps?filter[appStoreVersions.appStoreState]=READY_FOR_SALE

Get App Information

curl -v -H 'Authorization: Bearer YOUR_TOKEN' "https://api.appstoreconnect.apple.com/v1/apps?filter[id]=YOUR_APP_ID"

Get App Price

curl -v -H 'Authorization: Bearer YOUR_TOKEN' "https://api.appstoreconnect.apple.com/v1/apps/YOUR_APP_ID/prices?include=priceTier"

Change App Price

Reference: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app

PATCH https://api.appstoreconnect.apple.com/v1/apps/YOUR_APP_ID

Authorization: Bearer YOUR_TOKEN

Body:

{
    "data": {
        "type": "apps",
        "id": "YOUR_APP_ID",
        "relationships": {
            "prices": {
                "data": [
                    { "type": "appPrices", "id": "${new-price-1}" }
                ]
            }
        }
    },
    "included": [{
        "id": "${new-price-1}",
        "type":"appPrices",
        "relationships": {
            "priceTier": {
                "data":{ "type": "appPriceTiers", "id": "5"}
            }
        }
    }]
}

Get App Store Versions

Reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_versions_for_an_app

GET https://api.appstoreconnect.apple.com/v1/apps/YOUR_APP_ID/appStoreVersions

Get App Store Version Localizations for an App Store Version

Reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_app_store_version_localizations_for_an_app_store_version

GET https://api.appstoreconnect.apple.com/v1/appStoreVersions/YOUR_APP_VERSION_ID_FROM_PREVIOUS_CALL/appStoreVersionLocalizations

List All In-App Purchases For An App

GET https://api.appstoreconnect.apple.com/v1/apps/YOUR_APP_ID/inAppPurchasesV2

Reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_in-app_purchases_for_an_app

List All Price Points for an In-App Purchase

GET https://api.appstoreconnect.apple.com/v2/inAppPurchases/YOUR_IN_APP_PURCHASE_ID/pricePoints

Reference: https://developer.apple.com/documentation/appstoreconnectapi/list_all_price_points_for_an_in-app_purchase

Add a Scheduled Price Change to an In-App Purchase

POST https://api.appstoreconnect.apple.com/v1/inAppPurchasePriceSchedules

Body:

{
    "data": {
        "relationships": {
            "inAppPurchase": {
                "data": {
                    "id": YOUR_IN_APP_PURCHASE_ID,
                    "type": "inAppPurchases"
                }
            },
            "manualPrices": {
                "data": [
                    {
                        "id": "${new-price-1}",
                        "type": "inAppPurchasePrices"
                    }
                ]
            }
        },
        "type": "inAppPurchasePriceSchedules"
    }, 
    "included": [{
        "relationships":{
            "inAppPurchaseV2": {
                "data": {
                    "id": YOUR_IN_APP_PURCHASE_ID,
                    "type": "inAppPurchases"
                } 
            },
            "inAppPurchasePricePoint": {
                "data": {
                    "id": Price_Point_ID_From_The_Previous_API_Call,
                    "type": "inAppPurchasePricePoints"
                }
            }
        },
        "id": "${new-price-1}",
        "type": "inAppPurchasePrices"
    }]
}

Reference: https://developer.apple.com/documentation/appstoreconnectapi/add_a_scheduled_price_change_to_an_in-app_purchase

Other references