Skip to main content
Glama

AIsa App Store Data

Setting Google App Reviews Tasks

post_dataforseo_app_google_app_reviews_submit
Destructive

‌‌ This endpoint will provide you with reviews published on the Google Play platform for the app specified in the app_id field. The returned results are specific to the indicated language and location parameters.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / body / items / oneOf
      Previous value: -[
      -  {
      -    "example": [
      -      {
      -        "app_id": "org.telegram.messenger",
      -        "depth": 150,
      -        "language_code": "en",
      -        "location_code": 2840
      -      }
      -    ],
      -    "properties": {
      -      "app_id": {
      -        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      -        "type": "string"
      -      },
      -      "depth": {
      -        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "language_code": {
      -        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      -        "type": "string"
      -      },
      -      "language_name": {
      -        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      -        "type": "string"
      -      },
      -      "location_code": {
      -        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      -        "type": "integer"
      -      },
      -      "location_name": {
      -        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      -        "type": "string"
      -      },
      -      "pingback_url": {
      -        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "postback_data": {
      -        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      -        "type": "string"
      -      },
      -      "postback_url": {
      -        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "priority": {
      -        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "rating": {
      -        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "sort_by": {
      -        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "app_id": {
      +        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      +        "type": "string"
      +      },
      +      "depth": {
      +        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "language_code": {
      +        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      +        "type": "integer"
      +      },
      +      "location_name": {
      +        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      +        "type": "string"
      +      },
      +      "pingback_url": {
      +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "postback_data": {
      +        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      +        "type": "string"
      +      },
      +      "postback_url": {
      +        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "priority": {
      +        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "rating": {
      +        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "sort_by": {
      +        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "app_id": "org.telegram.messenger",
      -        "depth": 150,
      -        "language_code": "en",
      -        "location_code": 2840
      -      }
      -    ],
      -    "properties": {
      -      "app_id": {
      -        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      -        "type": "string"
      -      },
      -      "depth": {
      -        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "language_code": {
      -        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      -        "type": "string"
      -      },
      -      "language_name": {
      -        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      -        "type": "string"
      -      },
      -      "location_code": {
      -        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      -        "type": "integer"
      -      },
      -      "location_name": {
      -        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      -        "type": "string"
      -      },
      -      "pingback_url": {
      -        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "postback_data": {
      -        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      -        "type": "string"
      -      },
      -      "postback_url": {
      -        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "priority": {
      -        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "rating": {
      -        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "sort_by": {
      -        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / oneOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "app_id": "org.telegram.messenger",
      +        "depth": 150,
      +        "language_code": "en",
      +        "location_code": 2840
      +      }
      +    ],
      +    "properties": {
      +      "app_id": {
      +        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      +        "type": "string"
      +      },
      +      "depth": {
      +        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "language_code": {
      +        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      +        "type": "integer"
      +      },
      +      "location_name": {
      +        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      +        "type": "string"
      +      },
      +      "pingback_url": {
      +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "postback_data": {
      +        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      +        "type": "string"
      +      },
      +      "postback_url": {
      +        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "priority": {
      +        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "rating": {
      +        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "sort_by": {
      +        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  3. Changed8 schema fields changed
    • addedInput schema / properties / body / example
      Added value: +[
      +  {
      +    "app_id": "org.telegram.messenger",
      +    "depth": 150,
      +    "language_code": "en",
      +    "location_code": 2840
      +  }
      +]
    • removedInput schema / properties / body / items / allOf
      Removed value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "required": [
      -          "location_name"
      -        ]
      -      },
      -      {
      -        "required": [
      -          "location_code"
      -        ]
      -      }
      -    ]
      -  },
      -  {
      -    "anyOf": [
      -      {
      -        "required": [
      -          "language_name"
      -        ]
      -      },
      -      {
      -        "required": [
      -          "language_code"
      -        ]
      -      }
      -    ]
      -  },
      -  {
      -    "anyOf": [
      -      {
      -        "not": {
      -          "required": [
      -            "postback_url"
      -          ]
      -        }
      -      },
      -      {
      -        "required": [
      -          "postback_data"
      -        ]
      -      }
      -    ]
      -  }
      -]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "app_id": "org.telegram.messenger",
      +        "depth": 150,
      +        "language_code": "en",
      +        "location_code": 2840
      +      }
      +    ],
      +    "properties": {
      +      "app_id": {
      +        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      +        "type": "string"
      +      },
      +      "depth": {
      +        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "language_code": {
      +        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      +        "type": "integer"
      +      },
      +      "location_name": {
      +        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      +        "type": "string"
      +      },
      +      "pingback_url": {
      +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "postback_data": {
      +        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      +        "type": "string"
      +      },
      +      "postback_url": {
      +        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "priority": {
      +        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "rating": {
      +        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "sort_by": {
      +        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "app_id": {
      -    "description": "id of the app required field ID of the mobile application on Google Play; you can find the ID in the URL of every app listed on Google Play; example: https://play.google.com/store/apps/details?id=org.telegram.messenger",
      -    "type": "string"
      -  },
      -  "depth": {
      -    "description": "parsing depth optional field number of reviews to be returned in the API response; we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row; default value: 150; maximum value: 100000; Your account will be billed per each SERP containing up to 150 results; Setting depth above 150 may result in additional charges if the search engine returns more than 150 results.",
      -    "type": "integer"
      -  },
      -  "language_code": {
      -    "description": "search engine language code required field if you don’t specify language_name if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/app_data/google/languages example: en",
      -    "type": "string"
      -  },
      -  "language_name": {
      -    "description": "full name of search engine language required field if you don’t specify language_code if you use this field, you don’t need to specify language_code you can receive the list of available languages with language_name by making a separate request to https://api.dataforseo.com/v3/app_data/google/languages example: English",
      -    "type": "string"
      -  },
      -  "location_code": {
      -    "description": "search engine location code required field if you don’t specify location_name if you use this field, you don’t need to specify location_name you can receive the list of available locations of the search engine with their location_code by making a separate request to https://api.dataforseo.com/v3/app_data/google/locations example: 9061121",
      -    "type": "integer"
      -  },
      -  "location_name": {
      -    "description": "full name of search engine location required field if you don’t specify location_code if you use this field, you don’t need to specify location_code you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/app_data/google/locations example: West Los Angeles,California,United States",
      -    "type": "string"
      -  },
      -  "pingback_url": {
      -    "description": "notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23",
      -    "type": "string"
      -  },
      -  "postback_data": {
      -    "description": "postback_url datatype required field if you specify postback_url corresponds to the datatype that will be sent to your server possible values: advanced, html",
      -    "type": "string"
      -  },
      -  "postback_url": {
      -    "description": "URL for sending task results optional field once the task is completed, we will send a POST request with its results compressed in the gzip format to the postback_url you specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag Note: special characters in postback_url will be urlencoded; i.a., the # character will be encoded into %23",
      -    "type": "string"
      -  },
      -  "priority": {
      -    "description": "task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priority You will be additionally charged for the tasks with high execution priority.",
      -    "type": "integer"
      -  },
      -  "rating": {
      -    "description": "filter reviews by rating optional field you can use this field to filter the results; possible types of filtering: 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",
      -    "type": "integer"
      -  },
      -  "sort_by": {
      -    "description": "results sorting parameters optional field you can use this field to sort the results; possible types of sorting: newest — sort by the most recent reviews; most_relevant — sort by the most relevant reviews; default rule: most_relevant",
      -    "type": "string"
      -  },
      -  "tag": {
      -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "app_id"
      -]
    • changedInput schema / properties / body / items / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "body"
      -]New value: +[]
    • addedOutput schema / x-fastmcp-wrap-result
      Added value: +true
  4. Changed8 schema fields changed
    • removedInput schema / properties / body / example
      Removed value: -[
      -  {
      -    "app_id": "org.telegram.messenger",
      -    "depth": 150,
      -    "language_code": "en",
      -    "location_code": 2840
      -  }
      -]
    • addedInput schema / properties / body / items / allOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "required": [
      +          "location_name"
      +        ]
      +      },
      +      {
      +        "required": [
      +          "location_code"
      +        ]
      +      }
      +    ]
      +  },
      +  {
      +    "anyOf": [
      +      {
      +        "required": [
      +          "language_name"
      +        ]
      +      },
      +      {
      +        "required": [
      +          "language_code"
      +        ]
      +      }
      +    ]
      +  },
      +  {
      +    "anyOf": [
      +      {
      +        "not": {
      +          "required": [
      +            "postback_url"
      +          ]
      +        }
      +      },
      +      {
      +        "required": [
      +          "postback_data"
      +        ]
      +      }
      +    ]
      +  }
      +]
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "app_id": "org.telegram.messenger",
      -        "depth": 150,
      -        "language_code": "en",
      -        "location_code": 2840
      -      }
      -    ],
      -    "properties": {
      -      "app_id": {
      -        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      -        "type": "string"
      -      },
      -      "depth": {
      -        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "language_code": {
      -        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      -        "type": "string"
      -      },
      -      "language_name": {
      -        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      -        "type": "string"
      -      },
      -      "location_code": {
      -        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      -        "type": "integer"
      -      },
      -      "location_name": {
      -        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      -        "type": "string"
      -      },
      -      "pingback_url": {
      -        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "postback_data": {
      -        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      -        "type": "string"
      -      },
      -      "postback_url": {
      -        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "priority": {
      -        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "rating": {
      -        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "sort_by": {
      -        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / properties
      Added value: +{
      +  "app_id": {
      +    "description": "id of the app required field ID of the mobile application on Google Play; you can find the ID in the URL of every app listed on Google Play; example: https://play.google.com/store/apps/details?id=org.telegram.messenger",
      +    "type": "string"
      +  },
      +  "depth": {
      +    "description": "parsing depth optional field number of reviews to be returned in the API response; we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row; default value: 150; maximum value: 100000; Your account will be billed per each SERP containing up to 150 results; Setting depth above 150 may result in additional charges if the search engine returns more than 150 results.",
      +    "type": "integer"
      +  },
      +  "language_code": {
      +    "description": "search engine language code required field if you don’t specify language_name if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/app_data/google/languages example: en",
      +    "type": "string"
      +  },
      +  "language_name": {
      +    "description": "full name of search engine language required field if you don’t specify language_code if you use this field, you don’t need to specify language_code you can receive the list of available languages with language_name by making a separate request to https://api.dataforseo.com/v3/app_data/google/languages example: English",
      +    "type": "string"
      +  },
      +  "location_code": {
      +    "description": "search engine location code required field if you don’t specify location_name if you use this field, you don’t need to specify location_name you can receive the list of available locations of the search engine with their location_code by making a separate request to https://api.dataforseo.com/v3/app_data/google/locations example: 9061121",
      +    "type": "integer"
      +  },
      +  "location_name": {
      +    "description": "full name of search engine location required field if you don’t specify location_code if you use this field, you don’t need to specify location_code you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/app_data/google/locations example: West Los Angeles,California,United States",
      +    "type": "string"
      +  },
      +  "pingback_url": {
      +    "description": "notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23",
      +    "type": "string"
      +  },
      +  "postback_data": {
      +    "description": "postback_url datatype required field if you specify postback_url corresponds to the datatype that will be sent to your server possible values: advanced, html",
      +    "type": "string"
      +  },
      +  "postback_url": {
      +    "description": "URL for sending task results optional field once the task is completed, we will send a POST request with its results compressed in the gzip format to the postback_url you specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag Note: special characters in postback_url will be urlencoded; i.a., the # character will be encoded into %23",
      +    "type": "string"
      +  },
      +  "priority": {
      +    "description": "task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priority You will be additionally charged for the tasks with high execution priority.",
      +    "type": "integer"
      +  },
      +  "rating": {
      +    "description": "filter reviews by rating optional field you can use this field to filter the results; possible types of filtering: 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",
      +    "type": "integer"
      +  },
      +  "sort_by": {
      +    "description": "results sorting parameters optional field you can use this field to sort the results; possible types of sorting: newest — sort by the most recent reviews; most_relevant — sort by the most relevant reviews; default rule: most_relevant",
      +    "type": "string"
      +  },
      +  "tag": {
      +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / body / items / required
      Added value: +[
      +  "app_id"
      +]
    • changedInput schema / properties / body / items / type
      Previous value: -[
      -  "object",
      -  "null"
      -]New value: +"object"
    • changedInput schema / required
      Previous value: -[]New value: +[
      +  "body"
      +]
    • removedOutput schema / x-fastmcp-wrap-result
      Removed value: -true
  5. Changed8 schema fields changed
    • addedInput schema / properties / body / example
      Added value: +[
      +  {
      +    "app_id": "org.telegram.messenger",
      +    "depth": 150,
      +    "language_code": "en",
      +    "location_code": 2840
      +  }
      +]
    • removedInput schema / properties / body / items / allOf
      Removed value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "required": [
      -          "location_name"
      -        ]
      -      },
      -      {
      -        "required": [
      -          "location_code"
      -        ]
      -      }
      -    ]
      -  },
      -  {
      -    "anyOf": [
      -      {
      -        "required": [
      -          "language_name"
      -        ]
      -      },
      -      {
      -        "required": [
      -          "language_code"
      -        ]
      -      }
      -    ]
      -  },
      -  {
      -    "anyOf": [
      -      {
      -        "not": {
      -          "required": [
      -            "postback_url"
      -          ]
      -        }
      -      },
      -      {
      -        "required": [
      -          "postback_data"
      -        ]
      -      }
      -    ]
      -  }
      -]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "app_id": "org.telegram.messenger",
      +        "depth": 150,
      +        "language_code": "en",
      +        "location_code": 2840
      +      }
      +    ],
      +    "properties": {
      +      "app_id": {
      +        "description": "<em>id of the app</em><br><strong>required field</strong><br>ID of the mobile application on Google Play;<br>you can find the ID in the URL of every app listed on Google Play;<br>example:<br><code>https://play.google.com/store/apps/details?id=<strong>org.telegram.messenger</strong></code>",
      +        "type": "string"
      +      },
      +      "depth": {
      +        "description": "<em>parsing depth</em><br>optional field<br>number of reviews to be returned in the API response;<br>we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row;<br>default value: <code>150</code>;<br>maximum value: <code>100000</code>;<br><strong>Your account will be billed per each SERP containing up to 150 results;</strong> <br>Setting depth above 150 may result in additional charges if the search engine returns more than 150 results</a>;<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/app-data/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "language_code": {
      +        "description": "<em>search engine language code</em><br><strong>required field if you don't specify <code>language_name</code></strong><br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><em><br></em>example:<em><br></em><code class=\"long-string\">en</code>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<em>full name of search engine language</em><br><strong>required field if you don't specify <code>language_code</code></strong><br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/languages</code><br>example:<br><code class=\"long-string\">English</code>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<em>search engine location code</em><br><strong>required field if you don't specify <code>location_name</code></strong><br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">9061121</code>",
      +        "type": "integer"
      +      },
      +      "location_name": {
      +        "description": "<em>full name of search engine location</em><br><strong>required field if you don't specify <code>location_code</code></strong><br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/app_data/google/locations</code><br>example:<br><code class=\"long-string\">West Los Angeles,California,United States</code>",
      +        "type": "string"
      +      },
      +      "pingback_url": {
      +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "postback_data": {
      +        "description": "<em>postback_url datatype</em><br><strong>required field if you specify <code>postback_url</code></strong><br>corresponds to the datatype that will be sent to your server<br>possible values:<br><code>advanced</code>, <code>html</code>",
      +        "type": "string"
      +      },
      +      "postback_url": {
      +        "description": "<em>URL for sending task results</em><br>optional field<br>once the task is completed, we will send a POST request with its results compressed in the <code>gzip</code> format to the <code>postback_url</code> you specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/postbackscript?id=$id</code><br><code>http://your-server.com/postbackscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>postback_url</code> will be urlencoded; <br>i.a., the <code>#</code> character will be encoded into <code>%23</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "priority": {
      +        "description": "<em>task priority</em><br>optional field<br>can take the following values:<br>1 – normal execution priority (set by default)<br>2 – high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/api/google-play\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "rating": {
      +        "description": "<em>filter reviews by rating</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>5</code> — return reviews with five-star rating only;<br><code>4</code> — return reviews with four-star rating only;<br><code>3</code> — return reviews with three-star rating only;<br><code>2</code> — return reviews with two-star rating only;<br><code>1</code> — return reviews with one-star rating only;<br>by default, the API returns all reviews regardless of the number of stars",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "sort_by": {
      +        "description": "<em>results sorting parameters</em><br>optional field<br>you can use this field to sort the results;<br>possible types of sorting:<br><code>newest</code> — sort by the most recent reviews;<br><code>most_relevant</code> — sort by the most relevant reviews;<br>default rule: <code>most_relevant</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "app_id": {
      -    "description": "id of the app required field ID of the mobile application on Google Play; you can find the ID in the URL of every app listed on Google Play; example: https://play.google.com/store/apps/details?id=org.telegram.messenger",
      -    "type": "string"
      -  },
      -  "depth": {
      -    "description": "parsing depth optional field number of reviews to be returned in the API response; we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row; default value: 150; maximum value: 100000; Your account will be billed per each SERP containing up to 150 results; Setting depth above 150 may result in additional charges if the search engine returns more than 150 results.",
      -    "type": "integer"
      -  },
      -  "language_code": {
      -    "description": "search engine language code required field if you don’t specify language_name if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/app_data/google/languages example: en",
      -    "type": "string"
      -  },
      -  "language_name": {
      -    "description": "full name of search engine language required field if you don’t specify language_code if you use this field, you don’t need to specify language_code you can receive the list of available languages with language_name by making a separate request to https://api.dataforseo.com/v3/app_data/google/languages example: English",
      -    "type": "string"
      -  },
      -  "location_code": {
      -    "description": "search engine location code required field if you don’t specify location_name if you use this field, you don’t need to specify location_name you can receive the list of available locations of the search engine with their location_code by making a separate request to https://api.dataforseo.com/v3/app_data/google/locations example: 9061121",
      -    "type": "integer"
      -  },
      -  "location_name": {
      -    "description": "full name of search engine location required field if you don’t specify location_code if you use this field, you don’t need to specify location_code you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/app_data/google/locations example: West Los Angeles,California,United States",
      -    "type": "string"
      -  },
      -  "pingback_url": {
      -    "description": "notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23",
      -    "type": "string"
      -  },
      -  "postback_data": {
      -    "description": "postback_url datatype required field if you specify postback_url corresponds to the datatype that will be sent to your server possible values: advanced, html",
      -    "type": "string"
      -  },
      -  "postback_url": {
      -    "description": "URL for sending task results optional field once the task is completed, we will send a POST request with its results compressed in the gzip format to the postback_url you specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag Note: special characters in postback_url will be urlencoded; i.a., the # character will be encoded into %23",
      -    "type": "string"
      -  },
      -  "priority": {
      -    "description": "task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priority You will be additionally charged for the tasks with high execution priority.",
      -    "type": "integer"
      -  },
      -  "rating": {
      -    "description": "filter reviews by rating optional field you can use this field to filter the results; possible types of filtering: 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",
      -    "type": "integer"
      -  },
      -  "sort_by": {
      -    "description": "results sorting parameters optional field you can use this field to sort the results; possible types of sorting: newest — sort by the most recent reviews; most_relevant — sort by the most relevant reviews; default rule: most_relevant",
      -    "type": "string"
      -  },
      -  "tag": {
      -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "app_id"
      -]
    • changedInput schema / properties / body / items / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "body"
      -]New value: +[]
    • addedOutput schema / x-fastmcp-wrap-result
      Added value: +true
  6. Changed2 schema fields changed
    • changedInput schema / properties / body / items / properties / depth / description
      Previous value: -"parsing depth optional field number of reviews to be returned in the API response; we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row; default value: 150; maximum value: 100000; Your account will be billed per each SERP containing up to 150 results; Setting depth above 150 may result in additional charges if the search engine returns more than 150 results; The cost can be calculated on the Pricing page."New value: +"parsing depth optional field number of reviews to be returned in the API response; we strongly recommend setting the parsing depth in the multiples of 150, because our system processes 150 reviews in a row; default value: 150; maximum value: 100000; Your account will be billed per each SERP containing up to 150 results; Setting depth above 150 may result in additional charges if the search engine returns more than 150 results."
    • changedInput schema / properties / body / items / properties / priority / description
      Previous value: -"task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priority You will be additionally charged for the tasks with high execution priority. The cost can be calculated on the Pricing page."New value: +"task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priority You will be additionally charged for the tasks with high execution priority."
  7. First observed

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and non-idempotent, so the safety profile is covered. The description adds useful billing context (usage-based, $0.012 estimate) that annotations do not, but it omits the central behavioral trait of a submit endpoint: that it returns a task ID asynchronously and results arrive via postback_url or a later fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences plus a compact pricing block, with the core purpose front-loaded and no padding. The only weakness is that the opening claim about receiving reviews mischaracterizes the submit flow rather than being wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema is present, so return values need not be restated, and the exhaustive nested schema documents every field. Combined with the billing note and language/location scoping, the definition supplies enough for an agent to call it, the main gaps being usage routing rather than missing mechanics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema coverage is 0% (the single body array has no description), so the description must carry param meaning. It only surfaces app_id and the language/location dimensions while leaving depth, rating, sort_by, priority, pingback_url, postback_url, and postback_data unmentioned, though the nested schema does document them thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (Google Play reviews) and the key selector (app_id), but frames a task-submission endpoint as one that 'will provide you with reviews,' which blurs the async submit vs. the sibling fetch (get_dataforseo_app_google_app_reviews_fetch). It never distinguishes itself from that live/fetch alternative, so the actual purpose (queue a task) is only implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this submit endpoint versus the fetch sibling, nor any mention of prerequisites, task polling, or the postback/pingback delivery path. The agent gets no routing guidance despite a crowded set of reviews-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources