Your account will be charged only for posting 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/merchant/google/product_info/task_get/advanced/00000000-0000-0000-0000-000000000000
The response will include all available items in the Google Merchant Product Info Advanced 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 tasksarray | 
| tasks_error | integer | the number of tasks in the tasksarray 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 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 resultarray | 
| path | array | URL path | 
| data | object | contains the same parameters that you specified in the POST request | 
| result | array | array of results | 
| product_id | string | product ID in a POST array learn more about the parameter in this help center guide | 
| type | string | search engine type in a POST array possible types: product_info | 
| 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 | 
| title | string | title of the product | 
| description | string | description of the product | 
| image_url | string | URL of the product image | 
| tags | array | tags of the product | 
| 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 format: “year-month-date:minutes:UTC_difference_hours:UTC_difference_minutes” example: 2019-11-15 12:57:46 +00:00 | 
| item_types | array | types of items found on the product specification page possible item types: product_info_element | 
| items_count | integer | the number of results returned in the itemsarray | 
| items | array | items on the product page contains all product attributes and related data listed on the product page | 
| type | string | type of element possible types: product_info_element | 
| rank_group | integer | position within a group of elements with identical typevaluespositions of elements with different typevalues are omitted fromrank_group | 
| rank_absolute | integer | absolute rank on the product specification page absolute position among all the elements found on the product specification page | 
| position | string | alignment of the element on the product specification page can take the following values: right,left | 
| product_id | string | product_id received in a POST array ilearn more about the parameter in this help center guide | 
| title | string | product title | 
| description | string | product description | 
| url | string | product url url of the product on Google Shopping | 
| images | array | product images contains urls to product images | 
| features | array | product features contains snippets with the description of product features | 
| rating | object | product rating the popularity rate based on reviews | 
| rating_type | string | the type of rating here you can find the following elements: Max5,Percents,CustomMax | 
| value | string | the value of the rating | 
| votes_count | integer | the amount of feedback | 
| rating_max | string | the maximum value for a rating_type | 
| seller_reviews_count | integer | number of seller reviews number of reviews on the product seller’s account | 
| sellers | array | sellers of the product number of reviews on the product seller’s account | 
| type | string | type of the element in the sellers array can take the following values: product_seller | 
| title | string | name of the product seller | 
| url | string | seller url url of the page where the product is sold | 
| url | string | seller url url of the webpage on the seller’s website where the product is sold | 
| seller_rating | object | rating of the seller | 
| rating_type | string | the type of rating here you can find the following elements: Max5,Percents,CustomMax | 
| value | string | the value of the rating | 
| votes_count | integer | the amount of feedback | 
| rating_max | string | the maximum value for a rating_type | 
| seller_reviews_count | integer | number of seller reviews number of reviews on the product seller’s account | 
| price | object | product price product price details on the seller’s website | 
| current | float | current price indicates the current price of the shopping element | 
| regular | float | regular price indicates the regular price of the shopping element | 
| max_value | float | the maximum price indicates the maximum price of the shopping element | 
| currency | string | currency of the listed price ISO code of the currency applied to the price | 
| is_price_range | boolean | price is provided as a range indicates whether a price is provided in a range | 
| displayed_price | string | price string in the result raw price string as provided in the result | 
| delivery_info | object | delivery information product delivery information | 
| delivery_message | string | delivery information message accompanying the delivery information as posted by the seller | 
| delivery_price | object | price for the delivery price of the delivery based on the location you specified in the POST request | 
| variations | array | variations of the product contains brief information about different product variations | 
| type | object | delivery information product delivery information | 
| product_id | string | product ID in a POST array learn more about the parameter in this help center guide | 
| title | string | product title | 
| url | string | product url on google shopping | 
| data_docid | string | unique identifier of the SERP data element note that there is no full list of possible values as the data_docidis a dynamic value assigned by Googleexample: 17363035694596624076 | 
| gid | string | global product identifier on Google Shopping note that there is no full list of possible values as the gid is a dynamic value assigned by Google if there are no values, you will get nullexample: 4702526954592161872learn more about gidin this help center guide | 
| specifications | array | product specifications contains all product attributes and related data listed on the product specification page | 
| type | string | type of element possible types: shopping_specification | 
| rank_group | integer | position within a group of elements with identical typevaluespositions of elements with different typevalues are omitted fromrank_group | 
| rank_absolute | integer | absolute rank on the product specification page absolute position among all the elements found on the product specification page | 
| position | string | alignment of the element on the product specification page can take the following values: right | 
| xpath | string | XPath of the element | 
| block_name | string | name of the block of product attributes indicates the name of the product specification section in which the related element is listed | 
| specification_name | string | product attribute attribute name of the product data specification | 
| specification_value | string | content of the specification | 
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="04171306-0696-0188-0000-98b668ecaf09" 
curl --location --request GET "https://api.dataforseo.com/v3/merchant/google/product_info/task_get/advanced/${id}" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw ""<?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 {
   $result = array();
   // #1 - using this method you can get a list of completed tasks
   // GET /v3/merchant/google/product_info/tasks_ready
   $tasks_ready = $client->get('/v3/merchant/google/product_info/tasks_ready');
   // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
   if (isset($tasks_ready['status_code']) AND $tasks_ready['status_code'] === 20000) {
      foreach ($tasks_ready['tasks'] as $task) {
         if (isset($task['result'])) {
            foreach ($task['result'] as $task_ready) {
               // #2 - using this method you can get results of each completed task
               // GET /v3/merchant/google/product_info/task_get/advanced/$id
               if (isset($task_ready['endpoint_advanced'])) {
                  $result[] = $client->get($task_ready['endpoint_advanced']);
               }
               // #3 - another way to get the task results by id
               // GET /v3/merchant/google/product_info/task_get/advanced/$id
               /*
               if (isset($task_ready['id'])) {
                  $result[] = $client->get('/v3/merchant/google/product_info/task_get/advanced/' . $task_ready['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 = '02231453-2604-0066-2000-64d39c6677d4';
const axios = require('axios');
axios({
    method: 'get',
    url: 'https://api.dataforseo.com/v3/merchant/google/product_info/task_get/advanced/' + 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/merchant/google/product_info/tasks_ready
response = client.get("/v3/merchant/google/product_info/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/merchant/google/product_info/task_get/advanced/$id
                if(resultTaskInfo['endpoint_advanced']):
                    results.append(client.get(resultTaskInfo['endpoint_advanced']))                
                '''
                # 3 - another way to get the task results by id
                # GET /v3/merchant/google/product_info/task_get/advanced/$id              
                if(resultTaskInfo['id']):
                    results.append(client.get("/v3/merchant/google/product_info/task_get/advanced/" + 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 merchant_google_product_info_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/merchant/google/product_info/tasks_ready
            var response = await httpClient.GetAsync("/v3/merchant/google/product_info/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_advanced != null)
                                {
                                    // #2 - using this method you can get results of each completed task
                                    // GET /v3/merchant/google/product_info/task_get/advanced/$id
                                    var taskGetResponse = await httpClient.GetAsync((string)task.endpoint_advanced);
                                    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/merchant/google/product_info/task_get/advanced/$id
                                    /*
                                    var tasksGetResponse = await httpClient.GetAsync("/v3/merchant/google/product_info/task_get/advanced/" + (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}");
        }
    }
}The above command returns JSON structured like this:
{
  "version": "0.1.20220627",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.0770 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "07151455-1535-0455-0000-4ef29a2e5cad",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.0236 sec.",
      "cost": 0,
      "result_count": 1,
      "path": [
        "v3",
        "merchant",
        "google",
        "product_info",
        "task_get",
        "advanced",
        "07151455-1535-0455-0000-4ef29a2e5cad"
      ],
      "data": {
        "se_type": "product_info",
        "api": "merchant",
        "function": "product_info",
        "se": "google",
        "language_code": "en",
        "location_code": 2840,
        "product_id": "2693947537627546605",
        "device": "desktop",
        "os": "windows"
      },
      "result": [
        {
          "product_id": "2693947537627546605",
          "type": "product_info",
          "se_domain": "google.com",
          "location_code": 2840,
          "language_code": "en",
          "check_url": "https://www.google.com/shopping/product/2693947537627546605?gl=US&hl=en&prds=eto:4329443173325430719_0;6080682070074352475_0;15959577274487363386_0,pid:11411337548571788426,rsk:PC_2279649599901893363&sa=X&ved=0ahUKEwjmxtiN6_r4AhXQkYkEHX1FDzYQ9pwGCDc",
          "datetime": "2022-07-15 11:55:28 +00:00",
          "item_types": [
            "product_info_element"
          ],
          "items_count": 1,
          "items": [
            {
              "type": "product_info_element",
              "rank_group": 1,
              "rank_absolute": 1,
              "position": "left",
              "product_id": "2693947537627546605",
              "title": "Apple iPhone 8 64gb - Gold (at&t)",
              "description": "The iPhone 8 is the first smartphone by Apple made exclusively of durable glass front and back, engineered to endure dust and water splash. It is powered by the “Apple A11 Bionic” processor. It features a 4.7-inch widescreen multi-touch IPS display (“Retina HD”) and dual cameras ...",
              "url": "https://www.google.com/shopping/product/2693947537627546605?gl=US&hl=en&prds=eto:4329443173325430719_0;6080682070074352475_0;15959577274487363386_0,pid:11411337548571788426,rsk:PC_2279649599901893363&sa=X&ved=0ahUKEwjmxtiN6_r4AhXQkYkEHX1FDzYQ9pwGCDc",
              "images": [
                "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcS6kUVNdzMROAjvzEPlP-GPxEDgFQ1N8uBvXS5qDa_jZaSwChV6eETuSGTYA0ILEBnOZ5i9tvsn8LhXL6zywlS2ht8xkHIR&usqp=CAY",
                "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcQm1tXwY11ZGbu11bfte5RHbmvytTnA1dlO9fknDU4LRkuUC8M&usqp=CAY",
                "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcTi74pggfBKTGPjESghzSpCLBjrnLaA5zAF6Oa7vXIBoqN_AEE&usqp=CAY",
                "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcRYEapyc-3uSHHmzSOP3Ljb6SMFU1It8dVZ4n97niTsEjV5hbbF&usqp=CAY"
              ],
              "features": [
                "Built-in 64 GB internal memory offers ample space to store multiple movies, music, and games",
                "A11 Bionic chip with 64-bit architecture gives you a smooth multitasking experience",
                "Enjoy enhanced viewing experience with its 1920 x 1080 high definition LCD display"
              ],
              "rating": {
                "type": "rating_element",
                "position": "left",
                "rating_type": "Max5",
                "value": "4.36",
                "votes_count": 24805,
                "rating_max": "5"
              },
              "seller_reviews_count": 24805,
              "sellers": [
                {
                  "type": "product_seller",
                  "title": "Back Market",
                  "url": "https://www.backmarket.com/en-us/p/iphone-8-64-gb-gold-att/2c9ddf75-ce86-4103-a4d4-14e9fcd0e0db?shopping=gmc",
                  "seller_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": "4.6",
                    "votes_count": 15892,
                    "rating_max": "5"
                  },
                  "seller_review_count": 15892,
                  "price": {
                    "current": 108,
                    "regular": null,
                    "max_value": null,
                    "currency": "USD",
                    "is_price_range": false,
                    "displayed_price": "$108.00 refurbished"
                  },
                  "delivery_info": {
                    "delivery_message": "Delivery by Wed, Jul 20",
                    "delivery_price": null
                  }
                },
                {
                  "type": "product_seller",
                  "title": "Trademore",
                  "url": "https://www.trademore.com/buy/iphone/iphone-8/at-t-gold-64gb?skuId=70197&skuIsCloned=false&carrier=AT&T=&skuUrl=/iphone/iphone-8/at-t-gold-64gb&condition=TPC&srsltid=AdGWZVSdm9ABO3cy3yEqFwyccnvBkPyog1l-PCWQTPaErPxeez7waZ5zDHI",
                  "seller_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": "4.6",
                    "votes_count": 366,
                    "rating_max": "5"
                  },
                  "seller_review_count": 366,
                  "price": {
                    "current": 135.99,
                    "regular": null,
                    "max_value": null,
                    "currency": "USD",
                    "is_price_range": false,
                    "displayed_price": "$135.99 used"
                  },
                  "delivery_info": {
                    "delivery_message": "Free delivery by Tue, Jul 19",
                    "delivery_price": null
                  }
                },
                {
                  "type": "product_seller",
                  "title": "Decluttr Store",
                  "url": "https://www.decluttr.com/us/store/products/apple-iphone-8-64gb-gold-at-t-1b962d86-267b-4a78-8d70-bc66d3738f4c",
                  "seller_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": "4.5",
                    "votes_count": 5659,
                    "rating_max": "5"
                  },
                  "seller_review_count": 5659,
                  "price": {
                    "current": 169.99,
                    "regular": null,
                    "max_value": null,
                    "currency": "USD",
                    "is_price_range": false,
                    "displayed_price": "$169.99 refurbished"
                  },
                  "delivery_info": {
                    "delivery_message": "Free delivery",
                    "delivery_price": null
                  }
                }
              ],
              "variations": [
                {
                  "type": "product_variation",
                  "product_id": "14548795243109479428",
                  "title": "64 GB - Space Gray - Sprint - CDMA/GSM",
                  "url": "https://www.google.com/shopping/product/14548795243109479428?gl=US&hl=en&sa=X&ved=0ahUKEwjmxtiN6_r4AhXQkYkEHX1FDzYQkjAICigE"
                },
                {
                  "type": "product_variation",
                  "product_id": "16770195602838997301",
                  "title": "64 GB - Gold - Sprint - CDMA/GSM",
                  "url": "https://www.google.com/shopping/product/16770195602838997301?gl=US&hl=en&sa=X&ved=0ahUKEwjmxtiN6_r4AhXQkYkEHX1FDzYQkjAICygF"
                },
                {
                  "type": "product_variation",
                  "product_id": "8520788849165384645",
                  "title": "64 GB - Space Gray - T-Mobile - GSM",
                  "url": "https://www.google.com/shopping/product/8520788849165384645?gl=US&hl=en&sa=X&ved=0ahUKEwjmxtiN6_r4AhXQkYkEHX1FDzYQkjAINigw"
                }
              ],
              "data_docid": "17363035694596624076",
              "gid": "4702526954592161872",
              "specifications": [
                {
                  "type": "shopping_specification",
                  "rank_group": 0,
                  "rank_absolute": 0,
                  "position": "left",
                  "xpath": null,
                  "block_name": null,
                  "specification_name": "RAM",
                  "specification_value": "8 GB RAM, 12 GB RAM"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}