Get Business Data Google Reviews Results by id

 
The returned results are specific to the indicated local establishment name, search engine, location and language parameters. We emulate set location and search engine with the highest accuracy so that the results you receive will match the actual search results for the specified parameters at the time of task setting. You can always check the returned results accessing the check_url in the Incognito mode to make sure the received data is entirely relevant. Note that user preferences, search history, and other personalized search factors are ignored by our system and thus would not be reflected in the returned results.

checked GET
Pricing

Your account will be charged only for setting a task. You can get the results of the task within the next 30 days for free.
The cost can be calculated on the Pricing page.

Description of the fields for sending a request:

Field name Type Description
id string task identifier
unique task identifier in our system in the UUID format
you will be able to use it within 30 days to request the results of the task at any time

‌‌‌‌
‌‌As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.

You can also get all available SERP features by making a request to the following Sandbox URL:
https://sandbox.dataforseo.com/v3/business_data/google/reviews/task_get/00000000-0000-0000-0000-000000000000
The response will include all available items in the Google Reviews endpoint with the fields containing dummy data.
You won’t be charged for using Sandbox endpoints.

Description of the fields in the results array:

Field name Type Description
version string the current version of the API
status_code integer general status code
you can find the full list of the response codes here
Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
status_message string general informational message
you can find the full list of general informational messages here
time string execution time, seconds
cost float total tasks cost, USD
tasks_count integer the number of tasks in the tasks array
tasks_error integer the number of tasks in the tasks array that were returned an error
tasks array array of tasks
        id string task identifier
unique task identifier in our system in the UUID format
        status_code integer status code of the task
generated by DataForSEO; can be within the following range: 10000-60000
you can find the full list of the response codes here
        status_message string informational message of the task
you can find the full list of general informational messages here
        time string execution time, seconds
        cost float cost of the task, USD
        result_count integer number of elements in the result array
        path array URL path
        data object contains the same parameters that you specified in the POST request
        result array array of results
            keyword string keyword received in a POST array
keyword is returned with decoded %## (plus character ‘+’ will be decoded to a space character)
            type string search engine type in a POST array
            se_domain string search engine domain in a POST array
            location_code integer location code in a POST array
            language_code string language code in a POST array
            check_url string direct URL to search engine results
you can use it to make sure that we provided accurate results
            datetime string date and time when the result was received
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00
            title string title of the ‘reviews’ element in SERP
the name of the local establishment for which the reviews are collected
            sub_title string subtitle of the ‘reviews’ element in SERP
additional information (e.g., address) on the ‘reviews’ element for which the reviews are collected
            rating object rating of the corresponding local establishment
popularity rate based on reviews and displayed in SERP
                rating_type string type of rating
here you can find the following elements: Max5, Percents, CustomMax
                value float the average rating based on all reviews
                votes_count integer the number of votes
                rating_max integer the maximum value for a rating_type
            feature_id string the unique identifier of the ‘reviews’ element in SERP
learn more about the identifier in this help center article
            place_id string unique identifier of a business location assigned by Google
learn more about the identifier in this help center article
            cid string google-defined client id
unique id of a local establishment
learn more about the identifier in this help center article
            reviews_count integer the total number of reviews
            items_count integer the number of reviews items in the results array
you can get more results by using the depth parameter when setting a task
            items array found reviews
you can get more results by using the depth parameter when setting a task
                type string the review’s type
possible review types: "google_reviews_search"
                rank_group integer position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group
                rank_absolute integer absolute rank among all the listed reviews
absolute position among all reviews on the list
                position string the alignment of the review in SERP
can take the following values: right
                xpath string the XPath of the review
                review_text string the content of the review
                original_review_text string original content of the review
the original content of the review, no auto-translate applied
                time_ago string the time of publication
indicates the time (in the ‘time ago’ format) when the review was listed
                timestamp string date and time when a review was published
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00
                rating object the rating score submitted by the reviewer
                  rating_type string the type of the rating
can take the following values: Max5
                  value float the value of the rating
                  votes_count integer the amount of feedback
indicated the number of votes the review obtained
                  rating_max integer the maximum value for a rating_type
the maximum value for Max5 is 5
                reviews_count integer total number of reviews submitted by the reviewer
                photos_count integer total number of photos submitted by the reviewer
                local_guide boolean indicates whether the reviewer has a ‘local guide’ status
                profile_name string profile name of the reviewer
                profile_url string URL of the reviewer’s profile
                review_url string the URL of the review
                profile_image_url string URL of the reviewer’s profile image
                owner_answer string text of the owner’s response
the owner’s response to the review
                original_owner_answer string original text of the owner’s response
the original response to the review, no auto-translate applied
                owner_time_ago string publication time
indicates the time (in the ‘time ago’ format) when the owner submitted the response to the review
                owner_timestamp string date and time of the owner’s reply to the review
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:
2019-11-15 12:57:46 +00:00
                review_id string the unique identifier of a review on Google
