Importing In-App Products from the App Store via API

Overview

To effectively manage monetization, subscriptions, and promotional campaigns in iOS apps, it’s important to maintain an up-to-date list of all in-app products (SKUs) published in App Store Connect. These may include consumable and non-consumable purchases, as well as subscriptions.

Although products can be entered manually into Magify, this approach quickly becomes inefficient when:

  • There are many products
  • Products are frequently updated
  • Reducing manual effort and improving accuracy is important

To streamline the process, Magify supports automated product import using the App Store Connect API, specifically the /v1/inAppPurchases endpoint and related methods.

Key benefits

  • Full import of all active App Store in-app products
  • Automatic syncing of new and updated SKUs
  • Reduced workload for marketing, product, and configuration teams
  • Data is refreshed regularly through API polling

After import, you can:

  1. Define custom reward parameters the user receives after purchase
  2. Configure how each product is displayed and used in campaigns

Requirements

Before starting, make sure you have the following:

Access to App Store Connect

  • Admin or App Manager role in App Store Connect
  • Products already created in the app with status Ready for Sale or In Review (Drafts will be skipped if required metadata, such as price or localization, is missing)

App Store Connect API Key

You’ll need:

  • Issuer ID
  • Key ID
  • Private key (.p8 file)

Create a key under: Users and Access > Keys > App Store Connect API > Generate API Key

App Store App ID Must Be Correct

Important: Ensure that the correct App Store App ID (associated with your app in App Store Connect) is specified in Magify. The App Store Connect API retrieves in-app purchases based on this application ID.

If the ID is incorrect or does not match the app linked to your API key, the import will fail or return incomplete results.

This ID is also used in Magify to map imported products to remote configuration, creatives, and campaign logic.

How to Generate and Manage API Keys

  1. Log into App Store Connect.
  2. In the top menu, go to the Users and Access section.
magify-app-store-connect-users-and-access.png
  1. Open the Integrations tab.
  2. In the sidebar, select Keys > App Store Connect API.
  3. Click the + icon under the Active section.
magify-app-store-connect-integrations.png
  1. Enter a name (e.g., iap-sync-key), select the appropriate role (App Manager or Developer), and click Generate.
magify-app-store-connect-generate-api-key.png
  1. Download the .p8 private key — it can only be downloaded once.
magify-app-store-connect-api-key-download.png
magify-app-store-connect-api-key-download-once.png
  1. Use the Issuer ID, Key ID, and private key to generate a JWT for authenticating with the API.
magify-app-store-connect-issuer-id-key-id.png
  1. Contact the Magify team and provide the following credentials:
    • Issuer ID
    • Key ID
    • The downloaded .p8 private key file These credentials are required to authenticate requests to the App Store Connect API and enable automated syncing of your in-app product catalog.

How Magify Uses the API

Once connected, Magify polls the App Store Connect API every 300 seconds (5 minutes) to:

  • Detect newly added products
  • Update pricing and metadata

For each product, Magify imports:

  • productId — the unique product identifier (SKU), used as both product key and display name
  • inAppPurchaseType — the product type: CONSUMABLE, NON_CONSUMABLE, or AUTO_RENEWABLE_SUBSCRIPTION
  • price — the default price for the U.S. region (returned in USD)

Only products with statuses In Review and Ready for Sale are imported. Drafts will be skipped if required metadata is missing.

Configuring Products in Magify

After import, additional configuration is required to enable product usage in campaigns:

Step 1: Define Customs

Path: Magify > Configuration > Remote Config > Native Elements

  • In the list of imported products, fill in the Customs field — specify what the user receives after purchase (e.g., 500 coins)
  • Each consumable or non-consumable product must have a default context set directly within the Native Element
  • Magify uses this default context when:
    • A promo code is redeemed
    • An offer is launched from the store page
    • The purchase flow is interrupted or completed outside the standard in-app flow

Step 2: Set Up Product Usage Context

Path: Magify > Configuration > Remote Config > Product ID Context > Create New

For each product:

  • Select the Product ID — choose the appropriate product from the dropdown list.
  • Choose the Type:
    • In-App Product ID Context for consumables and non-consumables
    • Subscription Product ID Context for subscriptions
  • Define Customs — visuals, discounts, and reward logic

This configuration controls how the product is displayed to users, integrated into promotions, and interpreted by Magify's campaign logic.

Using Imported Products in Campaigns

Once products and contexts are configured, they become available across the system.

You can:

  • Reference imported products directly in campaign logic
  • Control how products appear in offers
  • Dynamically manage visuals, pricing, and rewards

This setup ensures your campaigns stay linked to up-to-date, validated product data from App Store Connect — with full automation and minimal manual work.

Your integration is now complete. Products are automatically synced and ready to support scalable monetization and promotions in Magify.

Related articles

Importing In-App Products from Google Play via API