Get Google Shopping Products Results by id

checked GET
Pricing

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/products/task_get/advanced/00000000-0000-0000-0000-000000000000
The response will include all available items in the Google Merchant Product 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 nameTypeDescription
versionstring

the current version of the API

status_codeinteger

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_messagestring

general informational message
you can find the full list of general informational messages here

timestring

execution time, seconds

costfloat

total tasks cost, USD

tasks_countinteger

the number of tasks in the tasks array

tasks_errorinteger

the number of tasks in the tasks array that were returned an error

tasksarray

array of tasks

    idstring

task identifier
unique task identifier in our system in the UUID format

    status_codeinteger

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_messagestring

informational message of the task
you can find the full list of general informational messages here

    timestring

execution time, seconds

    costfloat

cost of the task, USD

    result_countinteger

number of elements in the result array

    patharray

URL path

    dataobject

contains the same parameters that you specified in the POST request

    resultarray

array of results

        keywordstring

keyword received in a POST array
keyword is returned with decoded %## (plus character '+' will be decoded to a space character)

        typestring

search engine type in a POST array

        se_domainstring

search engine domain in a POST array

        location_codeinteger

location code in a POST array

        language_codestring

language code in a POST array

        check_urlstring

direct URL to Google Shopping results
you can use it to make sure that we provided accurate results

        datetimestring

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

        spellobject

autocorrection of the search engine
if the search engine provided results for a keyword that was corrected, we will specify the keyword corrected by the search engine and the type of autocorrection

            keywordstring

keyword obtained as a result of search engine autocorrection
the results will be provided for the corrected keyword

            typestring

type of autocorrection
possible values:
did_you_mean, showing_results_for, no_results_found_for, including_results_for

        item_typesarray

types of search results found in Google Shopping SERP
contains types of all search results (items) found in the returned SERP
possible item types:
google_shopping_sponsored_carousel, google_shopping_paid, google_shopping_serp, google_shopping_carousel, related_searches

        items_countinteger

the number of results returned in the items array

        itemsarray

items in SERP

            google_shopping_sponsored_carouselobject

element in the response

                typestring

type of element='google_shopping_sponsored_carousel'

                rank_groupinteger

position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements found in Google Shopping SERP

                positionstring

alignment of the element in SERP
can take the following values:
left, right

                xpathstring

XPath of the element

                titlestring

title of the element

                itemsarray

additional items present in the element
if there are none, equals null

                    typestring

type of element = ‘google_shopping_sponsored_carousel_element‘

                    xpathstring

XPath of the element

                    titlestring

product title

                    tagsarray

tags assigned to the product

                    sellerstring

name of the seller
the name of the company that placed a corresponding product on Google Shopping

                    pricefloat

product price
example:
384.99

                    currencystring

currency in the ISO format
example:
USD

                    product_ratingobject

product rating
the product popularity rate based on product reviews

                        typestring

type of element='rating_element'n

                        positionstring

the alignment of the element in Google Shopping SERP
possible values:
left, right

                        rating_typestring

the type of rating
here you can find the following elements: Max5, Percents, CustomMax

                        valuestring

value of the rating

                        votes_countinteger

the amount of feedback

                        rating_maxinteger

the maximum value for a rating_type

                    product_imagesarray

URLs to the images of the product
the first URL in the array is the featured image of the product

                    shop_ad_aclkstring

unique ad click referral parameter
using this parameter you can get a URL of the advertisement in Google Shopping Sellers Ad URL

                    delivery_infoobject

delivery information
delivery information including free and fast delivery date ranges

                        delivery_messagestring

delivery information
message accompanying the delivery information as posted by the seller

                        delivery_priceobject

price for the delivery
price of the delivery based on the location you specified in the POST request;
if free delivery is available, the value is null

                            currentfloat

current delivery price

                            regularfloat

regular undiscounted delivery price

                            max_valuefloat

maximum undiscounted delivery price

                            currencystring

currency in the ISO format

                            is_price_rangeboolean

indicates whether the delivery price is a range

                            displayed_pricestring

price line provided as displayed in Google Shopping listing

                    special_offer_infoobject

special offer from the seller
information on the special offer from the seller, including discount and coupon info

                        titlestring

title of the special offer

                        sub_titlestring

subtitle of the special offer

                        sub_titlestring

subtitle of the special offer

                        fixed_discountinteger

amount of the fixed discount

                        fixed_discount_currencystring

currency of the fixed discount

                        percentage_discountinteger

