On this page
The Google Merchant API is how software now sends products to Google Merchant Center. Its predecessor, the Content API for Shopping, is being switched off. This guide is for store owners and developers: how to tell whether your store’s feed depends on the old API, what changes in the new one, and what to do about it. The examples come from nopCommerce, but the steps apply to any online store.
What happened to the Content API for Shopping
For years, feed plugins and apps used the Content API for Shopping (often just called the Google Content API) to push products, prices and stock to Merchant Center. Google released its successor, the Merchant API, and set a date for the old one to end. According to Google’s Content API sunset page (opens in a new tab) and the Merchant API updates page (opens in a new tab):
| Date | What happens |
|---|---|
| July 2025 | Merchant API v1 becomes generally available as the official successor to the Content API for Shopping. |
| 28 February 2026 | Merchant API v1beta is discontinued. Calls must use v1 (or v1alpha for alpha features). |
| 18 August 2026 | The Content API for Shopping reaches its sunset. |
| 1 September 2026 | Progressive degradation starts. Requests without an active extension fail intermittently with HTTP 410 Gone, and more often over time. |
| Early 2027 | Final decommissioning. Google says the timing may change with migration progress, and extensions don’t go past it. |
The important part is the middle stage. The API doesn’t stop on one day; it fails a growing share of requests. A tool that retries can look fine at first while some updates quietly never arrive. Google says plainly that retries are not a long-term fix, because the failures become more frequent.
What the Google Merchant API is
The Merchant API (opens in a new tab) is the new Google Merchant Center API. Instead of one large API it is split into sub-APIs: Products for product data, Inventories for local and regional stock, Data sources, Accounts, Reports, Promotions and several more. Each has its own version, and v1 is the stable one.
Four ideas matter for anyone running a store:
- Product inputs and processed products. You send a
ProductInput: the raw data for one product, into one data source. Google combines it with any supplemental data and builds the processedProduct, which is what you read back, with its status and any issues. - Data sources. Every product written through the API belongs to a data source of type API, and you need at least one before you can insert products. The same data sources appear in Merchant Center under Settings → Data sources.
- Developer registration. The Google Cloud project that makes the calls has to be registered with your Merchant Center account once. Registration gives a contact email the API developer role, so Google can send API announcements to someone technical.
- Authentication. Calls use OAuth 2.0 or a service account; API keys aren’t supported. A service account is added to Merchant Center like a person, under Settings → Access and services → People and access. Google says service accounts need Admin access to manage account information and settings.
The main differences from the Content API, from Google’s compatibility guides:
| Area | Content API for Shopping | Merchant API |
|---|---|---|
| Structure | One API, version v2.1. | Separate sub-APIs, each versioned: Products, Accounts, Data sources, Inventories, Reports, Promotions, Notifications and more. URLs look like products/v1/…. |
| Products | One product resource for writing and reading. | You write a ProductInput into a data source. Google builds the processed Product from it, which you read for status and issues. |
| Data sources | Products could be inserted without naming a source. | Every write names a data source of type API. You need at least one before inserting products. |
| Registration | None. | The Google Cloud project is registered with the Merchant Center account once, through developer registration (registerGcp). |
| Batching | customBatch for many products in one call. | No customBatch. Google recommends concurrent calls instead. |
| Product IDs | online:en:US:sku123 | accounts/12345/products/en~US~sku123. The channel part is gone and the country is a feed label. |
| Prices | value and currency. | amountMicros and currencyCode. |
Does the Content API shutdown affect your store?
Only if something sends your products to Google through the API. Many stores never used it: Merchant Center simply fetches a feed file. Here is how each route is affected:
| Route | How it works | Uses the API | Shutdown |
|---|---|---|---|
| Scheduled feed file | Merchant Center fetches an XML or CSV file from a URL, usually once a day. | No | Not affected. |
| Google Sheets | Merchant Center reads products from a sheet. | No | Not affected. |
| Products added in Merchant Center | Typed in by hand in the Merchant Center interface. | No | Not affected. |
| Plugin or app that pushes products | Sends new products, prices and stock to Google through the API. | Yes | Affected if it still calls the Content API. |
| Your own script or integration | Code your team or a developer wrote against Google’s API. | Yes | Affected unless it was moved to the Merchant API. |
If you sell through a hosted platform whose own integration sends your products, Google says the platform partner handles the move for you. On a self-hosted store such as nopCommerce, the plugin or code that talks to Google is yours to check.
How to tell if your feed uses the old API
- Look at your data sources. In Merchant Center, open Settings → Data sources. Sources that show a file link or a Google Sheet are fine. Any other product source was most likely added by an app or plugin through the API; note which tool owns it.
- Check the tool’s documentation. Look in the plugin’s changelog or settings page for “Merchant API”. If it only mentions the Content API, or says nothing and hasn’t been updated since 2025, ask the vendor.
- Check the logs. Look for HTTP 410 errors from Google. Google’s error message starts with “Content API for Shopping was sunset on August 18, 2026” and names your Google Cloud project. In nopCommerce, errors from plugins appear under System → Log.
- Watch the products. Prices or stock in Merchant Center that no longer match the store are an early sign. Later, products start to expire: Google’s help (opens in a new tab) says products expire 30 days after their last refresh, unless they were added by hand in Merchant Center.
What to do
There are three ways forward. Most stores need only the first or second.
| Option | How | Good for | Watch out for |
|---|---|---|---|
| Update the plugin or app | Install a version that uses the Merchant API. Ask the vendor if the changelog doesn’t say. | Keeps fast price and stock updates. | The new version may need a new connection: a Google Cloud project, registration and a data source. |
| Fall back to a feed file | Have Merchant Center fetch a feed file from your store on a schedule. | No API, no Google Cloud project. Quick to set up. | Updates once a day, so fast-changing prices and stock can go out of date between fetches. |
| Migrate your own code | Rewrite the calls for Merchant API v1. | Full control. | Not a find-and-replace: data sources, IDs and batching all change. |
A feed file is a perfectly good fallback. It is how most stores send products anyway, and it removes the API from the picture entirely. You can add an API sync again later, once you have a tool that uses the Merchant API.
Whichever you choose, work through this list:
- List every way products reach Merchant Center: files, sheets, plugins, apps and scripts
- Check the logs of anything that uses the API for HTTP 410 errors or messages naming the Content API
- Ask each vendor, or check its changelog, whether it uses the Merchant API
- Decide per route: update it, replace it with a feed file, or migrate the code
- Keep the same product IDs, so Google keeps each product’s history
- Once the new route works, switch the old one off, so two tools don’t update the same products
- Watch Products in Merchant Center for a week for expired or disapproved items
Merchant API migration steps for developers
If you maintain your own integration, Google’s migration guide (opens in a new tab) covers every sub-API. The order that works for a product sync:
- Enable the Merchant API in the Google Cloud project, and set up a service account or OAuth client.
- Register the project with the Merchant Center account through developer registration (
registerGcp), with a developer contact email. - Create an API data source once, and store its name. Google advises against listing data sources before every call.
- Rewrite inserts as
productInputs.insertinto that data source, updates asproductInputs.patch, and reads asproducts.getorproducts.list. - Convert prices to
amountMicros, and build product names in the newcontentLanguage~feedLabel~offerIdform. - Replace
customBatchwith concurrent single calls, and keep within your quota. - Use the same
offerIdfor each product as before, so its history is kept.
What this means for nopCommerce stores
nopCommerce 4.80, 4.90 and 5.00 don’t include a Google Shopping feed. 5.00 adds a ChatGPT shopping feed plugin, which is a different thing. So if your nopCommerce products reach Google, it is through a feed plugin, a feed service, or Merchant Center reading your product pages. Only the first two can involve the API, and only if they push products rather than publish a file.
If your plugin publishes a feed URL that Merchant Center fetches, nothing changes. If it pushes products, check its version and logs as described above. Our nopCommerce Google Shopping feed guide explains the routes and which nopCommerce fields feed each Google attribute.
Our free plugin, Merchant Center Feed for Google, was built for the Merchant API from the start. It builds a feed file that works on its own, and can optionally sync through Merchant API v1, calling Google’s REST API directly:
- It connects with a service account JSON key and handles developer registration from the plugin.
- It creates its own data source, “nopCommerce (Cartenvo)”, and sends only the products that changed, so changes reach Google within 5 minutes.
- It compares every product with Google once a day and refreshes products before the 30-day expiry.
- It reads each product’s status back: approved, limited or disapproved, with Google’s own issues.
Running ads? Merchant Center Pro adds custom labels, title rules and per-product performance on top of the same feed or sync.
Frequently asked questions
What is the Google Merchant API?
It is Google’s API for managing a Merchant Center account from code: products, inventory, data sources, account settings and reports. It replaced the Content API for Shopping, and v1 has been generally available since July 2025.
When does the Content API for Shopping stop working?
It reached its sunset on 18 August 2026. Since 1 September 2026 requests without an extension fail intermittently with HTTP 410 Gone, and more often over time. Google plans to switch it off completely in early 2027.
Does the shutdown affect feed files and Google Sheets?
No. A feed file that Merchant Center fetches from a URL, or a Google Sheet, doesn’t use the API at all. Only tools that push products to Google through the API are affected.
Can I get more time?
Google’s sunset page links to an extension request form. An approved extension stops the scheduled errors for your project during the extension window, but no extension goes past the final shutdown in early 2027.
What happens to my products if the sync stops?
They stay in Merchant Center for a while, but products expire 30 days after their last refresh. Before that, prices and stock go out of date and can cause mismatch disapprovals.
Next steps
Start with Settings → Data sources in Merchant Center and list what sends your products. If everything is a file or a sheet, you are done. If a plugin or script uses the API, update it, replace it with a feed file, or move it to the Merchant API before the errors get worse.
Have your own integration to move, or an ERP that should feed Google directly? We build custom nopCommerce plugins and API and ERP integrations. Send what you have and what it does to contact@cartenvo.com.