# Google Shopping product info

This endpoint provides data on a product listed on Google Shopping, including product description, images, rating, variations, specifications and sellers. Takes product id, data docid, gid and more, all optional. Served by DataForSEO.

This endpoint provides data on a product listed on Google Shopping, including product description, images, rating, variations, specifications and sellers. In order to set a task, you have to specify one of the following fields: product_id, data_docid, or gid. Submit once with action=submit. Reuse this same tool with action=result and its id to read status/output at no additional cost. Queued is not finished.

- Tool ID: `dataforseo/merchant-google-product-info`
- Name in the catalog: Merchant Google Product Info
- Provider: [DataForSEO](/providers/dataforseo.md)
- Capability: [Google Shopping](/tools/ecommerce/google-shopping.md)
- Price: usage based, the maximum is shown before a run
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

Billed at the cost the provider reports for the call, never above $100. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "cost",
  "maxUsdDefault": 0.001,
  "maxUsdCap": 100,
  "multipliers": [
    {
      "when": {
        "field": "priority",
        "equals": 2
      },
      "factor": 2
    }
  ],
  "requireCost": true
}
```

### Action-specific pricing


```json
[
  {
    "field": "action",
    "equals": "result",
    "pricing": {
      "model": "per_call",
      "amountUsd": 0
    }
  }
]
```

Pricing source: [https://docs.dataforseo.com/v3/appendix/user_data/](https://docs.dataforseo.com/v3/appendix/user_data/). Account tariff merchant/google/product_info/task_post; bounds applied to inputs; actual cost from provider response..

Price verification date: 2026-10-10.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "string",
      "description": "unique product identifier on Google Shopping required field if data_docid or gid is not specified we recommend specifying product_id together with data_docid and gid for optimal results; you can get this value for a certain product by makin",
      "maxLength": 2000,
      "minLength": 1
    },
    "data_docid": {
      "type": "string",
      "description": "unique identifier of the SERP data element required field if product_id or gid is not specified we recommend specifying data_docid together with product_id and gid for optimal results; you can get this value for a certain element by making ",
      "maxLength": 2000,
      "minLength": 1
    },
    "gid": {
      "type": "string",
      "description": "global product identifier on Google Shopping required field if product_id or data_docid is not specified we recommend specifying gid together with product_id and data_docid for optimal results; you can get this value for a certain product b",
      "maxLength": 2000,
      "minLength": 1
    },
    "priority": {
      "type": "integer",
      "description": "task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priorityYou will be additionally charged for the tasks with high execution priority. The cost can be calculated on",
      "enum": [
        1,
        2
      ]
    },
    "location_name": {
      "type": "string",
      "description": "full name of the location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available Google Shopping l",
      "maxLength": 2000,
      "minLength": 1
    },
    "location_code": {
      "type": "integer",
      "description": "location code required field if you don't specify location_name_or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available Google Shopping locations wit"
    },
    "location_coordinate": {
      "type": "string",
      "description": "GPS coordinates of a location required field if you don't specify location_name_or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latit",
      "maxLength": 2000,
      "minLength": 1
    },
    "language_name": {
      "type": "string",
      "description": "full name of the language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available Google Shopping languages with their language_name by making a ",
      "maxLength": 2000,
      "minLength": 1
    },
    "language_code": {
      "type": "string",
      "description": "language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available Google Shopping languages with their language_code_by making a separate req",
      "maxLength": 10,
      "minLength": 1
    },
    "se_domain": {
      "type": "string",
      "description": "search engine domain optional field we choose the relevant search engine domain automatically according to the location and language you specify however, you can set a custom search engine domain in this field example: google.co.uk, google.",
      "maxLength": 2000,
      "minLength": 1
    },
    "tag": {
      "type": "string",
      "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      "maxLength": 255
    },
    "action": {
      "type": "string",
      "enum": [
        "submit",
        "result"
      ],
      "default": "submit"
    },
    "id": {
      "type": "string",
      "minLength": 8,
      "maxLength": 80,
      "pattern": "^[A-Za-z0-9-]+$"
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "action": {
            "const": "result"
          }
        },
        "required": [
          "action"
        ]
      },
      "then": {
        "type": "object",
        "properties": {
          "action": {
            "const": "result"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80,
            "pattern": "^[A-Za-z0-9-]+$"
          }
        },
        "required": [
          "action",
          "id"
        ],
        "additionalProperties": false
      },
      "else": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string",
            "description": "unique product identifier on Google Shopping required field if data_docid or gid is not specified we recommend specifying product_id together with data_docid and gid for optimal results; you can get this value for a certain product by makin",
            "maxLength": 2000,
            "minLength": 1
          },
          "data_docid": {
            "type": "string",
            "description": "unique identifier of the SERP data element required field if product_id or gid is not specified we recommend specifying data_docid together with product_id and gid for optimal results; you can get this value for a certain element by making ",
            "maxLength": 2000,
            "minLength": 1
          },
          "gid": {
            "type": "string",
            "description": "global product identifier on Google Shopping required field if product_id or data_docid is not specified we recommend specifying gid together with product_id and data_docid for optimal results; you can get this value for a certain product b",
            "maxLength": 2000,
            "minLength": 1
          },
          "priority": {
            "type": "integer",
            "description": "task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priorityYou will be additionally charged for the tasks with high execution priority. The cost can be calculated on",
            "enum": [
              1,
              2
            ],
            "default": 1
          },
          "location_name": {
            "type": "string",
            "description": "full name of the location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available Google Shopping l",
            "maxLength": 2000,
            "minLength": 1
          },
          "location_code": {
            "type": "integer",
            "description": "location code required field if you don't specify location_name_or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available Google Shopping locations wit"
          },
          "location_coordinate": {
            "type": "string",
            "description": "GPS coordinates of a location required field if you don't specify location_name_or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latit",
            "maxLength": 2000,
            "minLength": 1
          },
          "language_name": {
            "type": "string",
            "description": "full name of the language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available Google Shopping languages with their language_name by making a ",
            "maxLength": 2000,
            "minLength": 1
          },
          "language_code": {
            "type": "string",
            "description": "language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available Google Shopping languages with their language_code_by making a separate req",
            "maxLength": 10,
            "minLength": 1
          },
          "se_domain": {
            "type": "string",
            "description": "search engine domain optional field we choose the relevant search engine domain automatically according to the location and language you specify however, you can set a custom search engine domain in this field example: google.co.uk, google.",
            "maxLength": 2000,
            "minLength": 1
          },
          "tag": {
            "type": "string",
            "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
            "maxLength": 255
          },
          "action": {
            "const": "submit"
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "location_code"
                ]
              },
              {
                "required": [
                  "location_name"
                ]
              },
              {
                "required": [
                  "location_coordinate"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "language_code"
                ]
              },
              {
                "required": [
                  "language_name"
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "dataforseo/merchant-google-product-info",
  "input": {
    "language_code": "en",
    "location_code": 2840,
    "product_id": "1113158713975221117",
    "priority": 1,
    "action": "submit"
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://docs.dataforseo.com/v3/merchant/google/product_info/task_post/)

[REST inspection](https://api.agentik.cc/v1/tools/dataforseo/merchant-google-product-info) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/dataforseo/merchant-google-product-info) · [Agent index](/llms.txt)
