Disclosure: I maintain Catalog Import Guard, including its paid API. This article was prepared with AI assistance, and the sample results and workflow execution were checked before publication.
A product CSV can be valid CSV and still contain an accidental duplicate variant, a price field with a currency symbol, or an empty field that changes an existing value during an overwrite. I built a small checker around that pre-import step.
Try the browser checker — no account, API key or Shopify installation is required. The CSV is checked on your device.
An example you can reproduce
Load the built-in example, or paste this CSV and choose Update products:
URL handle,Title,Option1 name,Option1 value,Price,Vendor linen-shirt,Linen Shirt,Size,S,49.00, linen-shirt,,,S,$39.00, The report contains two errors and one warning:
| Physical line | Finding | Why it needs review |
|---|---|---|
| 2 | Blank Vendor overwrite warning | With overwrite enabled, an empty vendor can clear an existing value. |
| 3 | Duplicate variant | Size S already appears within the same product handle. |
| 3 | Price format | The price field expects a number without a currency symbol. |
The checker reports physical line numbers, including files with quoted multiline cells. It does not guess what a price should be or change a store.
Using the same check in n8n
For a recurring supplier-file handoff, the public workflow and setup guide are on GitHub.
The workflow runs two synthetic cases, sends CSV text to the API, validates the response shape, produces a downloadable CSV issue report for each item, and routes blocking findings separately from results ready for manual review.
An HTTP 200 response alone does not mean the catalog passed. Errors, failed checks or a truncated report go to the blocked branch. A passing, untruncated result goes to the review branch. Both branches are connected; neither imports products or sends messages.
Import and execution were verified in local n8n 2.46.6 using the actual Worker handler through a localhost fixture and synthetic authentication. Both branches and the binary report filenames were checked. I have not tested this in n8n Cloud or through a real Shopify import.
Costs, data and limits
The browser checker remains free and local. The n8n workflow requires your own RapidAPI key and sends CSV text to the API. Remove customer information and credentials first.
The current API plans include BASIC at $0 for 100 requests/month and PRO at $5 for 1,000 requests/month, subject to platform terms, request limits and bandwidth fees. The two-case tutorial makes two requests per run. Your n8n hosting can have separate costs.
The browser accepts UTF-8 CSV text up to 256 KiB and 5,000 rows. API requests have a 256 KiB encoded JSON limit, so JSON escaping also counts. Checks cover selected product CSV fields; a passing result does not guarantee Shopify accepts an import. Review overwrite warnings and Shopify's own import preview before importing.
If you handle supplier CSVs, which errors take the most manual checking? A synthetic row and the relevant column names are enough to discuss a case; please do not post private catalog or customer data.
