Comparison

Content API vs feed file

Searches for 'Content API vs feed file' now land in a changed landscape: Google sunset the Content API for Shopping on August 18, 2026 and the Merchant API took its place. The underlying choice is the same, though. Push products programmatically, or host a file Google fetches on a schedule. This page compares the two from Google's own documentation and shows what a feed tool like Textfinity does on each side.

We connect your store, build the feed and keep it in sync. Updated 2026-10-27.

At a glance

  • Content API for Shopping was sunset on August 18, 2026; requests show progressive errors from September 1, 2026. The Merchant API is its redesign.
  • A hosted feed file is fetched by Merchant Center every 24 hours; Google strongly recommends the API for large numbers of feeds or frequent product data changes.
  • In the Merchant API you must create a data source explicitly before uploading products; the Content API created one automatically on first insert.
  • Textfinity publishes a feed file on a stable URL that Merchant Center fetches on a schedule, and we register it with you as a file source; it does not push individual products through the API.

Content API vs feed file: the comparison

Rows below draw on Google's 'How to upload your products to Merchant Center' help page, the Merchant API overview and the Merchant API 'Migrate data sources' guide, fetched on the date in the footnote. Where a page does not state a fact, the cell says so.

What changed with the Content API sunset

Google's Merchant API overview states it plainly: the Merchant API is a redesign of the Content API for Shopping, and Content API for Shopping was sunset on August 18, 2026, with requests experiencing progressive errors from September 1, 2026. Teams that need more time can apply for extended access. The Merchant API is described as enabling automation of account, product and inventory management within Merchant Center, and as complementing other product data upload methods like files and autofeed.

For data sources specifically, the migration guide lists the practical differences. Identifiers change from a numeric datafeedId to a string name; datafeed methods map to dataSources methods; file upload status moves to a read-only fileUploads resource, fetched with the 'latest' alias, with errors and warnings merged into a single issues list with severities. Batch operations for datafeeds are gone, updates use PATCH instead of PUT, multi-target feeds are deprecated so each data source has a single target, the fetch method only works for file-input sources, and data source rule migrations must be done by hand in the Merchant Center UI. Most importantly for anyone comparing API and file: you must explicitly create data sources before uploading products, whereas the Content API created a 'Content API' data source automatically.

What a feed file gives you

Google's upload guide describes the file path as a file containing all product details, each mapped to Google's attribute list, which can combine data from several sources. You can upload it once from your computer or host it at a URL that Merchant Center syncs every 24 hours, and you can still upload a new file at any time. A Google Sheets template follows the same 24-hour sync. The file can be up to 4 GB. The guide's warning applies to both paths: incorrectly formatted or missing data causes errors in the account.

A file is inspectable. You can open it, count rows, diff two versions and hand it to a colleague without credentials. It is also whole: Google's RSS guidance says removing a product from the file removes it from Merchant Center, so a feed file is always the complete catalog, never a delta. The cost is latency: with a 24-hour fetch, a price change at 09:00 may not show until the next fetch, unless you trigger a fetch or upload manually.

What the API gives you

Google says the Merchant API lets apps interact directly with Merchant Center to manage configuration, act as a product data input source and provide reporting, and strongly recommends it for large numbers of feeds or frequent product data changes. A successful API response means Merchant Center accepted the data for processing, not that the product is approved to show. In Merchant API, a product insert needs a data source of API input type created first, and account-level settings such as autofeed can be toggled through autofeedSettings.

The API is for systems, not people. You need OAuth or service-account credentials, quota handling, retry logic and a migration every time Google redesigns the surface, as it just did. Third-party write-ups describe feeds as refreshing once or twice daily and the API as allowing updates within minutes; Google's own pages give the 24-hour file fetch and the 'frequent changes' recommendation, so treat the minutes figure as a vendor claim rather than a Google one.

Where a feed tool sits

