Exporting The In App Product List From Google Play
Introduction
To effectively manage in-app monetization, subscriptions, and promotional campaigns, it’s essential to have a complete and up-to-date list of all in-app products (SKUs) published in the Google Play Console for a given Android application.
The Google Play Developer API provides a way to programmatically retrieve this list using the inappproducts.list method. This approach replaces manual SKU entry and ensures a more scalable, reliable, and automated product management process.
While products can be added manually within our system, doing so becomes inefficient when the number of SKUs increases or product configurations change frequently. Integration with inappproducts.list
enables automated product import with the following benefits:
- Comprehensive coverage of all active in-app products;
- Data consistency – newly added products in Google Play are automatically pulled into the system;
- Reduced manual effort for marketing and configuration teams – no need to copy/paste SKUs manually when launching campaigns.
After products are imported into the system, the following steps remain:
- Add default custom parameters (customs) – define in Magify what the user receives for the given price (e.g., resource packs);
- Define usage contexts – configure how each product is used, visuals, discounts, and more.
This method ensures accuracy, improves campaign setup speed, and provides a scalable foundation for managing a growing in-app product catalog.
Google Play Developer API: Access Setup and Integration
To retrieve in-app product (SKU) data using the inappproducts.list
method, you need to configure access to the Google Play Developer API via a service account. This process includes selecting or creating a project in Google Cloud, enabling the required API, and granting access permissions in the Google Play Console.
- Go to the Google Cloud Console.
- In the top navigation bar, either select an existing project or click “New project”.

- If creating a new project, enter a name (e.g., `MyApp Products`) and click “Create”.
- In the left-hand sidebar, navigate to APIs & Services > Enabled APIs & services.

- In the top bar, click + Enable APIs and services.

- In the API Library, search for Google Play Android Developer API.
- Select the API and click Enable.

- To create a service account that will be used to authenticate API requests, navigate to the Service Accounts section:
- In the left-hand sidebar, go to IAM & Admin > Service Accounts. Once there, you’ll be able to create and configure the service account with appropriate permissions.

- Fill in the fields:
- Service account name:
iap-sync-bot
- Service account ID will be generated automatically
- (Optional) Add a description
- Click Create and Continue
- In the Permissions step: under the Basic category, select the Editor role This provides a sufficient level of access to use the API.
- Click Done — the service account will be created.
- Service account name:

- To authorize API requests, you need to generate a private key in JSON format for the service account.
- In IAM & Admin > Service Accounts, find the account you just created (
iap-sync-bot
). - Click the three dots menu (⋮) next to the account and select Manage keys.
- In IAM & Admin > Service Accounts, find the account you just created (

- Under the Keys tab, click Add key > Create new key.

- Choose JSON as the key type.
- Click Create. A
.json
file will be downloaded automatically. - Open the downloaded
.json
file and copy the following values:- client_email
- client_id
You’ll need them when linking the service account in the Google Play Console.
Granting Access in Google Play Console
After creating the service account and generating the key, you need to grant it access through the Google Play Console and assign the appropriate permissions.
- Go to Google Play Console and sign in with an account that has admin rights.
- In the left-hand menu, navigate to: Users and permissions
- Click Invite new user

- In the dialog paste the
client_email
from your service account JSON key into the Email address field.

- Under Permissions, assign at least the Release Manager role.

- In the App access section, select specific apps the service account should access, or grant access to all apps.
- Click Invite user to send the invitation and complete the setup.
Once accepted, your service account will have the required permissions to access the Google Play Developer API (e.g., inappproducts.list
) for the specified apps.