Skip to content

Content API for Shopping Sunset: Fix 410 Errors Fast

Google's Content API for Shopping has been sunset, and Merchant API is required. A step-by-step migration checklist to fix 410 errors before product feeds go stale.

25 Sept 20267 min read
  • Ecommerce SEO
Product packaging for an online store, illustrating Content API for Shopping Sunset: Fix 410 Errors Fast

Google's Content API for Shopping has been sunset in favour of the Merchant API, and calls to the old endpoints are failing with errors, including HTTP 410 Gone. If your product feed sync, inventory updates or reporting run through a custom script or an old plugin, check them today. As of 30 September 2026, the fix is a migration: new endpoints, Google Cloud project registration, new resource names, and no customBatch.

Key Takeaways

  • Google's migration guide states the Content API for Shopping was sunset on 18 August 2026, with progressively escalating errors from 1 September 2026.
  • Google's guide says developers can apply for extended access if they need more time. Some third-party guides describe it as a hard cutoff with no extensions; where they conflict, follow Google's documentation.
  • You must register your Google Cloud project with Merchant Center through the developerRegistration endpoint.
  • customBatch is not supported in Merchant API; concurrent requests replace it.
  • Price format, identifiers and data sources all changed, so this is a refactor, not a URL swap.
  • Stale feeds mean disapproved or out-of-stock-mismatched products, and eventually paused Shopping performance.

What is happening

Google's documentation says the Content API for Shopping was sunset on 18 August 2026 and that starting 1 September 2026, requests will encounter progressive errors. FeedShield reports that calls to shoppingcontent.googleapis.com/content/v2.1 return HTTP 410 Gone. A 410 means the resource is permanently gone, which is a signal to migrate, not retry.

One source claims Google offers no extensions. Google's own guide says you can apply for extended access. I would treat the extension as a last resort, not a plan, and would not count on it being granted.

Do you need to care?

You do if any of these are true:

  • A developer or agency built a custom product sync to Merchant Center.
  • Your ecommerce plugin or feed tool is older than 2025 and has not announced Merchant API support.
  • An internal script updates inventory, prices or promotions.
  • You pull product performance or status through code.

If you only upload a feed file or use a current platform integration, your vendor may have handled it. Confirm; do not assume.

Server terminal showing HTTP error codes

A 410 is permanent. Retrying will not help; the endpoint has to change.

Symptoms to look for

FeedShield lists the failure modes, which match what I would expect: product syncs stop, new and edited products fail to upload, inventory updates halt so out-of-stock items display wrongly, performance reporting throws errors, and stale feeds eventually harm Shopping campaigns. Check for these in Merchant Center diagnostics and in your integration logs.

The migration steps

Based on Google's guide.

1. Inventory every use of the old API

Search code, cron jobs, third-party apps and agency tools for shoppingcontent.googleapis.com and content/v2.1. Include reporting scripts. The ones people forget are night-time inventory jobs and price rules.

2. Change the request format

New URLs follow this pattern: https://merchantapi.googleapis.com/{SUB_API}/{VERSION}/{RESOURCE_NAME}:{METHOD}. Sub-APIs cover different areas such as products and accounts.

3. Register your Google Cloud project

Link your Merchant Center account and your Cloud project with a POST to the accounts developerRegistration:registerGcp endpoint, using your account ID. Without registration, calls will fail, so do it before you test anything else.

4. Update authentication

The guide says to use the new authentication format for the Merchant API. Check that the service account or OAuth client has access to the right Merchant Center account.

5. Refactor identifiers

Merchant API uses name fields such as accounts/{account}/products/{product} instead of separate IDs. Anything that stores product IDs will need a mapping layer.

6. Fix price and currency fields

Per Google, price amounts change from value:string to amountMicros:int64, and currency changes from currency:string to currencyCode:string. One million micros equals one unit of currency, so a price of 19.99 becomes 19,990,000 micros. Test rounding on currencies with different decimal rules.

7. Replace customBatch

Batch requests through customBatch are not supported. Send concurrent individual requests instead and add retry and rate-limit handling. This is the change most likely to slow a large catalogue sync if you do not plan it.

8. Use data sources deliberately

Merchant API supports several data source types beyond primary feeds: supplemental products, local and regional inventories, promotions, and reviews. Review whether your old setup mixed these and map each to the right source.

Changes at a glance

