Open documentation ↗Overview
Lets Android application developers access their Google Play accounts. At a high level, the expected workflow is to "insert" an Edit, make changes as necessary, and then "commit" it.
Google Play Android Developer API is an analytics API from googleapis.com. Requests are authenticated with OAuth. It is served over HTTPS. Its OpenAPI description documents 94 endpoints.
At a glance
- Authentication
- OAuth
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Analytics
- Base URL
https://androidpublisher.googleapis.com/- Version
- v3
- Endpoints
- 94
- OpenAPI
- Specification ↗
- Spec updated
- 2023-04-19
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://androidpublisher.googleapis.com/androidpublisher/v3/applications/PACKAGENAME/deviceTierConfigs" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://androidpublisher.googleapis.com/androidpublisher/v3/applications/PACKAGENAME/deviceTierConfigs", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://androidpublisher.googleapis.com/androidpublisher/v3/applications/PACKAGENAME/deviceTierConfigs",
headers={
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| POST | /androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk | Uploads an APK to internal app sharing. If you are using the Google API client libraries, please increase the timeout of the http request before calling this en |
| POST | /androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle | Uploads an app bundle to internal app sharing. If you are using the Google API client libraries, please increase the timeout of the http request before calling |
| GET | /androidpublisher/v3/applications/{packageName}/deviceTierConfigs | Returns created device tier configs, ordered by descending creation time. |
| POST | /androidpublisher/v3/applications/{packageName}/deviceTierConfigs | Creates a new device tier config for an app. |
| GET | /androidpublisher/v3/applications/{packageName}/deviceTierConfigs/{deviceTierConfigId} | Returns a particular device tier config. |
| POST | /androidpublisher/v3/applications/{packageName}/edits | Creates a new edit for an app. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId} | Gets an app edit. |
| DELETE | /androidpublisher/v3/applications/{packageName}/edits/{editId} | Deletes an app edit. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks | Lists all current APKs of the app and edit. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks | Uploads an APK and adds to the current edit. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted | Creates a new APK without uploading the APK itself to Google Play, instead hosting the APK at a specified URL. This function is only available to organizations |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType} | Uploads a new deobfuscation file and attaches to the specified APK. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType} | Fetches the expansion file configuration for the specified APK. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType} | Uploads a new expansion file and attaches to the specified APK. |
| PUT | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType} | Updates the APK's expansion file configuration to reference another APK's expansion file. To add a new expansion file use the Upload method. |
| PATCH | /androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType} | Patches the APK's expansion file configuration to reference another APK's expansion file. To add a new expansion file use the Upload method. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles | Lists all current Android App Bundles of the app and edit. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles | Uploads a new Android App Bundle to this edit. If you are using the Google API client libraries, please increase the timeout of the http request before calling |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/countryAvailability/{track} | Gets country availability. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/details | Gets details of an app. |
| PUT | /androidpublisher/v3/applications/{packageName}/edits/{editId}/details | Updates details of an app. |
| PATCH | /androidpublisher/v3/applications/{packageName}/edits/{editId}/details | Patches details of an app. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings | Lists all localized store listings. |
| DELETE | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings | Deletes all store listings. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language} | Gets a localized store listing. |
| PUT | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language} | Creates or updates a localized store listing. |
| PATCH | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language} | Patches a localized store listing. |
| DELETE | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language} | Deletes a localized store listing. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType} | Lists all images. The response may be empty. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType} | Uploads an image of the specified language and image type, and adds to the edit. |
| DELETE | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType} | Deletes all images for the specified language and image type. Returns an empty response if no images are found. |
| DELETE | /androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId} | Deletes the image (specified by id) from the edit. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track} | Gets testers. Note: Testers resource does not support email lists. |
| PUT | /androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track} | Updates testers. Note: Testers resource does not support email lists. |
| PATCH | /androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track} | Patches testers. Note: Testers resource does not support email lists. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks | Lists all tracks. |
| GET | /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track} | Gets a track. |
| PUT | /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track} | Updates a track. |
| PATCH | /androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track} | Patches a track. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}:commit | Commits an app edit. |
| POST | /androidpublisher/v3/applications/{packageName}/edits/{editId}:validate | Validates an app edit. |
| GET | /androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode} | Returns download metadata for all APKs that were generated from a given app bundle. |
| GET | /androidpublisher/v3/applications/{packageName}/generatedApks/{versionCode}/downloads/{downloadId}:download | Downloads a single signed APK generated from an app bundle. |
| GET | /androidpublisher/v3/applications/{packageName}/inappproducts | Lists all in-app products - both managed products and subscriptions. If an app has a large number of in-app products, the response may be paginated. In this cas |
| POST | /androidpublisher/v3/applications/{packageName}/inappproducts | Creates an in-app product (i.e. a managed product or a subscription). |
| GET | /androidpublisher/v3/applications/{packageName}/inappproducts/{sku} | Gets an in-app product, which can be a managed product or a subscription. |
| PUT | /androidpublisher/v3/applications/{packageName}/inappproducts/{sku} | Updates an in-app product (i.e. a managed product or a subscription). |
| PATCH | /androidpublisher/v3/applications/{packageName}/inappproducts/{sku} | Patches an in-app product (i.e. a managed product or a subscription). |
| DELETE | /androidpublisher/v3/applications/{packageName}/inappproducts/{sku} | Deletes an in-app product (i.e. a managed product or a subscription). |
| POST | /androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund | Refunds a user's subscription or in-app purchase order. Orders older than 1 year cannot be refunded. |
| POST | /androidpublisher/v3/applications/{packageName}/pricing:convertRegionPrices | Calculates the region prices, using today's exchange rate and country-specific pricing patterns, based on the price in the request for a set of regions. |
| GET | /androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token} | Checks the purchase and consumption status of an inapp item. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge | Acknowledges a purchase of an inapp item. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:consume | Consumes a purchase for an inapp item. |
| GET | /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token} | Checks whether a user's subscription purchase is valid and returns its expiry time. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge | Acknowledges a subscription purchase. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel | Cancels a user's subscription purchase. The subscription remains valid until its expiration time. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer | Defers a user's subscription purchase until a specified future expiration time. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund | Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur. |
| POST | /androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke | Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring. |
| GET | /androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token} | Get metadata about a subscription |
| GET | /androidpublisher/v3/applications/{packageName}/purchases/voidedpurchases | Lists the purchases that were canceled, refunded or charged-back. |
| GET | /androidpublisher/v3/applications/{packageName}/reviews | Lists all reviews. |
| GET | /androidpublisher/v3/applications/{packageName}/reviews/{reviewId} | Gets a single review. |
| POST | /androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply | Replies to a single review, or updates an existing reply. |
| GET | /androidpublisher/v3/applications/{packageName}/subscriptions | Lists all subscriptions under a given app. |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions | Creates a new subscription. Newly added base plans will remain in draft state until activated. |
| GET | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId} | Reads a single subscription. |
| PATCH | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId} | Updates an existing subscription. |
| DELETE | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId} | Deletes a subscription. A subscription can only be deleted if it has never had a base plan published. |
| DELETE | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId} | Deletes a base plan. Can only be done for draft base plans. This action is irreversible. |
| GET | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers | Lists all offers under a given subscription. |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers | Creates a new subscription offer. Only auto-renewing base plans can have subscription offers. The offer state will be DRAFT until it is activated. |
| GET | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId} | Reads a single offer |
| PATCH | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId} | Updates an existing subscription offer. |
| DELETE | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId} | Deletes a subscription offer. Can only be done for draft offers. This action is irreversible. |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:activate | Activates a subscription offer. Once activated, subscription offers will be available to new subscribers. |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}/offers/{offerId}:deactivate | Deactivates a subscription offer. Once deactivated, existing subscribers will maintain their subscription, but the offer will become unavailable to new subscrib |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:activate | Activates a base plan. Once activated, base plans will be available to new subscribers. |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:deactivate | Deactivates a base plan. Once deactivated, the base plan will become unavailable to new subscribers, but existing subscribers will maintain their subscription |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}/basePlans/{basePlanId}:migratePrices | Migrates subscribers who are receiving an historical subscription price to the currently-offered price for the specified region. Requests will cause price chang |
| POST | /androidpublisher/v3/applications/{packageName}/subscriptions/{productId}:archive | Archives a subscription. Can only be done if at least one base plan was active in the past, and no base plan is available for new or existing subscribers curren |
| GET | /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants | Returns the list of previously created system APK variants. |
| POST | /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants | Creates an APK which is suitable for inclusion in a system image from an already uploaded Android App Bundle. |
| GET | /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId} | Returns a previously created system APK variant. |
| GET | /androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}:download | Downloads a previously created system APK which is suitable for inclusion in a system image. |
| GET | /androidpublisher/v3/{name} | Gets an existing external transaction. |
| PATCH | /androidpublisher/v3/{name} | Updates access for the user to the developer account. |
| DELETE | /androidpublisher/v3/{name} | Removes all access for the user to the given developer account. |
| POST | /androidpublisher/v3/{name}:refund | Refunds or partially refunds an existing external transaction. |
| POST | /androidpublisher/v3/{parent}/externalTransactions | Creates a new external transaction. |
| POST | /androidpublisher/v3/{parent}/grants | Grant access for a user to the given package. |
| GET | /androidpublisher/v3/{parent}/users | Lists all users with access to a developer account. |
| POST | /androidpublisher/v3/{parent}/users | Grant access for a user to the given developer account. |
Questions
Does the Google Play Android Developer API API need an API key?
Yes. The Google Play Android Developer API API uses OAuth authentication; the documentation explains how to get credentials.
Does the Google Play Android Developer API API support HTTPS?
Yes, the Google Play Android Developer API API is served over HTTPS.
How many endpoints does the Google Play Android Developer API API have?
Its OpenAPI description lists 94 endpoints in version v3. All of them are shown on this page.
What are alternatives to the Google Play Android Developer API API?
Other Analytics APIs include Google Play Integrity API, versionhistory.googleapis.com API, Doc Converter, Perspective Comment Analyzer API, Safe Browsing API.
Similar analytics APIs
Compare alternatives →Google Play Integrity API
AnalyticsThe Play Integrity API helps you check that you're interacting with your genuine app on a genuine Android device powered by Google Play services. The Play Integrity API has replaced SafetyNet Attestation and Android Device Verification.
versionhistory.googleapis.com API
AnalyticsVersion History API - Prod
Doc Converter
AnalyticsThis api converts file formats of OpenXml and OpenOffice documents formats to vector files (e.g., svg)
Perspective Comment Analyzer API
AnalyticsThe Perspective Comment Analyzer API provides information about the potential impact of a comment on a conversation (e.g. it can provide a score for the "toxicity" of a comment). Users can leverage the "SuggestCommentScore" method to submit corrections to improve Perspective over time. Users can set the "doNotStore" flag to ensure that all submitted comments are automatically deleted after scores are returned.
Safe Browsing API
AnalyticsEnables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources. The Safe Browsing APIs are for non-commercial use only. If you need to use APIs to detect malicious URLs for commercial purposes – meaning “for sale or revenue-generating purposes” – please refer to the Web Risk API.
Web Fonts Developer API
AnalyticsThe Google Web Fonts Developer API lets you retrieve information about web fonts served by Google.
Listed from APIs.guru (CC0).