parse-play - v3.1.0
- AppDetailsOptions
- AppDetailsRequest
- AppDetailsResult
- AppMetadata
- AppMetadataFull
- AppMetadataProperty
- AppMetadataPropertyFetchAppDetails
- AppMetadataPropertySearch
- AppMetadataPropertyTopCharts
- CategoryId
- CountryCode
- DataSafetyLabel
- DataSafetyLabelDataCategory
- DataSafetyLabelDataType
- DataSafetyLabelPurpose
- DataSafetyLabelRequest
- DataSafetyLabelSecurityPracticesDeclarations
- DataSafetyLabelsOptions
- DataTypeDeclaration
- LanguageCode
- PermissionGroup
- SearchAppsOptions
- SearchAppsRequest
- SearchAppsResults
- TopChartsEntry
- TopChartsOptions
- TopChartsRequest
- TopChartsResult
- dataSafetyLabelDataCategories
- dataSafetyLabelDataTypes
- dataSafetyLabelPurposes
- fetchAppDetailsMetadataProperties
- searchAppMetadataProperties
- topChartsAppMetadataProperties
Ƭ AppDetailsOptions: Object
Parameters for all fetch app details requests in a fetchAppDetails call.
Name | Type | Description |
---|---|---|
country |
CountryCode |
The country version of the Play Store to fetch from. |
language |
LanguageCode |
The language for descriptions, etc. |
Ƭ AppDetailsRequest: Object
Parameters for a fetch app details request.
Name | Type | Description |
---|---|---|
appId |
string |
The app ID. |
Ƭ AppDetailsResult: AppMetadata
<AppMetadataPropertyFetchAppDetails
>
The result of a fetch app details request.
Ƭ AppMetadata<P
>: Pick
<AppMetadataFull
, P
>
The metadata for a single app. The available properties depend on which endpoint this was fetched from.
Name | Type |
---|---|
P |
extends AppMetadataProperty |
Ƭ AppMetadataFull: Object
The full metadata that can theoretically be fetched for an app. The individual endpoints will only return a subset of this, see AppMetadata.
Name | Type | Description |
---|---|---|
app_id |
string |
The app's bundle ID. |
buy_url |
string | undefined |
A URL to the Play Store website to buy the app. |
category |
string |
The app's main category. |
content_rating? |
{ icon_url : string ; interactive_elements? : string ; label : string } |
The app's content rating. |
content_rating.icon_url |
string |
The URL to an icon for the content rating. |
content_rating.interactive_elements? |
string |
A description of interactive elements in the app. |
content_rating.label |
string |
The label for the content rating. |
cover_image_url |
string | undefined |
A URL to the app's cover image. |
data_collected |
DataTypeDeclaration [] | undefined |
An overview of the data the app may collect. |
data_shared |
DataTypeDeclaration [] | undefined |
An overview of the data that the app may share with other companies or organizations. |
description |
string |
The app's description. |
developer |
string |
The app's developer. |
developer_address |
string | undefined |
The developer's address. |
developer_email |
string |
The developer's email address. |
developer_path |
string |
The relative path of the developer's page on the Play Store website. |
developer_website_url |
string | undefined |
The URL to the developer's website. |
downloads |
string |
The approximate download count of the app as a string, as displayed on the Play Store website. |
downloads_exact |
number |
The exact download count of the app. |
icon_url |
string |
A URL to the app's icon. |
in_app_purchases? |
string |
The cost of in-app purchases for the app. |
name |
string |
The app's name. |
offered_by |
string |
The company distributing the app on the Play Store. |
permissions |
PermissionGroup [] |
The app's permissions, grouped by category. |
position |
number |
The app's position in a list (top chart, search results). |
price |
string | undefined |
The app's price. Can be undefined for pre-release apps. |
privacy_policy_url |
string | undefined |
The URL to the app's privacy policy. |
rating |
number | undefined |
The app's review rating. |
rating_counts |
{ 1 : number ; 2 : number ; 3 : number ; 4 : number ; 5 : number ; total : number } |
The number of each rating the app has received. |
rating_counts.1 |
number |
The number of 1-star ratings. |
rating_counts.2 |
number |
The number of 2-star ratings. |
rating_counts.3 |
number |
The number of 3-star ratings. |
rating_counts.4 |
number |
The number of 4-star ratings. |
rating_counts.5 |
number |
The number of 5-star ratings. |
rating_counts.total |
number |
The total number of ratings. |
released_on? |
Date |
The date when the app was first published. |
requires_android? |
{} | The app's required version of Android. |
screenshot_urls |
string [] |
URLs to screenshots of the app. |
security_practices |
DataSafetyLabelSecurityPracticesDeclarations | undefined |
An overview of the app's security practices. |
store_path |
string |
The relative path of the app on the Play Store website. |
tags? |
{ id? : string ; name : string ; path : string } |
A list of the app's categories and related search terms. |
tags.id? |
string |
A machine-readable ID for the tag. |
tags.name |
string |
The name/label of the tag. |
tags.path |
string |
The relative path of the category/search page on the Play Store website. |
top_chart_placement? |
{ label : string ; placement : string } |
The app's placement on a top chart. |
top_chart_placement.label |
string |
The label for the placement. |
top_chart_placement.placement |
string |
The app's position in the top chart. |
trailer_url |
string | undefined |
A URL to a video trailer for the app. |
updated_on |
Date |
The date when the app was last updated. |
version? |
string |
The app's version. |
Ƭ AppMetadataProperty: keyof AppMetadataFull
A property that can be present in the metadata of an app.
Ƭ AppMetadataPropertyFetchAppDetails: typeof fetchAppDetailsMetadataProperties
[number
]
A property present when fetching app details.
Ƭ AppMetadataPropertySearch: typeof searchAppMetadataProperties
[number
]
A property present in the metadata of each app in the search results.
Ƭ AppMetadataPropertyTopCharts: typeof topChartsAppMetadataProperties
[number
]
A property present in the metadata of each app in the top chart.
Ƭ CategoryId: keyof typeof categories
The ID of a category on the Play Store.
Ƭ CountryCode: keyof typeof countries
The country code of a country supported on the Play Store.
Ƭ DataSafetyLabel: Object
An app's data safety label.
deprecated
The separate function for fetching data safety labels is deprecated and will be removed in a future
release. Instead, you can use the fetchAppDetails function to fetch an app's metadata, which includes the
data safety label.
Name | Type | Description |
---|---|---|
app_id |
string |
The app's bundle ID. |
data_collected |
DataTypeDeclaration [] | undefined |
An overview of the data the app may collect. |
data_shared |
DataTypeDeclaration [] | undefined |
An overview of the data that the app may share with other companies or organizations. |
developer |
{ address : string | undefined ; email : string ; name : string ; path : string ; website_url : string | undefined } |
Data about the app's developer. |
developer.address |
string | undefined |
The developer's address. |
developer.email |
string |
The developer's email address. |
developer.name |
string |
The developer's name |
developer.path |
string |
The relative path of the developer's page on the Play Store website. |
developer.website_url |
string | undefined |
The URL to the developer's website. |
icon_url |
string |
The URL to the app's icon. |
name |
string |
The app's name. |
privacy_policy_url |
string | undefined |
The URL to the app's privacy policy. |
security_practices |
DataSafetyLabelSecurityPracticesDeclarations | undefined |
An overview of the app's security practices. |
Ƭ DataSafetyLabelDataCategory: typeof dataSafetyLabelDataCategories
[number
]
A category that groups multiple related data types in a data safety label.
Ƭ DataSafetyLabelDataType: typeof dataSafetyLabelDataTypes
[number
]
A type of data that can be declared in a data safety label.
Ƭ DataSafetyLabelPurpose: typeof dataSafetyLabelPurposes
[number
]
A purpose for which data collection or sharing can be declared in a data safety label.
Ƭ DataSafetyLabelRequest: Object
Parameters for a single data safety label request.
deprecated
The separate function for fetching data safety labels is deprecated and will be removed in a future
release. Instead, you can use the fetchAppDetails function to fetch an app's metadata, which includes the
data safety label.
Name | Type | Description |
---|---|---|
app_id |
string |
The app's bundle ID. |
Ƭ DataSafetyLabelSecurityPracticesDeclarations: Object
An app's declared security practices in a data safety label.
Name | Type | Description |
---|---|---|
can_request_data_deletion |
boolean | undefined |
Whether the app provides a way for users to request deletion of their data. |
committed_to_play_families_policy |
boolean | undefined |
Whether the developer has reviewed the app's compliance with Google Play's Families policy requirements (only for applicable apps). |
data_encrypted_in_transit |
boolean | undefined |
Whether data collected or shared by the app uses encryption in transit. |
independent_security_review |
boolean | undefined |
Whether the app has been independently validated against a global security standard. |
Ƭ DataSafetyLabelsOptions: Object
Parameters for all data safety label requests in a fetchDataSafetyLabels call.
Name | Type | Description |
---|---|---|
language |
LanguageCode |
The language for descriptions, etc. |
Ƭ DataTypeDeclaration: Object
An app's declaration for a single data type in a data safety label.
Name | Type | Description |
---|---|---|
category |
DataSafetyLabelDataCategory |
The category the data type fits into. |
optional |
boolean |
Whether the data type is marked as optional. |
purposes |
DataSafetyLabelPurpose [] |
The purposes for which the data type is collected or shared. |
type |
DataSafetyLabelDataType |
The data type. |
Ƭ LanguageCode: keyof typeof languages
The language code of a language supported on the Play Store.
Ƭ PermissionGroup: Object
A group of related permissions the app has access to.
Name | Type | Description |
---|---|---|
icon_url? |
string |
The URL to the group's icon. |
id? |
string |
A machine-readable ID for the group. |
name? |
string |
The name/label of the group. |
permissions |
string [] |
The detailed permissions in this group the app has access to. |
Ƭ SearchAppsOptions: Object
Parameters for all search apps requests in a searchApps call.
Name | Type | Description |
---|---|---|
country |
CountryCode |
The country version of the Play Store to search in. |
language |
LanguageCode |
The language for descriptions, etc. |
Ƭ SearchAppsRequest: Object
Parameters for a search apps request.
Name | Type | Description |
---|---|---|
searchTerm |
string |
The term to search for. |
Ƭ SearchAppsResults: AppMetadata
<AppMetadataPropertySearch
>[]
A list of the search results.
Ƭ TopChartsEntry: AppMetadata
<AppMetadataPropertyTopCharts
>
A single app and its associated metadata on a top chart.
Ƭ TopChartsOptions: Object
Parameters for all top charts requests in a fetchTopCharts call.
Name | Type | Description |
---|---|---|
country |
CountryCode |
The country for which to fetch the top chart(s). |
language |
LanguageCode |
The language for descriptions, etc. |
Ƭ TopChartsRequest: Object
Parameters for a single top charts request.
Name | Type | Description |
---|---|---|
category |
CategoryId |
The category to use. Use APPLICATION for all apps, or GAME for all games, or one of the subcategory. |
chart |
"topselling_free" | "topgrossing" | "topselling_paid" |
The chart to use, where topselling_free : Top free (or Top for €0, Top for $0, depending on the country); topgrossing : Top grossing; topselling_paid : Top selling. |
count |
number |
The number of apps to include in the top list. This seems to be limited to 660 apps. |
Ƭ TopChartsResult: TopChartsEntry
[]
A list of the entries on the respective top chart.
• Const
dataSafetyLabelDataCategories: readonly ["App activity"
, "App info and performance"
, "Audio files"
, "Calendar"
, "Contacts"
, "Device or other IDs"
, "Files and docs"
, "Financial info"
, "Health and fitness"
, "Location"
, "Messages"
, "Personal info"
, "Photos and videos"
, "Web browsing"
]
The categories that group multiple related data types in a data safety label.
Taken from the official documentation: https://web.archive.org/web/20220701122426/https://support.google.com/googleplay/android-developer/answer/10787469#zippy=%2Cdata-types
• Const
dataSafetyLabelDataTypes: readonly ["Approximate location"
, "Precise location"
, "Name"
, "Email address"
, "User IDs"
, "Address"
, "Phone number"
, "Race and ethnicity"
, "Political or religious beliefs"
, "Sexual orientation"
, "Other info"
, "User payment info"
, "Purchase history"
, "Credit score"
, "Other financial info"
, "Health info"
, "Fitness info"
, "Emails"
, "SMS or MMS"
, "Other in-app messages"
, "Photos"
, "Videos"
, "Voice or sound recordings"
, "Music files"
, "Other audio files"
, "Files and docs"
, "Calendar events"
, "Contacts"
, "App interactions"
, "In-app search history"
, "Installed apps"
, "Other user-generated content"
, "Other actions"
, "Web browsing history"
, "Crash logs"
, "Diagnostics"
, "Other app performance data"
, "Device or other IDs"
]
The types of data that can be declared in a data safety label.
Taken from the official documentation: https://web.archive.org/web/20220701122426/https://support.google.com/googleplay/android-developer/answer/10787469#zippy=%2Cdata-types
• Const
dataSafetyLabelPurposes: readonly ["App functionality"
, "Analytics"
, "Developer communications"
, "Advertising or marketing"
, "Fraud prevention, security, and compliance"
, "Personalization"
, "Account management"
]
The purposes for which data collection or sharing can be declared in a data safety label.
Taken from the official documentation: https://web.archive.org/web/20220701122426/https://support.google.com/googleplay/android-developer/answer/10787469#zippy=%2Cpurposes
• Const
fetchAppDetailsMetadataProperties: readonly ["app_id"
, "name"
, "content_rating"
, "released_on"
, "downloads"
, "downloads_exact"
, "in_app_purchases"
, "offered_by"
, "rating"
, "rating_counts"
, "price"
, "buy_url"
, "top_chart_placement"
, "developer"
, "developer_path"
, "developer_website_url"
, "developer_email"
, "developer_address"
, "description"
, "permissions"
, "screenshot_urls"
, "category"
, "icon_url"
, "cover_image_url"
, "privacy_policy_url"
, "trailer_url"
, "tags"
, "data_shared"
, "data_collected"
, "security_practices"
, "version"
, "requires_android"
, "updated_on"
]
The properties present when fetching app details.
• Const
searchAppMetadataProperties: readonly ["position"
, "app_id"
, "icon_url"
, "screenshot_urls"
, "name"
, "rating"
, "category"
, "price"
, "buy_url"
, "store_path"
, "trailer_url"
, "description"
, "developer"
, "downloads"
, "cover_image_url"
]
The properties present in the metadata of each app in the search results.
• Const
topChartsAppMetadataProperties: readonly ["position"
, "app_id"
, "icon_url"
, "screenshot_urls"
, "name"
, "rating"
, "category"
, "price"
, "buy_url"
, "store_path"
, "trailer_url"
, "description"
, "developer"
, "downloads"
, "cover_image_url"
]
The properties present in the metadata of each app in the top chart.
▸ fetchAppDetails(request
, options
): Promise
<AppDetailsResult
>
Fetch the details/metadata of an app on the Google Play Store.
This uses the Play Store's internal batchexecute
endpoint with an RPC ID of Ws7gDc
.
Name | Type | Description |
---|---|---|
request |
AppDetailsRequest | [AppDetailsRequest ] |
The parameters of which app to fetch the details of. |
options |
AppDetailsOptions |
Language and country options. |
Promise
<AppDetailsResult
>
The app details.
▸ fetchAppDetails(requests
, options
): Promise
<AppDetailsResult
[]>
Same as fetchAppDetails but for fetching the details of multiple apps at once. The details are all fetched in a single API request.
see
fetchAppDetails
Name | Type | Description |
---|---|---|
requests |
AppDetailsRequest [] |
An array of fetch app details requests. |
options |
AppDetailsOptions |
The options for all requests. |
Promise
<AppDetailsResult
[]>
An array of the app details, in the same order as the requests.
▸ fetchDataSafetyLabels(request
, options
): Promise
<DataSafetyLabel
| undefined
>
Fetch and parse the given app's data safety label from the Google Play Store.
This uses the Play Store's internal batchexecute
endpoint with an RPC ID of Ws7gDc
.
deprecated
The separate function for fetching data safety labels is deprecated and will be removed in a future
release. Instead, you can use the fetchAppDetails function to fetch an app's metadata, which includes the
data safety label.
Name | Type | Description |
---|---|---|
request |
DataSafetyLabelRequest | [DataSafetyLabelRequest ] |
The parameters for which app to fetch. |
options |
DataSafetyLabelsOptions |
Language options. |
Promise
<DataSafetyLabel
| undefined
>
The data safety label.
▸ fetchDataSafetyLabels(requests
, options
): Promise
<(DataSafetyLabel
| undefined
)[]>
Same as fetchDataSafetyLabels but for fetching multiple data safety labels at once. The data safety labels are fetched in a single API request.
deprecated
The separate function for fetching data safety labels is deprecated and will be removed in a future
release. Instead, you can use the fetchAppDetails function to fetch an app's metadata, which includes the
data safety label.
Name | Type | Description |
---|---|---|
requests |
DataSafetyLabelRequest [] |
An array of data safety label requests. |
options |
DataSafetyLabelsOptions |
The options for all requests. |
Promise
<(DataSafetyLabel
| undefined
)[]>
An array of the data safety labels, in the same order as the requests.
▸ fetchTopCharts(request
, options
): Promise
<TopChartsResult
| undefined
>
Fetch and parse the current top chart rankings from the Play Store for the given criteria.
This uses the Play Store's internal batchexecute
endpoint with an RPC ID of vyAe2
.
Name | Type | Description |
---|---|---|
request |
TopChartsRequest | [TopChartsRequest ] |
The parameters for which top chart to fetch. |
options |
TopChartsOptions |
Language and country options. |
Promise
<TopChartsResult
| undefined
>
The top chart.
▸ fetchTopCharts(requests
, options
): Promise
<(TopChartsResult
| undefined
)[]>
Same as fetchTopCharts but for fetching multiple top charts at once. The top charts are fetched in a single API request.
see
fetchTopCharts
Name | Type | Description |
---|---|---|
requests |
TopChartsRequest [] |
An array of top chart requests. |
options |
TopChartsOptions |
The options for all requests. |
Promise
<(TopChartsResult
| undefined
)[]>
An array of the top charts, in the same order as the requests.
▸ parseAppEntry<P
>(entry
, properties
, options
): AppMetadata
<P
>
Parse an app entry in a search or top chart response.
Name | Type |
---|---|
P |
extends keyof AppMetadataFull |
Name | Type |
---|---|
entry |
any |
properties |
P [] | readonly P [] |
options |
Object |
AppMetadata
<P
>
▸ searchApps(request
, options
): Promise
<SearchAppsResults
| undefined
>
Search for apps on the Google Play Stroe.
This uses the Play Store's internal batchexecute
endpoint with an RPC ID of lGYRle
.
Name | Type | Description |
---|---|---|
request |
SearchAppsRequest | [SearchAppsRequest ] |
The parameters for what to search for. |
options |
SearchAppsOptions |
Language options. |
Promise
<SearchAppsResults
| undefined
>
The search results.
▸ searchApps(requests
, options
): Promise
<(SearchAppsResults
| undefined
)[]>
Same as searchApps but for doing multiple searches at once. The search results are fetched in a single API request.
see
searchApps
Name | Type | Description |
---|---|---|
requests |
SearchAppsRequest [] |
An array of search apps requests. |
options |
SearchAppsOptions |
The options for all requests. |
Promise
<(SearchAppsResults
| undefined
)[]>
An array of the search results, in the same order as the requests.