Method: inappproducts.list
Stay organized with collections
Save and categorize content based on your preferences.
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 case the response field tokenPagination.nextPageToken
will be set and the caller should provide its value as a token
request parameter to retrieve the next page.
This method should no longer be used to retrieve subscriptions. See this article
for more information.
HTTP request
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/inappproducts
The URL uses gRPC Transcoding
syntax.
Path parameters
Parameters |
packageName
|
string
Package name of the app.
|
Query parameters
Parameters |
token
|
string
Pagination token. If empty, list starts at the first product.
|
startIndex (deprecated)
|
integer ( uint32
format)
Deprecated and ignored. Set the token
parameter to retrieve the next page.
|
maxResults (deprecated)
|
integer ( uint32
format)
Deprecated and ignored. The page size is determined by the server.
|
Request body
The request body must be empty.
Response body
Response listing all in-app products.
If successful, the response body contains data with the following structure:
Fields |
kind
|
string
The kind of this response ("androidpublisher#inappproductsListResponse").
|
inappproduct[]
|
object ( InAppProduct
)
All in-app products.
|
tokenPagination
|
object ( TokenPagination
)
Pagination token, to handle a number of products that is over one page.
|
pageInfo (deprecated)
|
object ( PageInfo
)
Deprecated and unset.
|
Authorization scopes
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/androidpublisher
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-21 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-21 UTC."],[[["\u003cp\u003eLists all in-app products for an application, including both managed products and subscriptions, with pagination for large datasets.\u003c/p\u003e\n"],["\u003cp\u003eIt is recommended to utilize the \u003ccode\u003etoken\u003c/code\u003e parameter for pagination instead of the deprecated \u003ccode\u003estartIndex\u003c/code\u003e and \u003ccode\u003emaxResults\u003c/code\u003e parameters.\u003c/p\u003e\n"],["\u003cp\u003eThis method should no longer be used to retrieve subscriptions, and developers should refer to the provided article for alternative methods.\u003c/p\u003e\n"],["\u003cp\u003eRequires authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e scope for access.\u003c/p\u003e\n"],["\u003cp\u003eThe response provides details about the in-app products, pagination information, and overall response structure in JSON format.\u003c/p\u003e\n"]]],["This API retrieves a list of in-app products (managed products and subscriptions) via a `GET` request to `https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/inappproducts`. Specify the app's package name in the path. Pagination is handled through the `token` query parameter; if the response includes `tokenPagination.nextPageToken`, use its value to retrieve the next page. The request body must be empty, and authorization requires the `androidpublisher` OAuth scope. Subscriptions should not be retrieved with this method anymore.\n"],null,["# Method: inappproducts.list\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n - [JSON representation](#body.InappproductsListResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nLists all in-app products - both managed products and subscriptions.\n\nIf an app has a large number of in-app products, the response may be paginated. In this case the response field `tokenPagination.nextPageToken` will be set and the caller should provide its value as a `token` request parameter to retrieve the next page.\n\nThis method should no longer be used to retrieve subscriptions. See [this article](https://android-developers.googleblog.com/2023/06/changes-to-google-play-developer-api-june-2023.html) for more information.\n\n### HTTP request\n\n`GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/inappproducts`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|-----------------------------------|\n| `packageName` | `string` Package name of the app. |\n\n### Query parameters\n\n| Parameters ||\n|-------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `token` | `string` Pagination token. If empty, list starts at the first product. |\n| `startIndex` **(deprecated)** | `integer (`[uint32](https://developers.google.com/discovery/v1/type-format)` format)` Deprecated and ignored. Set the `token` parameter to retrieve the next page. |\n| `maxResults` **(deprecated)** | `integer (`[uint32](https://developers.google.com/discovery/v1/type-format)` format)` Deprecated and ignored. The page size is determined by the server. |\n\n### Request body\n\nThe request body must be empty.\n\n### Response body\n\nResponse listing all in-app products.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"kind\": string, \"inappproduct\": [ { object (/android-publisher/api-ref/rest/v3/inappproducts#InAppProduct) } ], \"tokenPagination\": { object (/android-publisher/api-ref/rest/v3/TokenPagination) }, \"pageInfo\": { object (/android-publisher/api-ref/rest/v3/PageInfo) } } ``` |\n\n| Fields ||\n|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `kind` | `string` The kind of this response (\"androidpublisher#inappproductsListResponse\"). |\n| `inappproduct[]` | `object (`[InAppProduct](/android-publisher/api-ref/rest/v3/inappproducts#InAppProduct)`)` All in-app products. |\n| `tokenPagination` | `object (`[TokenPagination](/android-publisher/api-ref/rest/v3/TokenPagination)`)` Pagination token, to handle a number of products that is over one page. |\n| `pageInfo` **(deprecated)** | `object (`[PageInfo](/android-publisher/api-ref/rest/v3/PageInfo)`)` | This item is deprecated! Deprecated and unset. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]