# Google Shopping product search task

Google Shopping product search: create a task (results in a few minutes). Takes keyword, location code, location name and more, all optional. Served by DataForSEO.

Google Shopping product search: create a task (results in a few minutes), by DataForSEO. Returns a task id; fetch results with dataforseo/google-shopping-products-result (status 40602 = still in queue). Price: $0.001 per SERP of 40 products (standard queue), $0.002 with priority 2. Results are free for 30 days. Billed at the cost DataForSEO reports for the call; the quote is the upper bound. 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/google-shopping-products-task`
- Name in the catalog: Google Shopping product search: create a task (results in a few minutes)
- 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 $0.05. Your agent sees the maximum before running.


```json
{
  "model": "reported",
  "costPath": "cost",
  "maxUsdDefault": 0.001,
  "maxUsdCap": 0.05,
  "multipliers": [
    {
      "when": {
        "field": "depth",
        "gte": 41
      },
      "addUsd": 0.001
    },
    {
      "when": {
        "field": "depth",
        "gte": 81
      },
      "addUsd": 0.001
    },
    {
      "when": {
        "field": "priority",
        "equals": 2
      },
      "totalFactor": 2
    }
  ],
  "requireCost": true
}
```

### Action-specific pricing


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

Pricing source: [https://dataforseo.com/pricing/merchant/google-shopping-api](https://dataforseo.com/pricing/merchant/google-shopping-api). $0.001 per SERP of 40 products (standard queue), $0.002 with priority 2. Results are free for 30 days..

Price verification date: 2026-10-10.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "minLength": 1,
      "maxLength": 700
    },
    "location_code": {
      "type": "integer",
      "description": "Location code from DataForSEO (location_code (2840 United States, 2250 France, 2826 United Kingdom, 2276 Germany, 2724 Spain, 2380 Italy, 2124 Canada) or location_name such as \"Paris,Ile-de-France,France\"). One of location_code or location_name is required."
    },
    "location_name": {
      "type": "string",
      "maxLength": 200,
      "description": "Full location name, e.g. \"London,England,United Kingdom\" or \"France\"."
    },
    "language_code": {
      "type": "string",
      "maxLength": 10,
      "description": "Language code, e.g. en, fr, de. One of language_code or language_name is required."
    },
    "language_name": {
      "type": "string",
      "maxLength": 60,
      "description": "Language name, e.g. English."
    },
    "se_domain": {
      "type": "string",
      "maxLength": 50,
      "description": "google.fr, google.co.uk... (auto by location)."
    },
    "price_min": {
      "type": "integer",
      "minimum": 0
    },
    "price_max": {
      "type": "integer",
      "minimum": 0
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "review_score",
        "price_low_to_high",
        "price_high_to_low"
      ]
    },
    "depth": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120,
      "description": "Products, billed per SERP of 40."
    },
    "priority": {
      "type": "integer",
      "enum": [
        1,
        2
      ],
      "description": "2 = high priority, x2, about one minute."
    },
    "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": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 700
          },
          "location_code": {
            "type": "integer",
            "description": "Location code from DataForSEO (location_code (2840 United States, 2250 France, 2826 United Kingdom, 2276 Germany, 2724 Spain, 2380 Italy, 2124 Canada) or location_name such as \"Paris,Ile-de-France,France\"). One of location_code or location_name is required."
          },
          "location_name": {
            "type": "string",
            "maxLength": 200,
            "description": "Full location name, e.g. \"London,England,United Kingdom\" or \"France\"."
          },
          "language_code": {
            "type": "string",
            "maxLength": 10,
            "description": "Language code, e.g. en, fr, de. One of language_code or language_name is required."
          },
          "language_name": {
            "type": "string",
            "maxLength": 60,
            "description": "Language name, e.g. English."
          },
          "se_domain": {
            "type": "string",
            "maxLength": 50,
            "description": "google.fr, google.co.uk... (auto by location)."
          },
          "price_min": {
            "type": "integer",
            "minimum": 0
          },
          "price_max": {
            "type": "integer",
            "minimum": 0
          },
          "sort_by": {
            "type": "string",
            "enum": [
              "review_score",
              "price_low_to_high",
              "price_high_to_low"
            ]
          },
          "depth": {
            "type": "integer",
            "minimum": 1,
            "maximum": 120,
            "default": 40,
            "description": "Products, billed per SERP of 40."
          },
          "priority": {
            "type": "integer",
            "enum": [
              1,
              2
            ],
            "default": 1,
            "description": "2 = high priority, x2, about one minute."
          },
          "action": {
            "const": "submit"
          }
        },
        "required": [
          "keyword"
        ],
        "additionalProperties": false,
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "location_code"
                ]
              },
              {
                "required": [
                  "location_name"
                ]
              }
            ]
          },
          {
            "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/google-shopping-products-task",
  "input": {
    "keyword": "usb c cable",
    "location_code": 2840,
    "language_code": "en",
    "depth": 10,
    "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/products/task_post/)

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

---

[HTML page](/providers/dataforseo/google-shopping-products-task) · [Agent index](/llms.txt)