Textfinity takes the file path. It reads the store (Shopify natively, or a CSV, Google Shopping XML or Google Sheet URL), applies mapping and filter rules, and publishes a complete comma-delimited CSV (or TSV) on a stable URL. We register that URL in Merchant Center with you as a scheduled-fetch file source (you give us access, or we walk you through it), a one-time step. Google then fetches the file on its schedule; Merchant Center takes the comma CSV in production, even though Google's help lists .txt, .tsv and .xml by extension. Feeds rebuild on a per-shop schedule and within about five minutes of an edit; median rebuild is 10.9 seconds.

What Textfinity does not do: push individual products through the products API, or read back product statuses or disapprovals. If your catalog needs sub-daily price or stock updates in Merchant Center, you need API tooling on the products side, and the honest recommendation is a developer integration or a platform with a products-API connector. For everyone whose data changes daily or slower, the file path is simpler to run and far easier to debug. Clients who want programmatic access to their own setup can connect an AI assistant to Textfinity over MCP to search products, read a feed's output and edit mapping or filter rules; that is a way to manage the feed, not a products API.

Decision rule

Changes daily or slower, want to inspect the file     -> hosted feed file (Textfinity builds it)
Many feeds, frequent intra-day changes, dev team      -> Merchant API products upload
Platform connection already syncing                    -> keep it; add a feed file for other channels
Content API integration still running                  -> migrate: sunset 2026-08-18, errors from 2026-09-01

Examples

Worked examples, by situation

Three merchants on different sides of the API-or-file line, and the Textfinity rule each one uses where the file path applies.

Fashion · Google Shopping · 3,000 SKUs · Sweden · daily stock sync

File path with a stock exclusion

Before

Content API integration from a custom script, broken after the sunset

After

Scheduled feed file registered in Merchant Center; out-of-stock variants excluded; Google fetches daily

How we set it up

We connect the Shopify store, build a Google Shopping feed and add an exclude filter: variant.inventoryQuantity is less or equal to 0. The feed URL is registered once in Merchant Center as a scheduled fetch. No code to migrate.

Electronics · Google Shopping · 40,000 SKUs · Germany · prices change hourly

API is the right answer here

Before

Hosted XML fetched every 24 hours; prices stale by lunch

After

Developer integration on the Merchant API products service; Textfinity feeds still serve Microsoft Shopping and Idealo

How we set it up

For Merchant Center, a products-API integration (not Textfinity). For the other channels we build a Microsoft Ads feed plus a custom feed with idealo's columns, and map price with the advanced expression [price] + " EUR".

Home decor · Google Shopping + Meta · 700 SKUs · US · Shopify channel app

Keep the platform connection, add files for the rest

Before

Google via the Shopify channel app; Meta catalog uploaded by hand

After

Google untouched; Meta catalog fetching a Textfinity feed URL with composed titles

How we set it up

We build a Meta feed and map title as a combine of vendor, product.title and color; the feed URL is added in Commerce Manager as a scheduled feed. Google's upload guide allows combining methods, so the channel app stays the primary for Merchant Center.

Copy this plan

Get off the Content API without writing code

For catalogs whose data changes daily or slower, a registered feed file replaces a custom API integration in an afternoon.

  1. 01

    Inventory what the integration sent

    List the attributes your Content API script populated, especially custom labels, shipping and tax fields, and any supplemental or regional inventory data sources it created.

  2. 02

    Connect the catalog

    Shopify connects natively; other platforms through their export URL or a Google Sheet.

    What we set up: We connect your Shopify store, CSV or XML export URL, or Google Sheet.
  3. 03

    Rebuild the attribute logic as mapping rules

    Every transformation the script did in code becomes a per-column transform: combine, regex replace, Google Sheet lookup or the advanced DSL.

    What we set up: We build a Google Shopping feed and set one transform per column for each piece of logic your script had.
  4. 04

    Profile the file

    Feed hygiene checks completeness, over-long values, language mix and URLs before Google processes anything.

    What we set up: We run feed hygiene on the output and fix what it flags before the first fetch.
  5. 05

    Register the feed as a data source

    Add the feed URL in Merchant Center as a file data source with a scheduled fetch, and confirm it appears in the data sources list.

    What we set up: We register the URL with you: you give us access to Merchant Center, or we walk you through it on a call.
  6. 06

    Retire the old API data source

    Once the file source shows processed products, remove the legacy Content API data source in Merchant Center so ids are not carried by two primaries. This step is in Merchant Center.

