# How do I get app reviews from Google Play and App Store?

With the new [App Data API,](https://docs.dataforseo.com/v3/app_data/overview/) you can easily collect reviews on any mobile application published on Google Play or App Store. To do that, use the [Google App Reviews](https://docs.dataforseo.com/v3/app_data/google/app_reviews/task_post/) and [Apple App Reviews](https://docs.dataforseo.com/v3/app_data/apple/app_reviews/task_post/) endpoints.

#### Collecting reviews from Google Play

1. Call the Google App Reviews Task POST endpoint.

`POST https://api.dataforseo.com/v3/app_data/google/app_reviews/task_post`

2. Specify the ID of the app you wish to collect reviews on in the `app_id` field.

The `app_id` parameter can be found on the Google Play website as a part of the URL pointing to a specific mobile application. For example, here is the URL of the Telegram app on Google Play:

`https://play.google.com/store/apps/details?id=org.telegram.messenger`

The `app_id` of this app is `org.telegram.messenger`

3. Specify the location parameters by adding the `location_name` or `location_code` field to the POST body.

You will receive the full list of available locations by making a separate request to the [Locations endpoint.](https://docs.dataforseo.com/v3/app_data/google/locations/?bash)

`GET https://api.dataforseo.com/v3/app_data/google/locations`

4. Specify the language parameters by adding the `language_name` or `language_code` field to the POST body.

You will receive the full list of available languages by making a separate request to the [Languages endpoint.](https://docs.dataforseo.com/v3/app_data/google/languages)

`GET https://api.dataforseo.com/v3/app_data/google/languages`

5. Specify the number of reviews to be returned in the API response. To do that, add the `depth` parameter and set it to the desired value.

**We strongly recommend** setting the parsing depth in the multiples of 150 as our system processes 150 reviews in a row. Thus, if you specify `depth` as `151` you will be charged for 300 reviews.

Default `depth` value: 150.

Maximum `depth` value: 5000.

6. You can also filter reviews by rating by adding the `rating` parameter. It can take the following values:
  - `5` — return reviews with five-star rating only;
  - `4` — return reviews with four-star rating only;
  - `3` — return reviews with three-star rating only;
  - `2` — return reviews with two-star rating only;
  - `1` — return reviews with one-star rating only.

By default, the API returns all reviews regardless of the number of stars they have.

7. In addition to that, you can sort the results with the `sort_by` parameter. Possible values:
  - `newest` — sort by the most recent reviews;
  - `most_relevant` — sort by the most relevant reviews;
  - `rating` — sort by rating.

Default rule: `most_relevant`

Your POST request should be structured as in the following example:

``
[
    {
        "app_id": "org.telegram.messenger",
        "location_code": 2840,
        "language_code": "en",
        "depth": 150,
        "rating": 5
    }
]
``

8. Send your request and use the Task ID from the response to retrieve the results from the [Google App Reviews Task GET Advanced](https://docs.dataforseo.com/v3/app_data/google/app_reviews/task_get/advanced/) endpoint.

`GET https://api.dataforseo.com/v3/app_data/google/app_reviews/task_get/advanced/$id`

In the API response, you will find reviews for the specified application along with review ratings, review content, user profile info of each reviewer, review publication dates, and more data.

#### Collecting reviews from App Store

1. Call the Apple App Reviews Task POST endpoint.

`POST https://api.dataforseo.com/v3/app_data/apple/app_reviews/task_post`

2. Specify the ID of the app you wish to collect reviews on in the `app_id` field.

The `app_id` parameter can be found on the App Store website as a part of the URL pointing to a specific mobile application. For example, here is the URL of the Telegram app on App Store:

`https://apps.apple.com/us/app/telegram-messenger/id686449807`

The `app_id` of this app is `686449807`

3. Specify the location parameters by adding the `location_name` or `location_code` field to the POST body.

You will receive the full list of available locations by making a separate request to the [Locations endpoint.](https://docs.dataforseo.com/v3/app_data/apple/locations/?bash)

`GET https://api.dataforseo.com/v3/app_data/apple/locations`

4. Specify the language parameters by adding the `language_name` or `language_code` field to the POST body.

You will receive the full list of available languages by making a separate request to the [Languages endpoint.](https://docs.dataforseo.com/v3/app_data/apple/languages)

`GET https://api.dataforseo.com/v3/app_data/apple/languages`

5. Specify the number of reviews to be returned in the API response. To do that, add the `depth` parameter and set it to the desired value.

**We strongly recommend** setting the parsing depth in the multiples of 50 as our system processes 50 reviews in a row. Thus, if you specify `depth` as `51` you will be charged for 100 reviews.

Default `depth` value: 50.

Maximum `depth` value: 500.

6. You can also sort the results with the `sort_by` parameter. Possible values:
  - `most_recent` — sort by the most recent reviews;
  - `most_helpful` — sort by the most relevant/helpful reviews.

Default rule: `most_helpful`

Your POST request should be structured as in the following example:

``
[
    {
        "app_id": "686449807",
        "location_code": 2840,
        "language_code": "en",
        "depth": 50
    }
]
``

7. Send your request and use the Task ID from the response to retrieve the results from the [Apple App Reviews Task GET Advanced](https://docs.dataforseo.com/v3/app_data/apple/app_reviews/task_get/advanced/) endpoint.

`GET https://api.dataforseo.com/v3/app_data/apple/app_reviews/task_get/advanced/$id`
