Validate JSON Feed

Check JSON feed URLs, uploaded files, or pasted JSON before moving to integration review.

JSON validator

Validate a JSON endpoint or feed URL through the current backend validation flow.

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).