percentage of the discount

                        coupon_codestring

code of coupon discount

                        coupon_infostring

information on coupon discount

                        urlstring

URL pointing at special offer page
URL where a special offer is posted
Note: this field is deprecated and will return null

                        domainstring

domain of the URL
domain of the URL where a special offer is posted
Note: this field is deprecated and will return null

            google_shopping_carouselobject

element in the response

                typestring

type of element='google_shopping_carousel'

                rank_groupinteger

position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements found in Google Shopping SERP

                positionstring

alignment of the element in SERP
can take the following values:
left, right

                xpathstring

XPath of the element

                titlestring

title of the element

                itemsarray

additional items present in the element
if there are none, equals null

                    typestring

type of element = ‘google_shopping_carousel_element‘

                    xpathstring

XPath of the element

                    titlestring

product title

                    tagsarray

tags assigned to the product

                    sellerstring

name of the seller
the name of the company that placed a corresponding product on Google Shopping

                    pricefloat

product price
example:
384.99

                    currencystring

currency in the ISO format
example:
USD

                    product_ratingobject

product rating
the product popularity rate based on product reviews

                        typestring

type of element='rating_element'

                        positionstring

the alignment of the element in Google Shopping SERP
possible values:
left, right

                        rating_typestring

the type of rating
here you can find the following elements: Max5, Percents, CustomMax

                        valuestring

value of the rating

                        votes_countinteger

the amount of feedback

                        rating_maxinteger

the maximum value for a rating_type

                    product_imagesarray

URLs to the images of the product
the first URL in the array is the featured image of the product

                    shopping_urlstring

URL to the product page on Google Shopping

                    product_idstring

unique product identifier on Google Shopping
note that there is no full list of possible values as the product_id is a dynamic value assigned by Google
if there are no values, you will get null
example:
4485466949985702538
learn more about the parameter in this help center guide

                    data_docidstring

unique identifier of the SERP data element
note that there is no full list of possible values as the data_docid is a dynamic value assigned by Google
example:
17363035694596624076

                    gidstring

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 null
example:
4702526954592161872
learn more about gid parameter in this help center guide

                    delivery_infoobject

delivery information
delivery information including free and fast delivery date ranges

                        delivery_messagestring

delivery information
message accompanying the delivery information as posted by the seller

                        delivery_priceobject

price for the delivery
price of the delivery based on the location you specified in the POST request;
if free delivery is available, the value is null

                            currentfloat

current delivery price

                            regularfloat

regular undiscounted delivery price

                            max_valuefloat

maximum undiscounted delivery price

                            currencystring

currency in the ISO format

                            is_price_rangeboolean

indicates whether the delivery price is a range

                            displayed_pricestring

price line provided as displayed in Google Shopping listing

                    special_offer_infoobject

special offer from the seller
information on the special offer from the seller, including discount and coupon info

                        titlestring

title of the special offer

                        sub_titlestring

subtitle of the special offer

                        sub_titlestring

subtitle of the special offer

                        fixed_discountinteger

amount of the fixed discount

                        fixed_discount_currencystring

currency of the fixed discount

                        percentage_discountinteger

percentage of the discount

                        coupon_codestring

code of coupon discount

                        coupon_infostring

information on coupon discount

                        urlstring

URL pointing at special offer page
URL where a special offer is posted
Note: this field is deprecated and will return null

                        domainstring

domain of the URL
domain of the URL where a special offer is posted
Note: this field is deprecated and will return null

            google_shopping_paidobject

element in the response

                typestring

type of element='google_shopping_paid'

                rank_groupinteger

position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements found in Google Shopping SERP

                positionstring

alignment of the element in SERP
can take the following values:
left, right

                xpathstring

XPath of the element

                domainstring

domain in SERP

                titlestring

product title

                descriptionstring

description of the product in Google Shopping SERP

                urlstring

URL to the product page on the seller's website
Note: this field is deprecated and will return null

                shop_ad_aclkstring

unique ad click referral parameter
using this parameter you can get a URL of the advertisement in Google Shopping Sellers Ad URL

            google_shopping_serpobject

element in the response

                typestring

type of element='google_shopping_serp'

                rank_groupinteger

position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements found in Google Shopping SERP

                positionstring

alignment of the element in SERP
can take the following values:
left, right

                xpathstring

XPath of the element

                domainstring

domain in SERP

                titlestring

product title

                descriptionstring

description of the product in Google Shopping SERP

                urlstring

