Shopify Catalog Quality Auditor — CatalogGuard
Pricing
$10.00 / 1,000 completed store audits
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
Maintained by CommunityActor 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
- Run with Synthetic demo enabled to inspect a safe example. It makes no store requests and does not charge a
store-auditevent. - Switch demo off and enter 1–5 canonical HTTPS Shopify store homepages, such as
https://your-store.example. - Choose a product limit. A limit reached before the end of the public feed is reported as partial coverage.
- 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.
- Open Readable HTML audit report in the Output tab. Download
AUDIT.csv,FINDINGSorSUMMARYfrom 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_TYPETITLE_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.jsonfeeds after checkingrobots.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-scriptsnpm testnpm run demonode scripts/run-local.js examples/demo-input.json output/local-demonode 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.