Feed Delta Guard — Product Feed Regression Audit avatar

Feed Delta Guard — Product Feed Regression Audit

Pricing

Pay per usage

Go to Apify Store
Feed Delta Guard — Product Feed Regression Audit

Feed Delta Guard — Product Feed Regression Audit

Compare product-feed snapshots to flag price changes, missing products, duplicate IDs and availability changes. Supply JSON, CSV or TSV and get English or Japanese reports in JSON, CSV, HTML and dataset output.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

M TSUTSUMI

M TSUTSUMI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Security

Limited permissions

Share

Feed Delta Guard

Check product-feed snapshots before an import or catalog update. Feed Delta Guard highlights price changes, missing or added products, duplicate IDs and availability changes, with finding messages in English or Japanese. Supply your own JSON rows or CSV/TSV text; no website access is needed.

Start with two snapshots

Paste this synthetic example into the Actor input:

{
"currentRows": [
{"id": "SKU-001", "price": "70.00 USD", "availability": "out_of_stock"},
{"id": "SKU-003", "price": "15.00 USD", "availability": "in_stock"}
],
"previousRows": [
{"id": "SKU-001", "price": "100.00 USD", "availability": "in_stock"},
{"id": "SKU-002", "price": "20.00 USD", "availability": "in_stock"}
],
"priceDropPercent": 20,
"priceIncreasePercent": 50,
"removalPercent": 20,
"reportLanguage": "en"
}

This example identifies SKU-001's price drop and availability change, SKU-002's removal and SKU-003's addition. The removal share also reaches the configured threshold. All example products are synthetic.

Provide exactly one of currentRows and currentCsv. For a comparison, also provide exactly one of previousRows and previousCsv. The baseline must be supplied explicitly on every run: it is not saved or automatically loaded from a previous run. Omit both previous fields for an initial audit; that checks current fields without inventing added or removed products. previousRows: [] is an explicit empty baseline. currentRows: [] is allowed and can reveal total product loss against a supplied baseline.

CSV and TSV input

Use CSV/TSV text with a header instead of JSON rows. Remove any prefilled currentRows before using currentCsv. For example:

{
"currentCsv": "id,price,availability\nSKU-001,70.00 USD,out_of_stock\n",
"previousCsv": "id,price,availability\nSKU-001,100.00 USD,in_stock\n",
"delimiter": "comma",
"reportLanguage": "ja"
}

For TSV, use tab characters (\t in JSON strings) and delimiter: "tab". The default auto detects comma or tab. Quoted CSV cells and multiline values are supported; malformed records fail validation. CSV record numbers start at 2 after the header and count logical records, including quoted multiline values as one record. JSON record numbers start at 1.

Map custom columns with idField, priceField, currencyField, availabilityField and gtinField. Defaults are id, price, currency, availability and gtin. Mappings must be distinct and are case-sensitive. Headers are trimmed; product ID values preserve case, whitespace and leading zeros exactly. IDs must be nonblank strings; numeric IDs are not converted.

Checks and settings

  • Prices: non-negative plain decimals such as 100.00 USD, or 100.00 with a separate currency field or defaultCurrency. Negative prices, comma separators and exponent notation are rejected as price findings. Missing prices produce warnings and prevent price comparison. Zero prices are flagged for review; relative growth from a zero baseline is not computed.
  • Price changes: priceDropPercent defaults to 20 and priceIncreasePercent to 50. Thresholds are inclusive. Both prices must be valid and use the same currency. Currency changes are reported separately; there is no FX conversion. Currency validation checks three uppercase letters only, without consulting a currency registry. Conflicting inline and separate currencies are flagged.
  • Added and missing products: compare IDs between snapshots. removalPercent defaults to 20 and flags a removal share at or above that percentage of eligible previous products.
  • Duplicate IDs: report every duplicate copy in either snapshot. An ID duplicated in either snapshot is excluded from all difference comparisons and added/removed counts; it is never silently overwritten. ambiguousIds reports the number of these IDs. Rows with missing or non-string IDs are flagged and excluded from ID comparison.
  • Availability: flag changes and review values outside in_stock, out_of_stock, preorder and backorder. This compares supplied fields, not actual inventory.
  • Optional GTIN: when a nonempty gtin is supplied, check a single string for 8, 12, 13 or 14 digits and its check digit, ignoring spaces and hyphens. Keep leading zeros by using strings. Changed GTIN values are also reported. Assignment, ownership and GS1 registration are not verified.

Use reportLanguage: "en" (default) or "ja" for English or Japanese finding messages. Field names and finding codes remain stable. Unknown top-level input options and invalid input structure fail the run rather than returning a partial audit.

Limits and completeness

Each snapshot supports at most 5,000 rows. The total input limit is 4 MiB of UTF-8 serialized JSON, including both snapshots, options and JSON-encoding overhead. Each row supports at most 64 columns, header names at most 200 characters and cells at most 4,096 characters. Use flat records, not nested objects or arrays. Inputs over these limits fail; input rows are not silently truncated.

maxFindings limits returned detail to 2,000 findings by default, configurable from 1 to 20,000. Full counts still cover all detected findings, including when detail is capped. Check findingsTotal, findingsReturned, findingsTruncated, severity totals and countsByCode in the summary. Errors take retention priority over warnings, then informational findings. JSON, CSV, HTML and dataset finding rows contain only retained details: a capped detail report is not exhaustive. reviewRequired indicates whether errors or warnings were found; a successful Actor run does not mean the feed is free of issues.

Get your results

  • JSON: the key-value store record OUTPUT contains summary and findings, including codes, severity, product ID, snapshot, record number and before/after evidence.
  • CSV: FINDINGS.csv contains retained findings with a UTF-8 BOM. Potential spreadsheet formulas receive a leading apostrophe for safer export; original evidence stays unchanged in JSON.
  • HTML: REPORT.html is a standalone report with escaped input values, summary and retained findings.
  • Dataset: the default dataset contains one kind=summary row followed by kind=finding rows. Filter by kind to select the rows you need.

Pricing

Pay per usage: you pay Apify platform usage charges for execution and storage under your Apify account's applicable rates. There is no additional report event fee; customer billing events are disabled for this release. Usage charges can apply even if the report has no findings or a run fails. There is no measured per-run cost or savings guarantee. Review your account's usage and limits when running the Actor.

Scope

Feed Delta Guard checks the data you supply. It does not fetch external websites, verify real inventory, validate images, establish product ownership, register offers, send messages or automatically schedule audits. It is not a complete Google Merchant Center specification validator and does not guarantee marketplace approval. Review findings before changing a catalog. These examples do not establish live cloud performance, customer demand or revenue.