URL to the product page on the seller's website
Note: this field is deprecated and will return null

                shopping_urlstring

URL to the product page on Google Shopping

                tagsarray

tags assigned to the product

                pricefloat

product price
example:
384.99

                price_multiplierinteger

price multiplier for instalment plan
indicates the number of months covered by the monthly payment for the product

                old_pricefloat

product old price
displayed if the product price has been changed
example:
499

                currencystring

currency in the ISO format
example:
USD

                product_idstring

unique product identifier on Google Shopping
note that there is no full list of possible values as the product_id is a dynamic value assigned by Google
if there are no values, you will get null
example:
4485466949985702538
learn more about the parameter in this help center guide

                data_docidstring

unique identifier of the SERP data element
note that there is no full list of possible values as the data_docid is a dynamic value assigned by Google
example:
17363035694596624076

                sellerstring

name of the seller
the name of the company that placed a corresponding product on Google Shopping

                additional_specificationsobject

object containing additional url parameters
you can get more details about the product by using this object in the POST request to the Google Shopping Product Specification and Google Shopping Sellers endpoint

                reviews_countinteger

number of product reviews
indicates the number of reviews left by users on Google Shopping
if there are no values, you will get null

                is_best_matchboolean

"best match" label
if the value is true, the product is marked with the "best match" label
if there are no values, you will get null

                product_ratingobject

product rating
the product popularity rate based on product reviews

                    typestring

type of element='rating_element'

                    rating_typestring

the type of rating
here you can find the following elements: Max5, Percents, CustomMax

                    valuestring

the value of the rating

                    votes_countinteger

the amount of feedback

                    rating_maxinteger

the maximum value for a rating_type

                    positionstring

alignment of the element in Google Shopping SERP
possible values:
left, right

                shop_ratingobject

shop rating
the popularity rate of the seller based on user reviews

                    typestring

type of element='rating_element'

                    rating_typestring

the type of rating
here you can find the following elements: Max5, Percents, CustomMax

                    valuestring

value of the rating

                    votes_countinteger

the amount of feedback

                    rating_maxinteger

the maximum value for a rating_type

                    positionstring

the alignment of the element in Google Shopping SERP
possible values:
left, right

                product_imagesarray

URLs to the images of the product
the first URL in the array is the featured image of the product

                shop_ad_aclkstring

unique ad click referral parameter
using this parameter you can get a URL of the advertisement in Google Shopping Sellers Ad URL

                delivery_infoobject

delivery information
delivery information including free and fast delivery date ranges

                    delivery_messagestring

delivery information
message accompanying the delivery information as posted by the seller

                    delivery_priceobject

price for the delivery
price of the delivery based on the location you specified in the POST request;
if free delivery is available, the value is null

                        currentfloat

current delivery price

                        regularfloat

regular undiscounted delivery price

                        max_valuefloat

maximum undiscounted delivery price

                        currencystring

currency in the ISO format

                        is_price_rangeboolean

indicates whether the delivery price is a range

                        displayed_pricestring

price line provided as displayed in Google Shopping listing

                stores_count_infoobject

stores count information
contains information about the number of stores that offer the same product

                    countstring

number of stores that offer the product

                    displayed_textstring

text displayed on the Google Shopping page

                    count_from_textboolean

whether the number of stores is taken from text
indicates whether the number of stores is taken from displayed_text;
if the API finds the exact number of stores in the HTML code of the Google Shopping page, this parameter is false;
if the API cannot find the number of stores in the HTML code of the page, it takes the number from the displayed_text;
in this case, the parameter is true

                gidstring

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 null
example:
4702526954592161872
learn more about gid parameter in this help center guide

            related_searchesobject

element in the response

                typestring

type of element='related_searches'

                rank_groupinteger

position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank in SERP
absolute position among all the elements found in Google Shopping SERP

                positionstring

alignment of the element in SERP
can take the following values:
left, right

                xpathstring

XPath of the element

                itemsarray

additional items present in the element
contains a list of related keywords;
if there are none, equals null


