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 |
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 |
status_message | string | general informational message |
time | string | execution time, seconds |
cost | float | total tasks cost, USD |
tasks_count | integer | the number of tasks in the |
tasks_error | integer | the number of tasks in the |
tasks | array | array of tasks |
id | string | task identifier |
status_code | integer | status code of the task |
status_message | string | informational message of the task |
time | string | execution time, seconds |
cost | float | cost of the task, USD |
result_count | integer | number of elements in the |
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 |
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 |
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 |
datetime | string | date and time when the result was received |
item_types | array | types of items found on the product specification page |
items_count | integer | the number of results returned in the |
items | array | items on the product page |
type | string | type of element |
rank_group | integer | position within a group of elements with identical |
rank_absolute | integer | absolute rank on the product specification page |
position | string | alignment of the element on the product specification page |
product_id | string | product_id received in a POST array |
title | string | product title |
description | string | product description |
url | string | product url |
images | array | product images |
features | array | product features |
rating | object | product rating |
rating_type | string | the type of rating |
value | string | the value of the rating |
votes_count | integer | the amount of feedback |
rating_max | string | the maximum value for a |
seller_reviews_count | integer | number of seller reviews |
data_docid | string | unique identifier of the SERP data element |
gid | string | global product identifier on Google Shopping |
specifications | array | product specifications |
type | string | type of element |
block_name | string | name of the block of product attributes |
specification_name | string | product attribute |
specification_value | string | content of the specification |
sellers | array | sellers of the product |
type | string | type of the element in the sellers array |
title | string | name of the product seller |
url | string | seller url |
seller_rating | object | rating of the seller |
position | string | alignment of the element in the SERP |
rating_type | string | the type of rating |
value | string | the value of the rating |
votes_count | integer | the amount of feedback |
rating_max | string | the maximum value for a |
seller_reviews_count | integer | number of seller reviews |
price | object | product price |
current | float | current price |
regular | float | regular price |
max_value | float | the maximum price |
currency | string | currency of the listed price |
is_price_range | boolean | price is provided as a range |
displayed_price | string | price string in the result |
delivery_info | object | delivery information |
delivery_message | string | delivery information |
delivery_price | object | price for the delivery |
product_availability | string | product availability information |
variations | array | variations of the product |
type | string | type of the element = 'rating_element' |
product_id | string | product ID in a POST array |
gid | string | GID ID in a POST array |
data_docid | string | unique identifier of the SERP data element in the POST array |
pvf | string | product variation filter |
title | string | product variation title |
url | string | product variation URL on Google Shopping |
variation_category | string | category of the product variation |
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,
"data_docid": "17363035694596624076",
"gid": "4702526954592161872",
"specifications": [
{
"type": "shopping_specification",
"block_name": null,
"specification_name": "RAM",
"specification_value": "8 GB RAM, 12 GB RAM"
}
]
"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
},
"product_availability": "in_stock"
},
{
"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
},
"product_availability": "in_stock
},
{
"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
},
"product_availability": "in_stock
}
],
"variations": [
{
"type": "product_variation",
"product_id": "14548795243109479428",
"gid": "35723601308729824",
"data_docid": null,
"pvf": "Eh4iEHN0b3JhZ2UgY2FwYWNpdHkqCjEyOCBnYiB1ZnM",
"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"
"variation_category": "Storage Capacity"
},
{
"type": "product_variation",
"product_id": "14548795243109479428",
"gid": "35723601308729824",
"data_docid": null,
"pvf": "Eh4iEHN0b3JhZ2UgY2FwYWNpdHkqCjEyOCBnYiB1ZnM",
"title": "128 GB - Space Gray - Sprint - CDMA/GSM",
"url": "https://www.google.com/shopping/product/14548795243109479428?gl=US&hl=en&sa=X&ved=0ahUKEwjmxtiN6_r4AhXQkYkEHX1FDzYQkjAICigE"
"variation_category": "Storage Capacity"
}
]
}
]
}
]
}
]
}