Shopify Catalog Quality Auditor — CatalogGuard avatar

Shopify Catalog Quality Auditor — CatalogGuard

Pricing

$10.00 / 1,000 completed store audits

Go to Apify Store
Shopify Catalog Quality Auditor — CatalogGuard

Shopify Catalog Quality Auditor — CatalogGuard

Audit public Shopify catalogs for duplicate SKUs, missing images, invalid compare-at prices, zero prices, and other review signals. Export CSV, JSON, and HTML.

Pricing

$10.00 / 1,000 completed store audits

Rating

0.0

(0)

Developer

Ashim Credeor

Ashim Credeor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

CatalogGuard

Shopify catalog quality signals, ready to review

Unofficial tool. CatalogGuard is not affiliated with, endorsed by, or sponsored by Shopify.

Audit a public Shopify catalog for actionable data-quality and merchandising signals. CatalogGuard finds duplicate or missing SKUs, missing images, invalid compare-at prices, duplicate titles, zero prices and optional catalog-hygiene issues, then exports a readable HTML report plus CSV and JSON.

Designed for Shopify store operators, agencies, migration teams and catalog QA workflows. No store password, Shopify Admin API credential, browser automation, proxy or external AI subscription is required.

Quick start on Apify

  1. Run with Synthetic demo enabled to inspect a safe example. It makes no store requests and does not charge a store-audit event.
  2. Switch demo off and enter 1–5 canonical HTTPS Shopify store homepages, such as https://your-store.example.
  3. Choose a product limit. A limit reached before the end of the public feed is reported as partial coverage.
  4. Keep Include low-severity review signals off for a focused report. Turn it on to include blank SKUs, image-alt gaps, vendor/type gaps, short or long titles and fully unavailable products.
  5. Open Readable HTML audit report in the Output tab. Download AUDIT.csv, FINDINGS or SUMMARY from Storage → Key-value store. The default dataset contains the same finding rows for integrations.

Signals

High

  • DUPLICATE_SKU: the same non-empty SKU is used by multiple observed variants. Review whether the duplication is intentional before changing fulfillment data.

Medium

  • INVALID_COMPARE_AT_PRICE: compare-at price is equal to or below the current price.
  • MISSING_PRODUCT_IMAGE: no image is present in the public product feed.
  • DUPLICATE_PRODUCT_TITLE: multiple products have the same normalized title.
  • ZERO_PRICE: variant price is zero and should be confirmed as intentional.

Optional low-severity signals

  • MISSING_SKU, IMAGE_ALT_MISSING, MISSING_VENDOR, MISSING_PRODUCT_TYPE
  • TITLE_TOO_SHORT, TITLE_TOO_LONG, ALL_VARIANTS_UNAVAILABLE

These are review signals, not automatic proof of defects. For example, a blank SKU or a sold-out product may be intentional.

Heuristic score

Each enabled check has a documented weight. The score is the percentage of weighted checks that did not trigger. High-confidence operational signals carry more weight than optional hygiene signals.

The score is a triage aid only. It is not a Shopify, SEO, accessibility, performance or legal certification and should not be used as one.

Outputs

  • REPORT.html: standalone readable audit with severity, evidence and suggested review steps.
  • AUDIT.csv: all findings, UTF-8 with spreadsheet-formula protection.
  • FINDINGS: JSON array of all findings.
  • SUMMARY: per-store completion, coverage, score and severity counts.
  • Default dataset: one row per finding for API and integration workflows.
  • Per-store records use an audit-v1-<hash> prefix.

Finding fields include store URL, severity, signal code, scope, product and variant identifiers, title, SKU, affected count, evidence, suggested review and public product URL.

Pricing

Current Store price: $0.01 per completed store audit ($10 per 1,000). Platform usage is included.

Failed collection, blocked/private feeds, budget-limited runs and synthetic demos do not request a store-audit charge. Output is delivered before the custom event charge is requested. If billing cannot be confirmed, the delivered audit remains available and the run stops instead of retrying automatically. The pricing shown in Apify Console at run time is authoritative. Configure a maximum run cost. Each live store needs at least one remaining store-audit event in that budget.

Limits and safe interpretation

  • Maximum 5 stores, 1,000 products per store and 10,000 product/variant pairs per store.
  • Reads only public /products.json feeds after checking robots.txt.
  • No login, anti-bot bypass, CAPTCHA solving, proxy rotation or private/Admin API access.
  • Cross-origin redirects are refused. Enter the final canonical store homepage.
  • HTTP 401, 403 and 429 responses fail without retrying or claiming an empty catalog.
  • Partial feeds are labeled. Catalog-wide duplicate checks then cover only observed products.
  • Availability is a public boolean, not inventory quantity or a checkout guarantee.
  • Image files are not downloaded. The audit sees only image metadata in the public feed.
  • Private/unpublished products, themes, rendered SEO, accessibility, checkout, regional pricing, apps and legal compliance are outside scope.
  • Shopify can change while pages are fetched, so a complete pagination pass is not a transactional snapshot.

Local use

Requires Node.js 22 or newer.

npm ci --ignore-scripts
npm test
npm run demo
node scripts/run-local.js examples/demo-input.json output/local-demo
node scripts/run-local.js examples/live-input.json output/local-live

Optional report preview:

node scripts/preview.js

Then open http://127.0.0.1:4391.

Data handling and appropriate use

CatalogGuard stores only public product metadata needed for the audit. It does not download image bytes or send catalog data to an external AI or analytics service. Run storage is managed by Apify.

Use the Actor only where you have permission and where applicable site terms permit it. Robots permission alone is not legal permission. Do not treat findings or the heuristic score as professional, legal, accessibility or compliance advice.

When reporting an issue, include the store domain, run ID and error message. Never include store passwords, Admin API credentials or customer data.