Old (Content API)New (Merchant API)
shoppingcontent.googleapis.com/content/v2.1merchantapi.googleapis.com/{sub-API}/{version}
Separate IDsname field, e.g. accounts/{account}/products/{product}
price: value stringamountMicros int64
currency stringcurrencyCode string
customBatchConcurrent individual requests
Implicit accessCloud project registration required
Checklist on a clipboard next to a laptop with code

Run old and new in parallel before switching production, if the old one still responds for you.

How to run the cutover

FeedShield suggests running both APIs in parallel to verify data parity, then switching production and decommissioning the old code. Given that the old API is now failing for many callers, parallel running may not be possible; in that case, test the Merchant API against a sandbox or a small subset of products first. Compare product counts, prices and availability against Merchant Center after each test.

Triage if you are already failing

  1. Open Merchant Center diagnostics for disapprovals and feed freshness issues.
  2. Temporarily fall back on a scheduled file upload or a supported platform integration so listings stay current while you rebuild.
  3. Check your ad account for Shopping campaigns with declining impressions or approvals.
  4. Freeze non-essential price changes until sync is restored to avoid mismatches between site and feed.
  5. Brief stakeholders: this is a technical fix with revenue implications, not an SEO issue.

Why marketers should own this

Shopping listings, free product listings and Performance Max feeds all depend on the feed. In organic terms, product data quality also feeds free listings in Google surfaces. In a small team, the developer often does not see the revenue impact, and the marketer does not see the error log. I make one person accountable for feed health and add an alert for feed staleness.

My own work has been on organic growth and content, including for Masai School (masaischool.com), not on building feed integrations, so I am not going to pretend to write your migration code. What I can tell you is what breaks commercially: stale data causes disapprovals, and disapprovals cost sales quietly.

What I could not verify

I could not confirm whether extended access is being granted in practice, nor exact rates of 410 responses across integrations. The Google guide and third-party guides also differ on the timeline framing: Google says sunset on 18 August with errors escalating from 1 September; another guide says endpoints stop working on 18 August. Check your own logs for the first failure date.

A simple monitoring setup after migration

Once the new integration is live, add three safeguards. First, an alert when the last successful product update is older than 24 hours. Second, a daily comparison of product counts between your store and Merchant Center, so silent drops are caught early. Third, a weekly check of item disapprovals filtered by price and availability mismatches, the two problems most likely to appear when price fields are converted to micros or when identifiers are mapped incorrectly. None of this needs special tooling; a scheduled script and a shared dashboard are enough. The goal is that the next API change is an inconvenience, not an outage.

Sources

Google: Migrate from Content API for Shopping to Merchant API and FeedShield's Content API sunset guide. Verified 30 September 2026.

FAQ

What is the Content API for Shopping sunset?

Google's migration guide says the Content API for Shopping was sunset on 18 August 2026 and that from 1 September 2026 requests hit progressive errors. Merchant API replaces it.

What does a 410 error mean here?

HTTP 410 Gone signals the endpoint is permanently unavailable. Third-party guides report that calls to the old v2.1 endpoints return it. Retrying will not fix it; you need to migrate.

Can I get an extension?

Google's guide says developers can apply for extended access if they need more migration time. Some third-party articles say no extensions are planned, so do not rely on one.

Do I need to register a Google Cloud project?

Yes. Google's guide says to link your Merchant Center account and Cloud project via the developerRegistration:registerGcp endpoint. Do it before testing other calls.

What happened to customBatch?

It is not supported in Merchant API. Send multiple concurrent requests instead, and build in retries and rate-limit handling.

How do prices change?

Amounts move from a value string to amountMicros as an int64, and currency becomes currencyCode. Micros are millionths of a unit, so test conversions carefully.

Will my Shopping ads stop immediately?

Not immediately, but stale feeds cause disapprovals and mismatched availability, and FeedShield reports campaigns can eventually be affected. Monitor feed freshness and diagnostics closely.

I use Shopify or WooCommerce; do I need to act?

Probably your integration vendor has handled it, but confirm that your connector uses Merchant API and check Merchant Center diagnostics for freshness. Custom scripts and old plugins are the risk.

What is the fastest safe stopgap?

Use a scheduled feed file upload or a supported platform integration to keep listings current while you migrate any custom code.

Let's talk

I have 4+ years of marketing experience across organic growth, SEO and content strategy, and I work alongside developers so commercial priorities like this get handled fast. See my work and reach me through the contact form at younusfardeen.in.