‌‌

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="04171054-0696-0179-0000-e56ea58342c5" 
curl --location --request GET "https://api.dataforseo.com/v3/merchant/google/products/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/products/tasks_ready
   $tasks_ready = $client->get('/v3/merchant/google/products/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/products/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/products/task_get/advanced/$id
               /*
               if (isset($task_ready['id'])) {
                  $result[] = $client->get('/v3/merchant/google/products/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/products/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/products/tasks_ready
response = client.get("/v3/merchant/google/products/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/products/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/products/task_get/advanced/$id              
                if(resultTaskInfo['id']):
                    results.append(client.get("/v3/merchant/google/products/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_products_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/products/tasks_ready
            var response = await httpClient.GetAsync("/v3/merchant/google/products/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/products/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/products/task_get/advanced/$id
                                    /*
                                    var tasksGetResponse = await httpClient.GetAsync("/v3/merchant/google/products/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.20210617",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.1346 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "06181608-2806-0179-0000-aff47b17cd54",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.0367 sec.",
      "cost": 0,
      "result_count": 1,
      "path": [
        "v3",
        "merchant",
        "google",
        "products",
        "task_get",
        "advanced",
        "06181608-2806-0179-0000-aff47b17cd54"
      ],
      "data": {
        "se_type": "shopping",
        "se": "google",
        "api": "merchant",
        "function": "products",
        "language_code": "en",
        "location_code": 2840,
        "keyword": "buy iphone",
        "price_min": "5",
        "device": "desktop",
        "os": "windows"
      },
      "result": [
        {
          "keyword": "buy iphone",
          "type": "shopping",
          "se_domain": "google.com",
          "location_code": 2840,
          "language_code": "en",
          "check_url": "https://www.google.com/search?q=iphone&hl=en&gl=US&udm=28&tbs=vw%3A1%2Cmr%3A1%2Cprice%3A1%2Cppr_min%3A5&gws_rd=cr&uule=w+CAIQIFISCQs2MuSEtepUEUK33kOSuTsc",
          "datetime": "2021-06-18 13:08:24 +00:00",
          "spell": null,
          "item_types": [
            "google_shopping_serp",
            "google_shopping_sponsored_carousel",
            "google_shopping_paid",
            "google_shopping_carousel",
            "related_searches"
          ],
          "items_count": 160,
          "items": [
            {
              "type": "google_shopping_sponsored_carousel",
              "rank_group": 1,
              "rank_absolute": 1,
              "position": "left",
              "xpath": "/html[1]/body[1]/div[4]/div[1]/div[4]/div[4]/div[1]/div[3]/div[1]",
              "title": "Shop anker solix ps400 portable solar panel 400w",
              "items": [
                {
                  "type": "google_shopping_sponsored_carousel_element",
                  "xpath": "/html[1]/body[1]/div[4]/div[1]/div[4]/div[4]/div[1]/div[3]/div[1]/g-scrolling-carousel[1]/div[1]/div[1]/div[1]/div[1]",
                  "title": "Anker SOLIX PS400 Portable Solar Panel (400W)",
                  "tags": null,
                  "seller": "Wellbots",
                  "price": 599,
                  "currency": "USD",
                  "product_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": 4.5,
                    "votes_count": 77,
                    "rating_max": 5
                  },
                  "product_images": [
                    "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcRdo5_XnASwEL3775KqchEPTNXSCXwePv5mBtPsaX_FzSncNLyqQ8KmaLp9OsfMfhI1E8fvzrJIubCzrTrYHMOopxbw7ppZAAUZOViYFsjDkmaVIxTVQk3Gpw&usqp=CAE"
                  ],
                  "shop_ad_aclk": "DChcSEwjUhtL2-NeNAxXXSf8BHdzXNBQYABABGgJtZA",
                  "delivery_info": null,
                  "special_offer_info": {
                    "title": "Get 5% OFF this product",
                    "sub_title": "Wellbots",
                    "fixed_discount": null,
                    "fixed_discount_currency": null,
                    "percentage_discount": 5,
                    "coupon_code": "ANKER5",
                    "coupon_info": "Enter code at checkout. Ends in 88 days.",
                    "url": "https://google.com/aclk?sa=l&ai=DChcSEwjUhtL2-NeNAxXXSf8BHdzXNBQYABABGgJtZA&co=1&gclid=EAIaIQobChMI1IbS9vjXjQMV10n_AR3c1zQUEAQYASABEgIFuPD_BwE&category=acrcp_v1_48&sig=AOD64_23wSY7eZMNG11G74uAGy2Q5SjcXA&adurl=&ctype=5",
                    "domain": "google.com"
                  }
                },
                {
                  "type": "google_shopping_sponsored_carousel_element",
                  "xpath": "/html[1]/body[1]/div[4]/div[1]/div[4]/div[4]/div[1]/div[3]/div[1]/g-scrolling-carousel[1]/div[1]/div[1]/div[1]/div[2]",
                  "title": "Anker SOLIX PS400 400W Portable Monocrystalline Solar Panel, 3 Pack",
                  "tags": null,
                  "seller": "Off Grid Stores",
                  "price": 1687,
                  "currency": "USD",
                  "product_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": 4.5,
                    "votes_count": 77,
                    "rating_max": 5
                  },
                  "product_images": [
                    "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcTMezYvI6pDmpZ747hxetN5it1f8VQV2L-rXQIBw6XAnJwG7N8cwSVLvahnp3lyxptkQSZbwWEVs1V9E7R9enQ9cvjjH3mP_QEFFZ0dxmttxgrja3buw_Z7gQ&usqp=CAE"
                  ],
                  "shop_ad_aclk": "DChcSEwjUhtL2-NeNAxXXSf8BHdzXNBQYABAEGgJtZA",
                  "delivery_info": null,
                  "special_offer_info": {
                    "title": "Get 5% Off This Item",
                    "sub_title": "Off Grid Stores",
                    "fixed_discount": null,
                    "fixed_discount_currency": null,
                    "percentage_discount": 5,
                    "coupon_code": "SAVE5",
                    "coupon_info": "Enter code at checkout. Ends in 171 days.",
                    "url": "https://google.com/aclk?sa=l&ai=DChcSEwjUhtL2-NeNAxXXSf8BHdzXNBQYABAEGgJtZA&co=1&gclid=EAIaIQobChMI1IbS9vjXjQMV10n_AR3c1zQUEAQYAiABEgJ6xfD_BwE&category=acrcp_v1_48&sig=AOD64_27Ph82F92iiEMFrRixcA4j9j91IA&adurl=&ctype=5",
                    "domain": "google.com"
                  }
                }
              ]
            },
            {
              "type": "google_shopping_carousel",
              "rank_group": 1,
              "rank_absolute": 2,
              "position": "left",
              "xpath": "/html[1]/body[1]/div[2]/div[1]/div[8]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/g-card[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]",
              "title": "Leather sofas",
              "items": [
                {
                  "type": "google_shopping_carousel_element",
                  "xpath": "/html[1]/body[1]/div[2]/div[1]/div[8]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/g-card[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/product-viewer-group[1]/g-card[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div[1]/g-scrolling-carousel[1]/div[1]/div[1]/div[1]/div[1]/div[1]",
                  "title": "Member's Mark Harrison Leather Sofa",
                  "tags": null,
                  "seller": "Sam's Club",
                  "price": 1099,
                  "currency": "USD",
                  "product_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": 4.1,
                    "votes_count": 10,
                    "rating_max": 5
                  },
                  "product_images": [
                    "https://api.dataforseo.com/cdn/i/12031750-1535-0179-0000-e6129c1768e8:0"
                  ],
                  "shopping_url": "https://google.com/search?ibp=oshop&q=gid:8594841601800484681&prds=gpcid:8594841601800484681,rds:PC_8594841601800484681%7CPROD_PC_8594841601800484681,catalogid:9875690875641841227,pvo:3,pvt:hg&hl=en&gl=US",
                  "product_id": "9875690875641841227",
                  "data_docid": null,
                  "gid": "8594841601800484681",
                  "delivery_info": null,
                  "special_offer_info": null
                },
                {
                  "type": "google_shopping_carousel_element",
                  "xpath": "/html[1]/body[1]/div[2]/div[1]/div[8]/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/g-card[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/product-viewer-group[1]/g-card[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div[1]/g-scrolling-carousel[1]/div[1]/div[1]/div[1]/div[1]/div[5]",
                  "title": "Red Barrel Studio Kensington 95 Genuine Leather Square Arm Sofa",
                  "tags": null,
                  "seller": "Wayfair",
                  "price": 2959.2,
                  "currency": "USD",
                  "product_rating": {
                    "type": "rating_element",
                    "position": "left",
                    "rating_type": "Max5",
                    "value": 5,
                    "votes_count": 4,
                    "rating_max": 5
                  },
                  "product_images": [
                    "https://api.dataforseo.com/cdn/i/12031750-1535-0179-0000-e6129c1768e8:4"
                  ],
                  "shopping_url": "https://google.com/search?ibp=oshop&q=gid:18088842739235690725&prds=gpcid:18088842739235690725,rds:PC_18088842739235690725%7CPROD_PC_18088842739235690725,catalogid:18360250956495375911,pvo:3,pvt:hg&hl=en&gl=US",
                  "product_id": "18360250956495375911",
                  "data_docid": null,
                  "gid": "18088842739235690725",
                  "delivery_info": {
                    "delivery_message": "Free delivery",
                    "delivery_price": null
                  },
                  "special_offer_info": null
                }
              ]
            },
            {
              "type": "google_shopping_serp",
              "rank_group": 1,
              "rank_absolute": 3,
              "position": "left",
              "xpath": "/html[1]/body[1]/div[7]/div[1]/div[8]/div[4]/div[1]/div[2]/div[2]/div[1]/div[1]/div[3]/div[1]/div[2]/div[1]/div[1]",
              "domain": null,
              "title": "Apple iPhone 12 - 128 GB  - Black - Unlocked",
              "description": "5G to download movies on the fly and stream high-quality video. Beautifully bright 6.1-inch Super Retina XDR display. Ceramic Shield with 4x better drop performance. Incredible ...",
              "url": null,
              "shopping_url": null,
              "tags": [
                "Apple",
                "iPhone",
                "iPhone 12",
                "iOS",
                "6.1″",
                "Facial Recognition",
                "12 MP rear camera",
                "Smartphone",
                "With Wireless Charging",
                "Unlocked"
              ],
              "price": 1099.99,
              "price_multiplier": null,
              "old_price": null,
              "currency": "USD",
              "product_id": "3805205938126402128",
              "data_docid": "9874368152810998595",
              "seller": "Back Market",
              "additional_specifications": null,
              "reviews_count": 9134,
              "is_best_match": false,
              "product_rating": {
                "type": "rating_element",
                "position": "left",
                "rating_type": "Max5",
                "value": "4.53",
                "votes_count": 9134,
                "rating_max": null
              },
              "shop_rating": null,
              "product_images": [
                "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcTyvlWQ7vfbfcOhpPl9JaxmIitkcLvBuA-K3IFheTQWgLD2uUZ_j6GAo8PXWNtqbBo7Xdw4NKo&usqp=CAE",
                "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcQWtZU1MxfoHzY8KNjNkD69mxqXedHzPnfOfzSFL2TWgkDYX8k&usqp=CAE",
                "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcR2y2S5BmNwtg2yaK6eykVZv18SBxs-aOOjuA7mZSLAlElbBgf4qODGR6WsRYVL8iRE9j-LUCo&usqp=CAE",
                "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcTwV5cviDm6KAHpx5rxVmJpK3lz2qlQlby6cX3qzj3rl9T_IuERy44_GPXS4fXEWI1eqQnuw9c&usqp=CAE"
              ],
              "shop_ad_aclk": "DChcSEwikz5aloKHxAhX8R5EFHc8oBzsYABA-GgJscg",
              "delivery_info": {
                "delivery_message": "$124.88 delivery",
                "delivery_price": {
                  "current": 124.88,
                  "regular": null,
                  "max_value": null,
                  "currency": "USD",
                  "is_price_range": false,
                  "displayed_price": "$124.88"
                },
                "stores_count_info": {
                  "count": 5,
                  "displayed_text": "Compare prices from 5+ stores",
                  "count_from_text": false
                },
                "gid": "9961958114952839788"
              }
            },
            {
              "type": "google_shopping_paid",
              "rank_group": 1,
              "rank_absolute": 103,
              "position": "left",
              "xpath": "/html[1]/body[1]/div[7]/div[1]/div[8]/div[4]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]",
              "domain": "www.visible.com",
              "title": "Visible® $40/mo Phone Service - Up to $150 Prepaid Mastercard",
              "description": "Includes Unlimited Data, Messages & Minutes on Verizon’s 4G LTE Network. Switch to Visible. Get up to $150 Prepaid Mastercard when buying an iPhone & switch to Visible. Terms Apply. Now with 5G. 0% APR Affirm Financing. As low as $25/mo/line.",
              "url": "https://www.visible.com/apple",
              "shop_ad_aclk": null
            },
            {
              "type": "related_searches",
              "rank_group": 223,
              "rank_absolute": 82,
              "position": "right",
              "xpath": "XPath1f2a2c1c-d234-4fb5-ac16-06f7c241b07c",
              "items": [
                "a5962a4c-d5ad-483b-9f94-936e7a66d593",
                "8a7e08f3-9583-4add-9241-85f68bd0db05",
                "c722f2fd-dc43-411c-a247-e3a31f6103f0"
              ]
            }
          ]
        }
      ]
    }
  ]
}