Google Merchant Feed Audit: Product Feed Errors & Changes
Pricing
from $20.00 / 1,000 product batches
Google Merchant Feed Audit: Product Feed Errors & Changes
Check your product feed for invalid fields, duplicate IDs and changes. Optionally compare exact variants against public product-page structured data.
Pricing
from $20.00 / 1,000 product batches
Rating
0.0
(0)
Developer
Zaiq
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Merchant Feed Health & Change Audit

Check a product feed for missing or duplicate identifiers, invalid prices, currency and availability values, and optional GTIN checksum errors. Compare compatible complete snapshots to see issue changes.
Use your own feed text or a record in Apify's key-value store, or point to an existing Apify dataset. The default is a free fictional demo. Optional public product-page checks require an exact SKU and declared matching locale.
What you get
| Field | What it holds |
|---|---|
| Product batches | Up to ten validated products per row, with stable result ID, issues and supplied metrics. |
| Page evidence | Optional free JSON-LD comparison, or an explicit unknown or blocked note; batch charges cover feed validation only. |
| SUMMARY | Completion, counts, notes, snapshot and comparable changes. |
| HTML report | Issue counts and changes for a completed audit. |
What people use it for
- Feed checks: Find errors before sending a feed.
- Recurring audits: Compare issue changes for the same complete feed and rules.
- Prioritisation: Order issues by impressions provided by the buyer.
How to use it
- Run the free fictional demo or supply feed text, a default-store record, or select a dataset.
- Choose a format, market currency and product limit. Optionally enable public page checks and provide a locale.
- Open the dataset and SUMMARY. For changes, use a stable scope and pass the previous complete snapshot in the next input.
- Select an existing private product dataset with the dataset picker (READ). Legacy dataset ID/name inputs remain for environments where access is already granted; they do not themselves grant limited-permission access. Use one input source. The record key refers to the run default store.
Input
| Field | Example | Notes |
|---|---|---|
| Feed text | CSV, TSV, JSON or XML | One source per run; maximum 5 MB and 5,000 rows. |
| Record key, dataset picker or legacy dataset ID/name | Your Apify storage | Keep customer data in your own Apify storage. |
| Market currency | USD | Optional ISO currency rule. |
| Snapshot scope | feed-a | Use the same label and rules across complete runs. |
Output
Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):
{"recordType": "product-batch","demo": true,"products": [{"id": "demo-001","price": "12.00","currency": "USD","availability": "in stock","issues": [],"metrics": {"impressions": "120"}}],"syntheticLabel": "Fictional synthetic demo; not real buyer data."}
This example is fictional synthetic demo data, not a real run of a seller's feed. The SUMMARY record gives counts, notes and, for complete audits with a scope, the snapshot and changes. The input example is fictional and sanitised. Missing, duplicate or oversized IDs are not charged. For multiple such rows, one free dataset note contains every 1-based input row number in rowIndexes; a single invalid row is named in its note's message. SUMMARY.invalidItems gives the count within the selected product limit. These IDs make the audit incomplete, so no report or snapshot comparison is produced.
Pricing
- The fictional demo is free.
- $0.02 per batch of up to 10 identified products for feed validation, including a partial final batch; page checks are separate and free, even when unavailable; missing and duplicate IDs are free notes.
- $0.10 for an optional completed report; incomplete reports are free.
- Apify's start charge is $0.00005 per GB of allocated RAM, rounded up, with a minimum of one unit.
What typical jobs cost at the list price:
| Job | Cost |
|---|---|
| Fictional demo | Free, aside from any platform start charge |
| 10 products without report at up to 1 GB | $0.02005 including start |
| 21 products and a report at up to 1 GB | $0.16005 including start |
Set the maximum run cost. Remaining batches and reports are skipped when they do not fit; free notes remain available. The platform start charge varies with allocated RAM.
Tips
- Use the same scope and rules to compare snapshots.
- Supply impressions to rank reported issues; they are not estimates of lost sales.
Use it through the API
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("zaiq/merchant-feed-quality").call(run_input={"feedText": "id,price,currency,availability\nfictional-item-001,12.00,USD,in stock\n", "format": "csv"})for row in client.dataset(run.default_dataset_id).iterate_items():print(row)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('zaiq/merchant-feed-quality').call({"feedText": "id,price,currency,availability\nfictional-item-001,12.00,USD,in stock\n", "format": "csv"});const { items } = await client.dataset(run.defaultDatasetId).listItems();
HTTP (one call, results back)
curl -X POST 'https://api.apify.com/v2/acts/zaiq~merchant-feed-quality/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \-H 'Content-Type: application/json' \-d '{"feedText": "id,price,currency,availability\nfictional-item-001,12.00,USD,in stock\n", "format": "csv"}'
Integrations and schedules
- Schedules: run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
- Make, Zapier, n8n, Google Sheets, Slack, Airtable: connect it through Apify's integrations, or send each finished run to a webhook.
- Datasets: results stay in the run's dataset; export them or read them by API whenever you need them.
Use it with AI agents (MCP)
Add Apify's MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for an audit of my product feed. AI agents can also pay for runs directly through Apify's agentic payments.
Limits
- Does not check actual merchant approval, ad performance, sales, losses or stock quantities.
- GTIN is optional; a supplied value is checked for length and checksum only.
- Page comparisons need one Product with an exact SKU, one Offer, a matching declared locale, price, currency and availability. Otherwise the result is unknown.
- Only public HTTPS URLs without credentials or query strings are accepted. No redirects or retries. A login, CAPTCHA, human or bot check, 401, 403 or 429 immediately stops all page checks.
- At most 20 page requests per run, with at least one second between starts within that run. The buyer must have permission to use the supplied data and URLs.
- Snapshot comparison requires complete audits, the same scope and rules, and unique IDs; removed products are shown separately rather than called resolved issues.
- Currency recognition uses a bundled list and needs periodic updates. Dataset and key-value access depend on Apify permissions.
- On a same-run restart, uncertain billing or mismatched event counts stop further paid work and require review; existing output is retained. This does not guarantee exactly-once charging.
- Concurrent executions sharing the same default store are last-writer-wins for SUMMARY and REPORT.html. Run-scoped result IDs and report records do not provide transactional billing.
FAQ
Is GTIN required?
No. If present, its length and checksum are checked.
Can this prove approval or lost sales?
No. It checks supplied fields and optional page evidence only.
Does it edit my feed?
No.
Is the demo a real seller?
No, all demo records are fictional.
Related Actors from Zaiq
- shopify-products-scraper: collect product data into a dataset
Support
Questions, a site that changed, or a field you need? Open an issue on this Actor's Issues tab: we answer there, usually within a day.
Also found as: merchant feed audit, product feed validation, feed quality, product data audit.