example:
ChZDSUhNMG9nS0VJQ0FnSUMxbHFyMFlnEAE
                images array images submitted by the reviewer
                    type string type of element = ‘images_element’
                    alt string alt tag of the image
                    url string relevant image URL from Google
                    image_url string URL of the image featured in the review
                review_highlights array review highlights
contains highlighted review criteria and assessments
                    feature string reviewed feature
                    assessment string feature assessment

‌‌

Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
id="04011058-0696-0199-0000-2196151a15cb" 
curl --location --request GET "https://api.dataforseo.com/v3/business_data/google/reviews/task_get/${id}" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json"
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
$client = new RestClient($api_url, null, 'login', 'password');

try {
	// get the task results by id
	// GET /v3/business_data/google/reviews/task_get/$id
	// use the task identifier that you recieved upon setting a task
	$id = "05211333-2692-0298-0000-047fc45592ce";
	$result = $client->get('/v3/business_data/google/reviews/task_get/' . $id);
	print_r($result);
	// do something with result
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
}
$client = null;
?>
const task_id = '02231934-2604-0066-2000-570459f04879';

const axios = require('axios');

axios({
    method: 'get',
    url: 'https://api.dataforseo.com/v3/business_data/google/reviews/task_get/' + task_id,
    auth: {
        username: 'login',
        password: 'password'
    },
    headers: {
        'content-type': 'application/json'
    }
}).then(function (response) {
    var result = response['data']['tasks'];
    // Result data
    console.log(result);
}).catch(function (error) {
    console.log(error);
});
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
# 1 - using this method you can get a list of completed tasks
# GET /v3/business_data/google/reviews/tasks_ready
response = client.get("/v3/business_data/google/reviews/tasks_ready")
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response['status_code'] == 20000:
    results = []
    for task in response['tasks']:
        if (task['result'] and (len(task['result']) > 0)):
            for resultTaskInfo in task['result']:
                # 2 - using this method you can get results of each completed task
				# GET /v3/business_data/google/reviews/task_get/$id
                if(resultTaskInfo['endpoint']):
                    results.append(client.get(resultTaskInfo['endpoint']))
                '''
                # 3 - another way to get the task results by id
                # GET /v3/business_data/google/reviews/task_get/$id              
                if(resultTaskInfo['id']):
                    results.append(client.get("/v3/business_data/google/reviews/task_get/" + resultTaskInfo['id']))
                '''
    print(results)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task business_data_google_reviews_task_get()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            // #1 - using this method you can get a list of completed tasks
            // GET /v3/business_data/google/reviews/tasks_ready
            var response = await httpClient.GetAsync("/v3/business_data/google/reviews/tasks_ready");
            var tasksInfo = JsonConvert.DeserializeObject<<dynamic>>(await response.Content.ReadAsStringAsync());
            var tasksResponses = new List<<object>>();
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (tasksInfo.status_code == 20000)
            {
                if (tasksInfo.tasks != null)
                {
                    foreach (var tasks in tasksInfo.tasks)
                    {
                        if (tasks.result != null)
                        {
                            foreach (var task in tasks.result)
                            {
                                if (task.endpoint != null)
                                {
                                    // #2 - using this method you can get results of each completed task
                                    // GET /v3/business_data/google/reviews/task_get/$id
                                    var taskGetResponse = await httpClient.GetAsync((string)task.endpoint);
                                    var taskResultObj = JsonConvert.DeserializeObject<<dynamic>>(await taskGetResponse.Content.ReadAsStringAsync());
                                    if (taskResultObj.tasks != null)
                                    {
                                        var fst = taskResultObj.tasks.First;
                                        // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
                                        if (fst.status_code >= 40000 || fst.result == null)
                                            Console.WriteLine($"error. Code: {fst.status_code} Message: {fst.status_message}");
                                        else
                                            tasksResponses.Add(fst.result);
                                    }
                                    // #3 - another way to get the task results by id
                                    // GET /v3/business_data/google/reviews/task_get//$id
                                    /*
                                    var tasksGetResponse = await httpClient.GetAsync("/v3/business_data/google/reviews/task_get/" + (string)task.id);
                                    var taskResultObj = JsonConvert.DeserializeObject<<dynamic>>(await tasksGetResponse.Content.ReadAsStringAsync());
                                    if (taskResultObj.tasks != null)
                                    {
                                        var fst = taskResultObj.tasks.First;
                                        // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
                                        if (fst.status_code >= 40000 || fst.result == null)
                                            Console.WriteLine($"error. Code: {fst.status_code} Message: {fst.status_message}");
                                        else
                                            tasksResponses.Add(fst.result);
                                    }
                                    */
                                }
                            }
                        }
                    }
                }
                if (tasksResponses.Count > 0)
                    // do something with result
                    Console.WriteLine(String.Join(Environment.NewLine, tasksResponses));
                else
                    Console.WriteLine("No completed tasks");
            }
            else
                Console.WriteLine($"error. Code: {tasksInfo.status_code} Message: {tasksInfo.status_message}");
        }
    }
}