Validate JSON Feed
Check JSON feed URLs, uploaded files, or pasted JSON before moving to integration review.
JSON Example
A compact JSON feed example using the fields shown in the validator checklist.
{
"products": [
{
"name": "Gaming Laptop Pro 16 512GB",
"url": "https://store.example.com/laptop001",
"price": 1299.99,
"currency": "EUR",
"category": "Computers > Laptops > Gaming",
"image": "https://store.example.com/images/laptop001.jpg",
"brand": "TechBrand",
"model": "Pro 16",
"ean": "4718017889766",
"mpn": "TB-PRO16-512",
"description": "High-performance gaming laptop with RTX graphics",
"color": "Black",
"in_stock": 8,
"condition": "used"
}
],
"meta": {
"total": 1,
"updated": "2024-01-15T10:30:00Z",
"version": "1.0"
}
}Validation errors
These are the same codes a merchant sees in the feed validation report in the shop panel. The code is machine-readable and never translated — search the report for it literally.
Fetching the feed
- FETCH_ERROR - The feed could not be downloaded: unreachable address, no answer within 30 seconds, an HTTP error, or bot protection served instead of the file.
Reading the file
- PARSE_ERROR - The file could not be read: broken markup, a truncated file, the wrong encoding. Commonly an HTML page returned instead of the feed.
- UNSUPPORTED_FORMAT - The file format is not supported.
- VALIDATION_ERROR - The validation itself failed — contact support and include the feed URL.
Individual products
- MISSING_REQUIRED_FIELD - The record has no title, price or link. The product is skipped entirely.
- INVALID_PRICE - A price is present but unreadable: a placeholder such as %regular_price%, free text, a range, or a value above 1,000,000. The product is skipped.
- INVALID_PRICE_FORMAT - The price contains non-numeric characters or is not a positive number.
- INVALID_URL - The link is not an absolute http(s) address — a relative path or an address without a protocol.
- ITEM_PARSE_ERROR - One record failed; the rest of the feed was read normally.
- NO_VALID_VARIANTS - The Shopify product has no usable variant: none of them carries a readable price.
- SKIPPED_PRODUCT - The record was skipped and no more precise reason could be determined.
When no product got through
- NO_ITEMS - No product elements were found in the file.
- NOT_A_PRODUCT_FEED - Elements exist but none carries a usable price — this may not be a product feed (a news feed, say), or the price sits under an unrecognised tag.
- INVALID_PRICES - Every element carries a price but none of them is readable — the problem is the format of the price values.
- ITEMS_ALL_SKIPPED - Elements were found but every one of them was skipped: no title or no price.
Warnings
- category - The product has no category. It still imports, but it is harder to find.
- brand - The product has no brand. It still imports, but it matches the shared product page less reliably.
- INVALID_CONDITION - The supplied condition is not supported. Import is not blocked, but the value is ignored; use new, used or refurbished (jauns, lietots and atjaunots are also accepted).