Google shut off the API that feeds Google Shopping on August 18. If your product listings still look fine, that is the problem.
The Content API for Shopping was sunset on August 18, 2026, and Google's own release notes say requests started hitting progressive errors on September 1. Nothing disappears on day one. Products expire 30 days after their last refresh, so a store whose feed died in mid-August is emptying out right about now, quietly, while the Merchant Center dashboard still shows green. Most Shopify and WooCommerce merchants are fine because the platform migrated for them, and most of the panic coverage is aimed at the wrong people. But two groups are genuinely exposed: anyone with a custom or older third-party feed integration, and anyone whose feed rules and supplemental feeds were silently orphaned when the data source changed underneath them. Here is the four minute check, the extension form that trade coverage keeps saying does not exist, and why Google broke a working API to build a shopping feed that AI agents can read.
There is a specific kind of outage that is worse than a site going down, and this is one of them. Nothing errors. No email arrives. The dashboard is green. Your products are still listed, still priced, still showing in Shopping. And they are all slowly going stale, because the pipe that refreshes them stopped running three and a half weeks ago.
Google sunset the Content API for Shopping on August 18, 2026. That is the API that a large slice of e-commerce tooling has used since 2017 to push product data into Merchant Center. Google’s own release notes then add a second date that most of the coverage missed: “Starting September 1, 2026, requests will experience progressive errors.”
So the timeline in the real world is not “it broke in August.” It is “it started dying in August and it will finish dying around the third week of September,” which is now.
If you sell online, this post is a four minute check. Most of you will pass it and can stop reading at the end of the second section. A minority will fail it and need to move today.
The one number that decides how urgent this is
Google expires products from Merchant Center on a clock: “All products expire from your Merchant Center account 30 days after the last refresh.” If you have set an expiration_date attribute, Google uses whichever comes first, so that attribute can only make it happen sooner, never later.
Work that forward. A feed whose last successful push was August 18 starts dropping products around September 17. A feed that limped through some of the progressive-error window and last pushed on September 1 starts dropping around October 1.
That is why this does not feel like an emergency and is one. There is no crash, just a queue of products quietly reaching their thirtieth day. And before they expire outright, they misbehave in a more expensive way: a price you changed on your own site never reaches Google, the crawler sees the mismatch, and the item is disapproved for price mismatch. You lose the listing and you keep paying for the Shopping and Performance Max clicks that were pointed at it.
Products added by hand inside Merchant Center are the exception and do not expire. Almost nobody runs a catalogue that way.
Are you actually affected? Four minutes, two questions
The panic coverage on this has been indiscriminate, and the honest answer is that most small stores are not affected at all. The only thing that matters is how your product data physically reaches Merchant Center.
| How your products get to Google | Affected? |
|---|---|
| Manual file upload (you upload an XML or TSV) | No. Unchanged |
| Scheduled fetch (Google pulls a file from your URL on a schedule) | No. Unchanged |
| Google Sheets feed | No. Unchanged |
| Shopify’s Google & YouTube channel | No, if the app is current. Shopify migrated this for merchants in a phased rollout |
| Google for WooCommerce (the Google Listings & Ads plugin) | No, if the plugin is up to date. The migration shipped inside a normal plugin update |
| A third-party feed app that pushes over the API | Depends on the vendor. Ask them directly |
| A custom script, an agency-built integration, an ERP or PIM connector | Yes, almost certainly. This is the exposed group |
Now go and confirm it rather than assuming. In Merchant Center, open Products, then Data sources, and read the source column for each row.
What you are looking for is a row whose source is Content API. If one exists and it is your live product source, you have a dead pipe. If you see an inactive Content API row sitting next to a newer active row from a different source, your migration already happened and you should skip to the section below about feed rules, because that scenario has its own trap.
The second question is for anyone running a paid app or an agency integration, and there is no way to answer it from your own dashboard. Ask the vendor, in these words:
- Has your integration moved from Content API for Shopping to Merchant API v1, and in which release?
- Does my account push over the API, or does it publish a file that Google fetches?
- If my account is still on Content API, have you filed a Google extension request covering my Cloud project?
The third question is the one that separates a vendor with a plan from a vendor who is about to have a bad month.
The trap for merchants whose migration already worked
This is the part almost nobody is warning about, and it hits the merchants who did everything right.
Feed rules and supplemental feeds in Merchant Center are attached to a data source, not to your account. When your Content API data source goes inactive and a new Merchant API or platform-app data source takes over, the rules do not follow. They stay bound to the old source, which no longer feeds anything.
If you have ever used a feed rule to rewrite product titles, force a brand value, map a category, patch GTINs, or set custom labels that your Performance Max campaigns segment on, all of that can stop applying while your products keep flowing normally. The symptoms look like a merchandising problem rather than a plumbing problem: titles reverting to their raw store values, custom labels going empty, a supplemental feed that has quietly stopped contributing.
Feed labels have the same weakness, and they are worse, because campaigns target on them. A campaign filtered to a feed label that no longer exists on the new source does not error. It just stops having anything to serve.
So if your data sources screen shows a completed migration, the check is not “are products flowing.” It is:
- Open each feed rule and confirm it is attached to the active source
- Spot check five products in the live feed against what your rules were supposed to produce
- Open every Shopping and Performance Max campaign and confirm the feed label filter still matches a label that exists
- Confirm your supplemental feeds are joined to the new primary source
About that “hard cutoff with no extensions”
Several widely shared posts state that August 18 was an absolute shutdown with no transition period and no extensions available. That is wrong, and if you believed it you may have skipped the thing that would have saved you.
Google published an extension request form. Its own wording:
“Content API for Shopping will be sunset on August 18, 2026. If you need additional time to migrate to Merchant API, apply for extended access to Content API for Shopping.”
The form asks for your email, company, website, business justification, and critically the Google Cloud project IDs behind the integration. You pick an extension date of October 15, 2026 or December 31, 2026, with December described as being for exceptional cases only. Google’s support documentation says requests are approved on submission provided the project IDs are valid, that you can submit a comma separated list, and that resubmitting overwrites your previous expiry. It also says that teams already receiving errors can still apply to restore access.
Two things follow from this that matter more than the form itself.
It has to be filed by whoever owns the code. The form is keyed to Cloud project IDs, not to merchant IDs. A shop owner cannot file it for their vendor, and a vendor filing it needs to cover every project ID in play. Google’s guidance is blunt about the failure mode: invalid IDs cannot be processed, “which leads to service degradation and loss of API access after the sunset date.”
The consequence language is broader than most people read it. Google’s warning is that if you do not apply, are not granted an extension, or run past your approved date, you will experience service degradation that “will directly impact your API integration and may impact performance across both your advertising and organic experiences.” Organic, there, means your free listings, not just your paid campaigns.
If you are reading this on September 12 and you are still on Content API, the extension is not a comfortable position but it is a live one. File it today, then migrate. Do not file it and consider the matter closed.
What actually changed, for whoever has to write the code
If you or your developer are doing this migration now, the useful summary is that this is not a version bump. The shapes changed.
| Content API for Shopping v2.1 | Merchant API v1 | |
|---|---|---|
| Endpoint | shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
merchantapi.googleapis.com/{SUB_API}/{VERSION}/{RESOURCE}:{METHOD} |
| Structure | One monolithic API | Modular sub-APIs: Products, Inventories, Accounts, Reports, DataSources, Promotions, Reviews, Order Tracking |
| Resource identity | Separate ID parameters | A single name identifier, following Google’s API Improvement Proposals |
| Product ID delimiter | Colons: online:en:US:sku123 |
Tildes: contentLanguage~feedLabel~offerId |
| Price | value as a string, currency as a string |
amountMicros as an int64, currencyCode as a string |
| Batching | customBatch |
Not supported. Issue calls asynchronously in parallel instead |
| Cloud project linking | Implicit | Explicit Developer Registration linking your Merchant Center account to your Cloud project |
The two that break naive ports are the delimiter change and customBatch. Any code that string-splits product IDs on a colon will silently mangle identifiers, and any code built around customBatch needs a genuine concurrency rewrite rather than a wrapper. Budget for the second one properly; it is the reason a lot of these migrations slipped past August.
Also worth knowing before you design the new integration: Merchant API quotas are per method, product updates are limited to roughly twice per day, and the daily call quota is derived from your offer count rather than being a flat number. If your old integration hammered the API on a short loop, port the schedule, not the habit.
One more date, for anyone who thinks they already migrated. Merchant API v1beta was discontinued during 2026, with a February 28, 2026 sunset, and by May 2026 Google’s release notes state that calls must use v1 or v1alpha. A migration done early against v1beta is a second migration, not a finished one.
Why Google broke a working API
It is reasonable to ask why any of this was necessary. The Content API worked. The answer is visible in what Google has been shipping into the replacement, and it is not really about REST hygiene.
Through 2026, Merchant API has been collecting features that only make sense if the consumer of your product feed is a machine having a conversation:
- Conversational product attributes, added in May 2026 and available to retailers globally, covering things like answers to common product questions, compatible accessories and substitutes. Google’s framing is that these let retailers “update their product descriptions to reflect the more conversational way people search.” This is feed data designed to be read aloud by an assistant, not scanned in a grid.
- A Merchant API MCP access service, in alpha, exposing around fourteen tools for mostly read-only access to your Merchant Center data, product statuses, issues and reports. It shares the same quota pool as your regular API calls and Google explicitly says not to point it at anything that needs to be reliable. It exists so an agent can ask questions about your catalogue.
- UCP reporting contexts, including a
FREE_LISTINGS_UCP_CHECKOUTcontext, so that sales completed inside an agent can be attributed back.
That last one is the strategic piece. The Universal Commerce Protocol was announced on January 11, 2026, co-developed with Shopify, Etsy, Wayfair, Target and Walmart, and it puts a checkout button on eligible items inside AI Mode and Gemini. The old Content API was not built to carry that, and Google was not going to extend a 2017 API to do it.
The Canadian detail: at Google Marketing Live on May 20, 2026, Google said that “UCP-powered checkout will roll out across Canada and Australia in the coming months, and later to the U.K.” A number of trade write-ups have converted that into “by the end of 2026.” Google did not say that, and as of today there is no published Canadian launch date. Plan against “coming months,” not against a quarter.
None of which changes the immediate job. But it does change how you should think about the migration. This is not maintenance you do to stay where you are. Merchant API is where the attributes that decide whether an assistant can describe your product live, and none of those attributes exist on the API that just died. We wrote last month about why AI shopping is still mostly a discovery channel rather than a checkout channel, and that remains true. But discovery runs on feed data, and the feed data is moving.
Do this, in order
1. Open Merchant Center, Products, Data sources. Read the source column. Four minutes. This is the only step that is not optional.
2. If you see an active Content API source, you are down. Your products started expiring on roughly the thirtieth day after your last successful push. Get the Cloud project ID from whoever owns the integration, file the extension request today, and start the migration in parallel. An extension buys you until October 15 and nothing more.
3. If your source already migrated, audit the things that do not migrate with it. Feed rules re-attached to the active source. Supplemental feeds re-joined. Feed labels confirmed against every Shopping and Performance Max campaign filter. Five products spot checked against what your rules should have produced.
4. If you are on Shopify or WooCommerce, update the app or plugin and then verify anyway. Both platforms handled this, which means the migration happened to your account rather than being done by you. Step 3 still applies, and it applies most to exactly these merchants, because nobody told them a migration had occurred.
5. Check Merchant Center diagnostics for price mismatch disapprovals specifically. That is the signature of a dead feed before expiry starts. It is also the failure that costs you money while looking like a data quality issue.
6. If you run paid campaigns, check spend against impressions over the last three weeks. A feed going stale under a Performance Max campaign does not announce itself in the campaign UI. It shows up as a shape change. While you are in there, it is worth confirming nothing else moved, because Google’s AI Max auto-upgrade ran through the same window and muddies attribution for anything that changed in early September.
7. Only once you are stable, look at conversational attributes. They are free, they are available in Canada now, and they are the first piece of feed work in years that is aimed at a genuinely new surface.
The uncomfortable general lesson
The reason this one is catching competent people is that it inverts the normal failure mode. We are all trained to respond to things that break loudly. A 500, a failed deploy, a down detector. What Google shipped here is a dependency that fails by returning nothing and letting a thirty day timer do the damage, on a system whose dashboard keeps showing the last good state.
Every small business has two or three of these. An OAuth token with an expiry nobody wrote down. A scheduled fetch pointed at a URL that moved. A payment webhook that stopped firing. A backup job that has been writing zero byte files since a disk filled up. They all share the property that the absence of an alarm is not evidence of health, and none of them get found by watching a dashboard.
The cheap defence is not monitoring software. It is a quarterly list of every integration that moves data into or out of your business, with a column for the last time you confirmed, by looking at the data rather than at a status light, that it was working. On that list, this would have been a ten minute item in July.
If you want us to run the check on your store, we will look at your data sources, your feed rules, your campaign feed labels and your disapproval history and tell you which of them are actually connected to something. Send us your Merchant Center ID. It takes about half an hour and we will tell you if the answer is “you are fine,” because for most stores it is.
Sources
- Release Notes (v2.1), Content API for Shopping (Deprecated), Google for Developers, retrieved September 12, 2026, for “Content API for Shopping was sunset on August 18, 2026” and “Starting September 1, 2026, requests will experience progressive errors”
- Introducing Merchant API, Google Merchant Center Help, retrieved September 12, 2026, for general availability of Merchant API in August 2025 and Content API access running until August 18, 2026
- Get help with Merchant API, Google for Developers, retrieved September 12, 2026, for the extension request process, the requirement for valid Google Cloud project IDs, approval on submission, resubmission behaviour, and the warning that invalid IDs lead to service degradation and loss of API access
- Google Content API for Shopping Extended Access Form, Search Engine Roundtable, July 20, 2026, retrieved September 12, 2026, for the October 15 and December 31, 2026 extension date options, the fields the form requests, and the quoted service degradation language covering both advertising and organic experiences
- Migrate from Content API for Shopping to Merchant API, Google for Developers, retrieved September 12, 2026, for the endpoint format change, the sub-API structure, the
nameidentifier, the tilde delimiter, theamountMicrosandcurrencyCodechange, Developer Registration, and the removal ofcustomBatch - Latest updates, Merchant API, Google for Developers, retrieved September 12, 2026, for the v1beta sunset on February 28, 2026, the May 2026 requirement to use v1 or v1alpha, conversational product attributes, the MCP service alpha and the
FREE_LISTINGS_UCP_CHECKOUTreporting context - Quotas and limits, Merchant API, Google for Developers, retrieved September 12, 2026, for per-method quotas, the twice-per-day product update limit and the offer-count-derived daily call quota
- Merchant API MCP Access Service (Alpha), Google for Developers, retrieved September 12, 2026, for the alpha status, the shared quota pool, the read-only and limited-write scope, and the tool count
- Expiry date [expiration_date], Google Merchant Center Help, retrieved September 12, 2026, for “All products expire from your Merchant Center account 30 days after the last refresh” and the whichever-is-sooner rule
- New tech and tools for retailers to succeed in an agentic shopping era, Google, January 11, 2026, retrieved September 12, 2026, for the UCP announcement, the co-development partners and the initial US-only checkout availability
- Shopping updates from Google Marketing Live, Google, May 20, 2026, retrieved September 12, 2026, for the exact quote that “UCP-powered checkout will roll out across Canada and Australia in the coming months, and later to the U.K.” and for conversational attributes being available to retailers globally
- Is migration to Google Merchant API (v1) planned before August 2026?, WooCommerce, retrieved September 12, 2026, for confirmation that the Google for WooCommerce plugin handles the migration inside a normal plugin update with no merchant action required
- Google for WooCommerce plugin page, WordPress.org, retrieved September 12, 2026, for the current plugin version and release dates
- Google’s Content API Shuts Down August 18: What Shopify Merchants Actually Need to Check, Simple Product Feeds, July 27, 2026, retrieved September 12, 2026, for the file-feed versus API-push distinction and the framing of the failure as a slow leak
- Shopify Google Feed Migration: Why Your Feed Rules Might Vanish Overnight, 4M Digital Consulting, updated August 19, 2026, retrieved September 12, 2026, for feed rules being bound to a data source rather than an account, and the resulting symptoms
A note on what we could not verify. Several trade posts state that calls to the old endpoints now return HTTP 410 Gone. We could not confirm that status code in Google’s own documentation, which describes the post-sunset behaviour only as progressive errors and service degradation, so treat the specific code as unconfirmed. Several posts also describe August 18 as a hard cutoff with no transition period and no extensions; Google’s own release notes and support pages contradict both halves of that, and we have followed Google. Finally, the claim circulating that UCP reaches Canada by the end of 2026 does not appear in any Google statement we could find; Google’s wording is “in the coming months.”