Stay organized with collections
Save and categorize content based on your preferences.
We recommend using the
Google API client libraries to set
up the Content API for Shopping. This guide uses the Python Content API client
libraries as an example, but they're available for many popular programming
languages and simplify common API tasks like authentication, sending requests,
and parsing responses. For help setting up client libraries for
other languages, see the README.md for the language within the
googleads/googleads-shopping-samples
repo on GitHub.
To set up the Google API client library for Python, complete the following steps:
Create a directory for the client library's configuration and authentication
files. Within your home directory, create the following directories:
~/shopping-samples/content/
To download your service account credentials, complete the following steps:
Select a project in the menu at the top of the page. If you don't have one
yet, create one by clicking New project.
If you haven't already enabled the Content API for Shopping for this
project, then search for it in the list of Google APIs and enable it.
In the sidebar on the left, select Credentials. You may need to click
the left-pointing arrow at the top left to see this.
To set up a service account, select Create credentials, and then
Service account.
Name the new service account. This also serves as the default username for
the service account ID. Record the service account ID, including the part
after the '@' character, for later use. Click Create, then go through
the optional steps of granting access to project and users, and click
Done.
You will be directed to the Service Accounts page where your new service
account can be accessed.
To obtain a JSON private key, click the service account, then the Keys
tab. Click Add key > Create new key, and then select JSON as the
key type. Click Create to download the private key to your computer.
The new key downloads automatically.
Rename the downloaded credentials file to service-account.json.
Move the service-account.json file to your
home directory/shopping-samples/content/.
In your home directory/shopping-samples/content/, create an
empty merchant-info.json file.
In merchant-info.json, add the following text:
{"merchantId":yourMerchantCentermerchantID,"accountSampleUser":"the email address associated with your Merchant Center account"}
Add the new service account as a user to your Merchant Center account. If you
are a third-party developer, you will need to have your client do this step
for you.
In the settings of your Merchant Center account, select People and
access.
Click + Add person and use the service account ID as the email address
for the new user.
The use of the Accounts service requires Admin access, so select
Admin.
Click Add user to save preferences and be returned to the list of
users. The service account ID is listed with the chosen user role.
Repeat the process for all other service accounts you want to add.
Clone (or download and unzip) the
googleads/googleads-shopping-samples
GitHub repo to any location on your computer; it does not have to be in your
home directory or in ~/shopping-samples/content/.
If you downloaded and unzipped the repo, instead of cloning it, rename the
unzipped directory to googleads-shopping-samples.
To install the required sample dependencies, in a terminal window,
navigate to googleads-shopping-samples/python/ and run:
pip install -r requirements.txt
You now have the Google API client library for Python configured and ready to use with the Content API. In the next section, you’ll create and send a request to insert a new product.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-13 UTC."],[[["\u003cp\u003eThe Merchant API is the new version of the Content API for Shopping and represents the future of product data integration.\u003c/p\u003e\n"],["\u003cp\u003eTo use the Merchant API, you need to set up the Google API client libraries, which are available for various programming languages and simplify API interactions.\u003c/p\u003e\n"],["\u003cp\u003eSetup involves creating necessary directories, downloading service account credentials, configuring a \u003ccode\u003emerchant-info.json\u003c/code\u003e file, and adding the service account to your Merchant Center account.\u003c/p\u003e\n"],["\u003cp\u003eYou'll need to clone the \u003ccode\u003egoogleads/googleads-shopping-samples\u003c/code\u003e GitHub repo and install the required dependencies using \u003ccode\u003epip install -r requirements.txt\u003c/code\u003e.\u003c/p\u003e\n"]]],["The content details the setup for using the Google API client library with the new Merchant API beta, an evolution of the Content API for Shopping. Key steps include: creating directories for configuration and authentication files; downloading service account credentials (including generating a JSON private key); setting up `merchant-info.json` with Merchant Center ID and email; adding the service account as a Merchant Center user with Admin access; cloning or downloading the `googleads-shopping-samples` repository; and installing required Python dependencies via `pip`.\n"],null,["| Meet the [Merchant API (beta)](/merchant/api) - the official successor to the Content\n| API for Shopping.\n|\n|\n| [Get the latest](/merchant/api/latest-updates) on new features, bug fixes, and release\n| updates of the Merchant API (beta).\n|\n|\n| Learn how to manage your business and products on Google and how to get programmatic access to\n| data, insights, and unique capabilities at scale. [Get\n| started now](/merchant/api/guides/quickstart)\n\nWe recommend using the\n[Google API client libraries](/api-client-library) to set\nup the Content API for Shopping. This guide uses the Python Content API client\nlibraries as an example, but they're available for many popular programming\nlanguages and simplify common API tasks like authentication, sending requests,\nand parsing responses. For help setting up client libraries for\nother languages, see the **README.md** for the language within the\n[googleads/googleads-shopping-samples](//github.com/googleads/googleads-shopping-samples)\nrepo on GitHub.\n| **Note:** You need to install several required libraries to use the sample code in Python. For this reason, we recommend creating a Python virtual environment before you proceed. For more information, see [Installing packages using pip and virtual environments](//packaging.python.org/guides/installing-using-pip-and-virtual-environments/).\n\nTo set up the Google API client library for Python, complete the following steps:\n\n1. Create a directory for the client library's configuration and authentication\n files. Within your home directory, create the following directories:\n\n **\\~/shopping-samples/content/**\n | **Note:** This path, as well as the filename for the **merchant-info.json** file created in step 5, are defined in the **python/shopping/content/common.py** file within the Content API samples directory downloaded in step 7.\n2. To download your service account credentials, complete the following steps:\n\n 1. Go to the [Google API library](//console.cloud.google.com/apis/library).\n 2. Select a project in the menu at the top of the page. If you don't have one yet, create one by clicking **New project**.\n 3. If you haven't already enabled the Content API for Shopping for this project, then search for it in the list of Google APIs and enable it.\n 4. In the sidebar on the left, select **Credentials**. You may need to click the left-pointing arrow at the top left to see this.\n 5. To set up a service account, select **Create credentials** , and then **Service account**.\n 6. Name the new service account. This also serves as the default username for the service account ID. Record the service account ID, including the part after the '@' character, for later use. Click **Create** , then go through the optional steps of granting access to project and users, and click **Done**.\n 7. You will be directed to the Service Accounts page where your new service account can be accessed.\n3. To obtain a JSON private key, click the service account, then the **Keys**\n tab. Click **Add key** \\\u003e **Create new key** , and then select JSON as the\n key type. Click **Create** to download the private key to your computer.\n The new key downloads automatically.\n\n4. Rename the downloaded credentials file to **service-account.json**.\n\n | **Note:** This filename is defined in the **_constants.py** file, which is located in **python/shopping/content/** within the Content API samples directory downloaded in step 7.\n5. Move the **service-account.json** file to your\n **\u003cvar translate=\"no\"\u003ehome directory\u003c/var\u003e/shopping-samples/content/**.\n\n6. In your **\u003cvar translate=\"no\"\u003ehome directory\u003c/var\u003e/shopping-samples/content/** , create an\n empty **merchant-info.json** file.\n\n7. In **merchant-info.json**, add the following text:\n\n {\n \"merchantId\": \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-err\"\u003eyour\u003c/span\u003e\u003cspan class=\"devsite-syntax-w\"\u003e \u003c/span\u003e\u003cspan class=\"devsite-syntax-err\"\u003eMercha\u003c/span\u003e\u003cspan class=\"devsite-syntax-kc\"\u003ent\u003c/span\u003e\u003cspan class=\"devsite-syntax-w\"\u003e \u003c/span\u003e\u003cspan class=\"devsite-syntax-err\"\u003eCe\u003c/span\u003e\u003cspan class=\"devsite-syntax-kc\"\u003enter\u003c/span\u003e\u003cspan class=\"devsite-syntax-w\"\u003e \u003c/span\u003e\u003cspan class=\"devsite-syntax-err\"\u003emercha\u003c/span\u003e\u003cspan class=\"devsite-syntax-kc\"\u003ent\u003c/span\u003e\u003cspan class=\"devsite-syntax-w\"\u003e \u003c/span\u003e\u003cspan class=\"devsite-syntax-err\"\u003eID\u003c/span\u003e\u003c/var\u003e,\n \"accountSampleUser\": \"\u003cvar translate=\"no\"\u003ethe email address associated with your Merchant Center account\u003c/var\u003e\"\n }\n\n8. Add the new service account as a user to your Merchant Center account. If you\n are a third-party developer, you will need to have your client do this step\n for you.\n\n 1. Go to your [Merchant Center account](//merchants.google.com).\n 2. In the settings of your Merchant Center account, select **People and\n access**.\n 3. Click **+ Add person** and use the service account ID as the email address\n for the new user.\n\n | **Note:** If you did not take note of the service account ID earlier, go to the [Service Accounts administration\n | page](//console.developers.google.com/iam-admin/serviceaccounts) and select the project you created.\n 4. The use of the `Accounts` service requires Admin access, so select\n **Admin**.\n\n 5. Click **Add user** to save preferences and be returned to the list of\n users. The service account ID is listed with the chosen user role.\n\n 6. Repeat the process for all other service accounts you want to add.\n\n9. Clone (or download and unzip) the\n [googleads/googleads-shopping-samples](//github.com/googleads/googleads-shopping-samples)\n GitHub repo to any location on your computer; it does not have to be in your\n home directory or in **\\~/shopping-samples/content/**.\n\n10. If you downloaded and unzipped the repo, instead of cloning it, rename the\n unzipped directory to **googleads-shopping-samples**.\n\n11. To install the required sample dependencies, in a terminal window,\n navigate to **googleads-shopping-samples/python/** and run:\n\n pip install -r requirements.txt\n\nYou now have the Google API client library for Python configured and ready to use with the Content API. In the next section, you'll create and send a request to insert a new product."]]