# Google Play Developer API

# Google Play Developer APIs

The Google Play Developer API allows you to perform a number of publishing and app-management tasks. It
includes two components:

- The [Subscriptions and In-App Purchases API](https://developers.google.com/android-publisher#subscriptions) lets you manage in-app purchases and subscriptions.
- The [Publishing API](https://developers.google.com/android-publisher#publishing) lets you upload and publish apps, and perform other publishing-related tasks.

## Subscriptions and In-App Purchases

You can use the Google Play Developer API to manage:

- Catalog management
  - [One Time Products](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.onetimeproducts)
  - [In-App Products](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts)
  - [Subscription Products](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions)
- [Products purchase
  status](https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.products)
- [Subscriptions
  purchase management](https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.subscriptions)

You can use these resources to check the status of purchases, and to
modify and cancel recurring purchases.

To learn more about how to sell subscriptions in an Android app, read
[Google
Play In-app Billing](https://developer.android.com/google/play/billing/index.html) on the Android Developers site.

## Publishing API

The Google Play Developer Publishing API allows you to automate frequent tasks having to do
with app production and distribution. This provides functions similar to
those available to a developer through the
[Play Console](https://play.google.com/console),
such as:

- Uploading new versions of an app
- Releasing apps, by assigning APKs to various [Tracks](https://developers.google.com/android-publisher/tracks) (alpha, beta, staged rollout, or production)
- Creating and modifying Google Play Store listings, including localized text and graphics and multi-device screenshots

Those tasks are performed using the new [edits](https://developers.google.com/android-publisher/edits)
functionality, which take a transactional approach to making changes;
you bundle several changes into a single draft **edit**,
then commit the changes all at once. (None of the changes take effect
until the edit is committed.)

## Getting Started

To start using the Google Play Developer API, have a look at the
[Getting Started](https://developers.google.com/android-publisher/getting_started) page.

There are Java and Python libraries you can use to manage interaction with the
Publishing API. We have provided code samples on the
[Client Libraries and Code Samples](https://developers.google.com/android-publisher/libraries) page. If you are using
other languages, you can access the REST APIs directly via HTTP.

If you're having issues using the Google Play Developer API,
[we're
here to help](https://support.google.com/googleplay/android-developer/answer/7218994).

## Other APIs

- The [Google Play Games Services Publishing API](https://developer.android.com/games/pgs/publishing/publishing) allows you to automate frequent tasks having to do with game services production and distribution.
- The [Reporting API](https://developer.android.com/google/play/developer-api#reporting) lets you retrieve information about your app's quality from Android vitals.
- The [Reply to Reviews API](https://developer.android.com/google/play/developer-api#reviews) lets you retrieve and reply to reviews of your app.
- The [Permissions API](https://developer.android.com/google/play/developer-api#permissions) lets you automate permission management within the Play Console.
- The [Play Games Services Management API](https://developer.android.com/games/pgs/management/management) lets you issue REST calls to programmatically control the metadata underlying the Google Play Games Services features.
- The [Voided Purchases API](https://developer.android.com/google/play/developer-api#voided-purchases) provides a list of orders that are associated with purchases that a user has voided.