> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Merchant Center Integration for AI Agents & Workflows

> Manage product listings in Google Merchant Center via the Shopping Content API

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/google-merchant-center.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=48146af0502ec72ba89fcef8a8ba3a19" alt="Google Merchant Center logo" width="72" height="72" data-path="logos/google-merchant-center.svg" />

## Overview

Add **Google Merchant Center** to any ModuleX agent or workflow. Manage product listings in Google Merchant Center via the Shopping Content API (`shoppingcontent.googleapis.com/content/v2.1`).

<Info>
  **Categories**: E-Commerce · Marketing · Google · **Auth**: OAuth2 · **Actions**: 2
</Info>

## Authentication

### OAuth2 Authentication

Connect using Google OAuth (recommended)

#### Required Credentials

| Field         | Description                                      | Required | Format      |
| ------------- | ------------------------------------------------ | -------- | ----------- |
| Client ID     | Google OAuth App Client ID                       | Yes      | `-`         |
| Client Secret | Google OAuth App Client Secret                   | Yes      | `-`         |
| Merchant ID   | Your Google Merchant Center account ID (numeric) | Yes      | `123456789` |

#### OAuth Configuration

* **Authorization URL**: `https://accounts.google.com/o/oauth2/v2/auth`
* **Token URL**: `https://oauth2.googleapis.com/token`
* **Scopes**: `https://www.googleapis.com/auth/content`

## Available Actions

<AccordionGroup>
  <Accordion title="create_product — Creates a product in your Google Merchant Center account">
    ### Parameters

    <ResponseField name="offer_id" type="string" required>
      A unique identifier for the item
    </ResponseField>

    <ResponseField name="content_language" type="string" required>
      The two-letter ISO 639-1 language code for the item (e.g. 'en', 'fr', 'de')
    </ResponseField>

    <ResponseField name="target_country" type="string" required>
      The CLDR territory code for the item's country of sale (e.g. 'US', 'GB', 'DE')
    </ResponseField>

    <ResponseField name="channel" type="string" required>
      The item's channel: 'local' or 'online'
    </ResponseField>

    <ResponseField name="title" type="string">
      Your product's name (max 150 characters)
    </ResponseField>

    <ResponseField name="description" type="string">
      Your product's description (max 5000 characters)
    </ResponseField>

    <ResponseField name="additional_options" type="object">
      Additional product attributes as a JSON object (e.g. 'link', 'imageLink', 'price', 'availability')
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateProductOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_product — Updates an existing product in your Google Merchant Center account">
    ### Parameters

    <ResponseField name="product_id" type="string" required>
      The ID of the product to update (e.g. 'online:en:US:offer123')
    </ResponseField>

    <ResponseField name="updated_values" type="object" required>
      Product attributes to update as a JSON object with attribute names as keys
    </ResponseField>

    <ResponseField name="update_mask" type="array">
      List of product attribute names to update. Attributes in this list without a value in updated\_values will be deleted
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateProductOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Rate limits**: Google Shopping Content API has per-project and per-user quotas managed via the Google Cloud Console. Default is approximately 7,000 requests per 100 seconds per project.
* **Error model**: Non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Ahrefs" href="/integrations/tools/ahrefs" />

  <Card title="Amazon Selling Partner" href="/integrations/tools/amazon-selling-partner" />

  <Card title="Amplitude" href="/integrations/tools/amplitude" />
</CardGroup>

## Links

* [Google Merchant Center](https://merchants.google.com)
