Integrations

Google Merchant Center

Connect Google Merchant Center to manage product feeds, listings, local inventory, promotions, and performance reports.

OAuth authorizationEcommerce & MarketplacesGoogle Merchant Center API docs

You end up pasting an OAuth Client ID and Client Secret from a Google Cloud project that has the Merchant API enabled and has been registered as a developer against your Merchant Center account.

Setup time
12 min
Auth
OAuth authorization
API base URL
https://merchantapi.googleapis.com

Before you begin

  • A Google Merchant Center account with products or a feed
  • Admin access level in Merchant Center. Developer registration requires it
  • A Google Cloud project where you are Owner or Editor
  • The Google Account you sign in with must also be a user on the Merchant Center account

Get your credentials

Enable the Merchant API on a dedicated Cloud project

Pick or create a project of your own, open APIs & Services -> Library, search for Merchant API, and click Enable. Enable merchantapi.googleapis.com, not the legacy Content API for Shopping.

Open this screen →

console.cloud.google.com/apis/library/merchantapi.googleapis.com
Search (/) for resources, docs, products, and morepopmcp-merchant-482910
APIs & Services / Library / Merchant API

Merchant API

Programmatic access to Merchant Center products, inventory and reporting.

Merchant API
Service name
merchantapi.googleapis.com
Project
popmcp-merchant-482910
Type
Google Enterprise API
Enable
Related APIStatus
Merchant APImerchantapi.googleapis.comNot enabled
Content API for Shoppingshoppingcontent.googleapis.comLegacy

Same thing from the CLI: gcloud services enable merchantapi.googleapis.com

Register the Cloud project as a developer on your Merchant Center account

Sign in with an Admin-level Merchant Center account and call accounts.developerRegistration.registerGcp for that account, passing the project you just enabled. Wait about five minutes before your first API call.

Open this screen →

Fill in the branding and publish the app

Under Google Auth Platform -> Branding set the app name, logo, support email and your homepage, privacy policy and terms links. Then open Audience and click Publish app if Publishing status reads Testing.

Open this screen →

console.cloud.google.com/auth/audience
Search (/) for resources, docs, products, and morepopmcp-merchant-482910
Google Auth Platform / Audience

Audience

The user groups that can authorize your app to access their account data.

Publishing status
User type
External
Publishing status
Testing
Publish app
Branding
App name
PopMCP
User support email
support@popmcp.app
Application home page
https://popmcp.app
Privacy policy link
https://popmcp.app/privacy
Testing-mode external apps get refresh tokens that Google expires after 7 days.

Create a Web application OAuth client

Go to Google Auth Platform -> Clients, click Create client, choose Application type Web application, and name it PopMCP. Paste the exact callback URL from the PopMCP connect form under Authorized redirect URIs.

Open this screen →

console.cloud.google.com/auth/clients/create
Search (/) for resources, docs, products, and morepopmcp-merchant-482910
Google Auth Platform / Clients / Create client

Create OAuth client ID

A client ID identifies your app to Google's OAuth 2.0 endpoint.

Merchant API rejects API keys. OAuth 2.0 is the only supported credential.
Client details
Application type
Web application
Name
PopMCP
Authorized JavaScript origins
Authorized redirect URIs
copy the exact callback URL from the PopMCP connect form
CancelCreate

Copy the Client ID and Client Secret straight away

Copy both values out of the OAuth client created dialog into PopMCP's OAuth Client ID and OAuth Client Secret fields. If the dialog is gone, open the client and click Add secret.

console.cloud.google.com/auth/clients
Search (/) for resources, docs, products, and morepopmcp-merchant-482910
Google Auth Platform / Clients

Clients

NameTypeClient IDStatus
PopMCP1 secretWeb application4829****googleusercontent.comActive
OAuth client created
Client ID
4829****-p9q8r7s6t5u4.apps.googleusercontent.com
Client secret
GOCSPX-****-****zN3d
Download JSONOK

After this dialog the console keeps only the last four characters of the secret.

Connect in PopMCP

Open your workspace, choose Google Merchant Center in the marketplace, and fill in the connect dialog:

FieldWhat to enter
OAuth Client IDtextFrom your Google Cloud project → APIs & Services → Credentials → OAuth client. Enable the Merchant API on the same project.
OAuth Client SecretsecretStored encrypted; used server-side only and never shown again.Encrypted with AES-256-GCM on save and never shown again.
Callback URL
https://app.popmcp.com/api/providers/google/callback

PopMCP verifies the credential against Google Merchant Center immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Permissions PopMCP requests

These are the scopes sent to Google Merchant Center at authorization time.

ScopeWhy PopMCP asks for it
https://www.googleapis.com/auth/contentThe single Merchant API scope. It covers product feeds and listings, data sources, local and regional inventory, promotions, return policies, account settings and performance reports.

Verify it worked

PopMCP opens Google's consent screen. Approve it and the connector flips to Connected with your Merchant Center account id shown. Ask the assistant to list a handful of products. Real titles coming back means the API is enabled, the scope is granted, and developer registration went through.

Troubleshooting

401 "GCP project with id ... is not registered with the merchant account"

Why: Developer registration was never run for this Cloud project. There is no Merchant Center UI for it, the registerGcp API call is the only way.

Fix: Run accounts.developerRegistration.registerGcp with an Admin Merchant Center login, then retry after about 5 minutes.

Authentication errors when using an API key

Why: Merchant API does not support API keys at all.

Fix: Use the OAuth client ID and secret. That is what PopMCP's two fields are for.

Consent succeeds but no products are visible

Why: The Google Account that signed in is not a user on the Merchant Center account, or is on a different sub-account.

Fix: Add that email on the Merchant Center Access and services page with at least Standard access, Admin for registration, then reconnect.

Connection stops working after about a week

Why: The OAuth app is still in Testing status, so the refresh token expires in 7 days.

Fix: Google Auth Platform -> Audience -> Publish app, then reconnect in PopMCP.

403 SERVICE_DISABLED for merchantapi.googleapis.com

Why: The Merchant API is enabled on a different project than the one the OAuth client belongs to.

Fix: Confirm the project picker matches, then enable Merchant API in APIs & Services -> Library on that project.

Reference

On this page