rocket
Meet
Merchant API
- the official successor to Content API for Shopping.
update
Get the latest
on new Merchant API features, bug fixes, and updates.
add_alert
Note: Content API for Shopping will be sunset on August 18, 2026.
Method: products.insert
Stay organized with collections
Save and categorize content based on your preferences.
Uploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry.
HTTP request
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Path parameters
Parameters |
merchantId |
string
The ID of the account that contains the product. This account cannot be a multi-client account.
|
Query parameters
Parameters |
feedId |
string
The Content API Supplemental Feed ID. If present then product insertion applies to the data in a supplemental feed.
|
Request body
The request body contains an instance of Product
.
Response body
If successful, the response body contains a newly created instance of Product
.
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/content
For more information, see the OAuth 2.0 Overview.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-02-25 UTC.
[null,null,["Last updated 2025-02-25 UTC."],[[["\u003cp\u003eThis operation uploads a new product or updates an existing one in your Merchant Center account based on matching criteria.\u003c/p\u003e\n"],["\u003cp\u003eThe product data is sent in the request body as a \u003ccode\u003eProduct\u003c/code\u003e object and the response, if successful, also contains a \u003ccode\u003eProduct\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eYou need to provide your \u003ccode\u003emerchantId\u003c/code\u003e as a path parameter, and optionally a \u003ccode\u003efeedId\u003c/code\u003e as a query parameter for supplemental feeds.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization is required using the \u003ccode\u003ehttps://www.googleapis.com/auth/content\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"]]],["This document details the process of uploading a product to a Merchant Center account via the Content API. It uses a `POST` request to `https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products`. The `merchantId` is a required path parameter. An optional `feedId` query parameter can specify a supplemental feed. The request body contains `Product` data. A successful response returns a new `Product` instance. Authorization requires the `https://www.googleapis.com/auth/content` OAuth scope. Existing products matching channel, language, offerId, and country will be updated.\n"],null,["# Method: products.insert\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nUploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry.\n\n### HTTP request\n\n`POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products`\n\n### Path parameters\n\n| Parameters ||\n|--------------|----------------------------------------------------------------------------------------------------------|\n| `merchantId` | `string` The ID of the account that contains the product. This account cannot be a multi-client account. |\n\n### Query parameters\n\n| Parameters ||\n|----------|------------------------------------------------------------------------------------------------------------------------------|\n| `feedId` | `string` The Content API Supplemental Feed ID. If present then product insertion applies to the data in a supplemental feed. |\n\n### Request body\n\nThe request body contains an instance of [Product](/shopping-content/reference/rest/v2.1/products#Product).\n\n### Response body\n\nIf successful, the response body contains a newly created instance of [Product](/shopping-content/reference/rest/v2.1/products#Product).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/content`\n\nFor more information, see the [OAuth 2.0 Overview](/identity/protocols/OAuth2)."]]