Customization tips

Make it yours

Use the same ids as the API sent

Switching from API to file with new ids creates new products and drops history. Map id to the same value your script used.

Trigger a fetch after big changes

The scheduled fetch is every 24 hours. After a sale starts, fetch the file manually in Merchant Center rather than waiting.

Keep API for what only API does

Sub-daily inventory, regional inventory and account automation stay on the Merchant API. A feed tool handles the catalog; it does not replace a developer for those.

Check statuses in Merchant Center, not the tool

Textfinity does not read disapprovals back. After each sync, look at the diagnostics in Merchant Center and fix the source data in the mapping.

Side by side

What we could verify

Content API / Merchant APIHosted feed file
Status (Google)Content API sunset 2026-08-18; Merchant API is the redesignSupported; .txt, .tsv, .xml up to 4 GB
How data arrivesApp calls the API; product data input sourceMerchant Center fetches the URL every 24 hours, or you upload
Google's recommendationStrongly recommended for many feeds or frequent product data changesAutomatic updates with flexibility; combine with other methods
Data source creationMust be created explicitly before product upload (Merchant API)Created when you add the file
Partial updatesYes (PATCH on resources)No: the file is the whole catalog; removal deletes
Upload statusAPI response = accepted for processing, not approved; fileUploads.get for file sourcesProcessing report in Merchant Center
Batch operationsNot available for data sources in Merchant API; individual callsOne file
Needs developer and credentials
Human-inspectable
Data source rules migrationManual, in the Merchant Center UINot applicable
Update latency (Google)not stated as a figure24-hour fetch for hosted files
TextfinityNo per-product push; Textfinity works on the file sideProduces the file: CSV or TSV on a stable URL, registered with you in Merchant Center

Checked 2026-10-27. Criteria from Google's 'How to upload your products to Merchant Center' help, the Merchant API overview and the Merchant API 'Migrate data sources' guide.

FAQ

Questions about content api vs feed file google merchant center

Is the Content API for Shopping still available?

No. Google's Merchant API overview says the Content API for Shopping was sunset on August 18, 2026, with progressive errors from September 1, 2026. Teams needing more time can apply for extended access; the Merchant API is the replacement.

How often does Merchant Center fetch a hosted feed file?

Google's upload guide says a file hosted at a URL is synced with Merchant Center every 24 hours, and you can upload a new file at any time. Google Sheets sources also sync every 24 hours.

When should I use the Merchant API instead of a feed file?

Google strongly recommends the API when you have a large number of feeds or frequent product data changes. For catalogs that change daily or slower, a hosted file is simpler to run and inspect.

Does Textfinity push products through the Merchant API?

No. Textfinity works on the file side: it publishes a complete CSV or TSV on a stable URL, and we register that URL in Merchant Center with you as a file source Google fetches on a schedule. Individual products are never pushed through the products API.

Do I need to create a data source before uploading products with the Merchant API?

Yes. Google's migration guide says you must explicitly create data sources before uploading products to them; the Content API used to create a 'Content API' data source automatically on first insertion.

Set up for you

Have us replace the API script with a feed Google fetches on its own.

Send us your store URL and the attributes your Content API script populated. We rebuild that logic as mapping rules, publish the feed file and register it with you in Merchant Center.

Have us build this feedOr email support@textfinity.io

Tell us your store and channels. We reply within 24 hours.