Manual for Channel Partners: Icecat Product JSON

By
manual thumbnail

Version: 3.0
Updated on: October 13th, 2026

This manual explains how to request the data sheet of one product in JSON: how to authenticate, which parameters to use, how to request only the parts you need, what each part of the response contains, which products you can and cannot receive, and which errors to expect. Use it if you build a web application, a webshop or a PIM that fetches Icecat product content in real time.

To compare Product JSON with the other ways of receiving Icecat content, see Manual for Channel Partners: How to Choose Your Integration with the Icecat Catalogue.

To find out which of your products Icecat covers and when their content changes, see Manual for Channel Partners: Personal Index File (PIF).


1. What Product JSON is

Product JSON returns the data sheet of one product per request, in real time. A data sheet contains, among other things:

  • identifiers, titles, brand, category, product family and series;
  • descriptions, bullet points, SEO texts, warranty information and disclaimers;
  • specifications with their full structure: groups, order, units, raw and display values;
  • the image gallery, documents, videos, 360° tours, energy labels and product stories;
  • reasons to buy, feature logos, reviews, related products and variants.

You can request the whole data sheet, or only the sections you need, for example only the gallery or only the title (see section 5).

Product JSON returns one language per request. To receive a product in several languages, send one request per language.

2. When we recommend Product JSON

We recommend Product JSON when:

  • You build a web application. JSON is read natively by JavaScript and by every modern programming language.
  • You need only part of a data sheet. With a granular call you receive, for example, only the gallery or only the specifications, and nothing else.
  • You want content in real time, at the moment you need it, product by product.

Product JSON is not the best choice when:

  • You want all languages of your subscription in one data sheet. JSON has no INT data sheet. Use the Product XML for that.
  • You want to show content on your pages without storing it. Use Icecat Live HTML.
  • You need a list of products to fetch. Product JSON works one product at a time. Use the Personal Index File (PIF) or the XML Index Files to know which products to request (see section 10).

3. Before you start

  1. Have a Channel Partner account. Requests from other account types are refused (error 3, see section 9).
  2. Know your subscription.
    • Open Icecat covers the brands that sponsor Icecat.
    • Full Icecat covers all brands. The same request returns a product only when your subscription covers its brand (see section 8).
  3. Create an API token and a content token. In MyIcecat, go to Access Tokens. See Manual: Access Tokens as Alternative to IP Whitelists & Basic Auth.
    • The API token identifies your account. It is required for Full Icecat products, unless you use the app key. For Open Icecat products it is optional, but we recommend it for every request.The content token is added to the file links in the response, so that you can download the images, documents and videos you are entitled to.
    Treat both tokens like passwords: keep them on your server only, never in a web page or in JavaScript that runs in the shopper’s browser. You can create, revoke and replace them in MyIcecat at any time.
  4. Plan to host the files yourself. Icecat is not a file host. Download the images, documents and videos from the response and serve them from your own storage. Do not link to Icecat file links from your shop pages: they can stop working. If you want Icecat content shown on your pages without storing it, use Icecat Live HTML.

An older authentication method, the app key, is still supported for existing integrations, but we do not recommend it. See App key.

4. Request

Address

https://live.icecat.biz/api

Only the GET method is supported.

Example

curl -H "api-token: <API_TOKEN>" -H "content-token: <CONTENT_TOKEN>" \
  "https://live.icecat.biz/api?lang=EN&icecat_id=56195846"

Without tokens, for an Open Icecat product, with the public demo account:

https://live.icecat.biz/api?lang=EN&shopname=openicecat-live&icecat_id=56195846
This helper only builds the request on this page. It sends nothing and stores nothing: your user name, tokens and app key never leave your browser.
Authentication
Identify product by
Enter an Icecat language code from the Icecat Locales and Language Code Table, for example EN for English (United Kingdom) or FR_BE for French (Belgium). INT is not available in JSON: request one language at a time.
Content
Command (curl)
 Request address

Headers

HeaderRequiredWhat it does
api-tokenFor Full Icecat products. Recommended for all requestsIdentifies your account. When you send it, shopname is not needed.
content-tokenRecommendedAdded automatically to the file links in the response (images, gallery, documents, videos, 360° tours, reasons to buy). Use the links exactly as you receive them.

Send tokens as headers, not as parameters in the address.

App key (not recommended)

An older method, the app key, is still supported for Full Icecat products. We recommend the API token instead: it works from any server, and the secret never appears in the request address. Open Icecat products need no app key: shopname is enough.

API token (recommended)App key
What you sendThe api-token headershopname + the app_key parameter
Where you get itMyIcecat → Access TokensMy Profile (Full Icecat accounts)
Where requests may come fromAny serverOnly IP addresses whitelisted in My Profile
How long it is validUntil you revoke itPermanent
Secret in the request addressNoYes: the key can end up in logs and browser histories

Add app_key (also accepted: AppKey, appkey) and shopname to the request:

https://live.icecat.biz/api?lang=EN&shopname=<YOUR_USERNAME>&app_key=<APP_KEY>&icecat_id=<ICECAT_ID>
  • The request must come from an IP address whitelisted in My Profile. Otherwise you get error 5.
  • The app key must belong to the account in shopname. Otherwise you get error 7.
  • The app key never expires. If it leaks, contact your account manager.

Parameters

Parameter names are case-sensitive. Write them exactly as below, or use one of the listed alternatives.

ParameterAlternativesRequiredWhat it contains
langlanguageYesThe language of the data sheet, for example EN, DE, NL. See the Icecat Locales and Language Code Table. Upper or lower case both work. INT is not available in JSON.
shopnameusername, UserNameYes, unless you send an api-tokenYour Icecat user name, as shown at the top of My Profile in MyIcecat.
icecat_idIcecatProductIdOne product identifier is required (see Identifying the product)The Icecat product ID.
ProductCodePartCodeThe brand’s product code (MPN). Use together with Brand.
BrandThe brand name. Use together with ProductCode.
GTINThe EAN or UPC code.
contentNoThe sections to receive, separated by commas. Leave it out, leave it empty or use all to receive the whole data sheet. See section 5.
relationsLimitrelationslimitNoThe maximum number of related products per relation type. Default and maximum: 500. A higher value returns no more than 500. See ProductRelated.
app_keyAppKey, appkeyNoOnly for the app key method. Not recommended.

Send each parameter once, as a single value. A repeated parameter, or a parameter sent as a list (lang[]=EN), is refused with error 20.

Encode special characters. Product codes and brand names may contain characters such as #, &, +, / or spaces. URL-encode them, for example # as %23 and , as %2C.

Identifying the product

Use one of these:

  • icecat_id;
  • Brand + ProductCode;
  • GTIN.

If you send more than one, Icecat uses them in this order:

  1. icecat_id, when present, decides alone.
  2. Brand + ProductCode. If you also sent a GTIN and no product matches brand and product code, Icecat tries the GTIN.
  3. GTIN alone.

ProductCode and Brand are not case-sensitive. A GTIN may be sent with or without leading zeros.

A brand without a product code, or a product code without a brand, is not enough (error 4).

Prefer the Icecat product ID when you have it, for example from the PIF. Icecat has already matched the product, so differences in spelling can no longer cause a miss.

Language

Each request returns one language. When a text does not exist in that language, some parts of the data sheet fall back to another language: for example, specification names fall back to English, and the gallery and documents include files that are not language-specific. Check the Language field that comes with each text to know which language you received.

An empty Language means international content. Images, videos, documents and other files with an empty Language are not tied to one language: they apply to all languages. Use them, do not filter them out. Icecat has already selected the content that is relevant for the language you requested, so everything in the response belongs on your product page in that language.

5. Choosing what to receive: the content parameter

The whole data sheet

Leave content out, leave it empty (content=), or use content=all. You receive these sections: GeneralInfo, Image, Multimedia, Gallery, FeaturesGroups, FeatureLogos, ReasonsToBuy, Reviews, ProductRelated, CatalogObjectCloud, Variants, ProductStory, Dictionary.

Every section is always present, even when the product has no content for it. It is then an empty list [] or an empty object {}.

Granular call: only the sections you need

List the sections in content, separated by commas (%2C when encoded):

https://live.icecat.biz/api?lang=EN&shopname=openicecat-live&icecat_id=56195846&content=title%2Cgallery
ValueYou receiveAlso in the whole data sheet?
generalinfoGeneralInfoYes
essentialinfoEssentialInfo: identifiers and names onlyGranular only
titleTitle and TitleInfoInside GeneralInfo
marketingtextMarketingText: the long descriptionInside GeneralInfo → Description
descriptionDescriptionInside GeneralInfo
bulletpointsBulletPointsInside GeneralInfo
generatedbulletpointsGeneratedBulletPointsInside GeneralInfo
imageImageYes
galleryGalleryYes
multimediaMultimedia: all documents, videos, 360° tours, energy labels and product storiesYes
manualsManuals: documents only (see Manuals)Inside Multimedia
videosVideos: videos onlyInside Multimedia
tours3dTours3d: 360° tours onlyInside Multimedia
productstoryProductStoryYes
featuregroupsFeaturesGroupsYes
featurelogosFeatureLogosYes
reasonstobuyReasonsToBuyYes
reviewsReviewsYes
relatedProductRelatedYes
variantsVariantsYes
catalogobjectcloudCatalogObjectCloudYes
dictionaryDictionaryYes
packagesPackages: packagingGranular only
brandorganizationsBrandOrganizations: brand owner, licensees, representativesGranular only
analyticsAnalytics: product popularityGranular only

Values are not case-sensitive.

An unknown value does not cause an error. You receive the sections you asked for correctly, plus a ContentErrors list that names the unknown value:

"ContentErrors": ["Not found: foo"]

Check ContentErrors after a granular call, so that a typo does not go unnoticed.

Example with all granular-only sections:

https://live.icecat.biz/api?lang=EN&shopname=openicecat-live&icecat_id=56195846&content=essentialinfo%2Cpackages%2Cbrandorganizations%2Canalytics

6. Response

6.1 The response envelope

A successful response has HTTP status 200:

{
  "msg": "OK",
  "data": {
    "GeneralInfo": {},
    "Image": {},
    "Multimedia": [],
    "Gallery": [],
    "FeaturesGroups": [],
    "FeatureLogos": [],
    "ReasonsToBuy": [],
    "Reviews": [],
    "ProductRelated": [],
    "CatalogObjectCloud": {},
    "Variants": [],
    "ProductStory": [],
    "Dictionary": {},
    "DemoAccount": false
  }
}
  • msg is OK on success.
  • data holds the sections you requested.
  • DemoAccount is true when you use a public demo account (such as openicecat-live) without an API token, and false otherwise.
  • ContentErrors appears only after a granular call with an unknown value (see section 5).

An error response has a different shape. See section 9.

Use links exactly as you receive them. Do not build links yourself and do not rely on how they are composed: their format can change at any time.

6.2 GeneralInfo

{
  "IcecatId": 56195846,
  "ReleaseDate": "",
  "EndOfLifeDate": "",
  "Title": "DELL G5 5587 Intel® Core™ i7 i7-8750H Laptop 39.6 cm (15.6\") Full HD …",
  "TitleInfo": {},
  "Brand": "DELL",
  "BrandID": "292",
  "BrandLogo": "https://…",
  "BrandInfo": {},
  "ProductName": "5587",
  "ProductNameInfo": {},
  "BrandPartCode": "5587-9709",
  "GTIN": ["5397184119709"],
  "Category": {},
  "ProductFamily": {},
  "ProductSeries": {},
  "Description": {},
  "SEOs": {},
  "SummaryDescription": {},
  "BulletPoints": {},
  "GeneratedBulletPoints": {},
  "GTINs": [],
  "VirtualCategory": []
}

IcecatId

The Icecat product ID. Use it as icecat_id in later requests.

ReleaseDate and EndOfLifeDate

When the product becomes available to Channel Partners, and when it is no longer on the market. Format DD-MM-YYYY. Empty when not known.

Title and TitleInfo

"Title": "Brand Family Series ProductName",
"TitleInfo": {
  "GeneratedIntTitle": "Brand Family Series ProductName",
  "GeneratedLocalTitle": { "Value": "Brand Family Series ProductName", "Language": "EN" },
  "BrandLocalTitle":     { "Value": "Brand Family Series Feature1 Feature2", "Language": "EN" }
}

Title is the best title for the requested language. TitleInfo shows all variants:

  • GeneratedIntTitle: brand (+ family + series) + the international product name.
  • GeneratedLocalTitle: the same, with the product name in the requested language. It can differ a lot from the international title, especially for non-Latin languages.
  • BrandLocalTitle: brand (+ family + series) + selected specifications. Used as Title when the product has no product name in the requested language.

Brand, BrandID, BrandLogo and BrandInfo

"Brand": "LEGO",
"BrandID": "3479",
"BrandLogo": "https://…",
"BrandInfo": { "BrandName": "LEGO", "BrandLocalName": "", "BrandLogo": "https://…" }
  • Brand: the brand name.
  • BrandID: the Icecat brand ID. You can match it with the brand list in the Icecat reference files.
  • BrandLogo: a link to the brand logo.
  • BrandLocalName: the brand name in the requested language, usually for non-Latin languages. Empty when there is none.

ProductName and ProductNameInfo

"ProductName": "ホリデーキャンピングカー",
"ProductNameInfo": {
  "ProductIntName": "Holiday Camper Van 60283",
  "ProductLocalName": { "Value": "ホリデーキャンピングカー", "Language": "JA" }
}

ProductName is the brand’s short name of the product for the requested language. ProductNameInfo gives the international and the local name.

BrandPartCode, GTIN and GTINs

"BrandPartCode": "60283",
"GTIN": ["5702016889772"],
"GTINs": [ { "GTIN": "5702016889772", "IsApproved": true } ]
  • BrandPartCode: the brand’s product code, the same as ProductCode in the request.
  • GTIN: all confirmed GTINs of the product. A product can have more than one.
  • GTINs: the same GTINs with their status. By default you receive only confirmed GTINs (IsApproved: true). To receive unconfirmed GTINs too, contact your account manager; they then appear in GTINs with IsApproved: false. GTIN always contains confirmed GTINs only.

Category and VirtualCategory

"Category": { "CategoryID": "151", "Name": { "Value": "Laptops", "Language": "EN" } },
"VirtualCategory": [
  { "VirtualCategoryID": "292", "UNCATID": "43211508", "Value": "Mobile Workstations", "Language": "EN" }
]
  • Category: the bottom-level category of the product. You can match CategoryID with the category list in the Icecat reference files.
  • VirtualCategory: some products also belong to one or more virtual categories, which describe the product more precisely, for example Chromebooks within Laptops. UNCATID is the UNSPSC code of the virtual category. VirtualCategory appears only when the product has one.

ProductFamily and ProductSeries

"ProductFamily": { "ProductFamilyID": "68786", "Value": "G5", "Language": "EN" },
"ProductSeries": { "SeriesID": "5958", "Value": "City Great Vehicles", "Language": "EN" }

Some brands group their products into families and series. In Apple iPod Touch, Apple is the brand, iPod the product family and Touch the series. Empty {}, or without Value, when the product has no family or series.

Description

"Description": {
  "ID": "62636579",
  "LongDesc": "<b>Power-packed. Adventure-ready.</b><br>15-inch gaming laptop …",
  "LongProductName": "15.6\" FHD (1920 x 1080) IPS, Intel Core i7-8750H …",
  "MiddleDesc": "",
  "Disclaimer": "",
  "ManualPDFURL": "https://…",
  "ManualPDFSize": "20779353",
  "LeafletPDFURL": "https://…",
  "PDFSize": "1422507",
  "URL": "https://www.dell.com/…",
  "WarrantyInfo": "12 Months Collect and Return",
  "Updated": "2018-07-16 14:25:35",
  "Language": "EN"
}
  • ID: the ID of this description.
  • LongDesc, MiddleDesc: marketing texts of different lengths. They are HTML: you may find the tags <b>, <br>, <p>, <sup>. Line breaks are already converted to <br>. They can contain footnote marks such as [1], explained in Disclaimer.
  • LongProductName: a long name of the product.
  • Disclaimer: legal notes and the explanation of footnotes.
  • ManualPDFURL + ManualPDFSize, LeafletPDFURL + PDFSize: a link to the main user manual and to the main leaflet, with their size in bytes. The Multimedia section lists all documents of the product, with their type and language, and with your content token added. We recommend using Multimedia for documents.
  • URL: the brand’s product page used as a source.
  • WarrantyInfo: the official warranty and its conditions. When the brand gave none, a general warranty text in the requested language is shown.
  • Updated: when the description was last changed, format YYYY-MM-DD HH:MM:SS.
  • Language: the language of this description.
  • TaxonomyName: present only when the description is exclusive content for a Channel Partner (see section 7).

SEOs

"SEOs": { "Title": "", "Description": "", "Keywords": "artificial flowers, sets for adults" }
  • Title: the meta title of the product page, shown in search results and in the browser tab.
  • Description: the meta description, often shown below the title in search results.
  • Keywords: keywords for the product page.
  • TaxonomyName: present only for partner-exclusive SEO texts (see section 7).

SummaryDescription

"SummaryDescription": {
  "ShortSummaryDescription": "LEGO City Holiday Camper Van, Building set, 5 yr(s), Plastic, 190 pc(s), 379 g",
  "LongSummaryDescription": "LEGO City Holiday Camper Van. Product type: Building set, Recommended age (min): 5 yr(s), …"
}

Short and long summaries, generated automatically by Icecat from the product’s main data and key specifications.

BulletPoints and GeneratedBulletPoints

"BulletPoints": {
"BulletPointsId": "3365318",
"Language": "EN",
"Values": ["…", "…"],
"Updated": "2024-02-28 11:33:30"
},
"GeneratedBulletPoints": {
"Language": "EN",
"Values": ["Gaming Laptop Clamshell Black", "Intel® Core™ i7 i7-8750H 2.2 GHz Processor cores: 6", "…"]
}
  • BulletPoints: the key selling points the brand wants to stress. TaxonomyName appears when they are partner-exclusive (see section 7). Empty {} when the brand gave none.
  • GeneratedBulletPoints: bullet points generated by Icecat from the specifications. Use them when BulletPoints is empty.

6.3 Image

The main image of the product: the first image a shopper sees.

{
  "HighPic": "https://…",  "HighPicSize": "361109", "HighPicHeight": "1280", "HighPicWidth": "1280",
  "LowPic": "https://…",   "LowPicSize": "20370",   "LowPicHeight": "200",   "LowPicWidth": "200",
  "Pic500x500": "https://…", "Pic500x500Size": "93169", "Pic500x500Height": "500", "Pic500x500Width": "500",
  "ThumbPic": "https://…", "ThumbPicSize": "4339"
}

Every image comes in four versions:

VersionWhat it is
HighPicThe original image
Pic500x500A medium version, up to 500 pixels
LowPicA small version, up to 200 pixels
ThumbPicA thumbnail

With each link you receive the size in bytes (…Size) and, except for the thumbnail, the height and width in pixels.

Image is the same image as the gallery image marked IsMain: "Y". When the product has no images, Image may show the brand logo, or be empty {}.

6.4 Gallery

All images of the product.

[
  {
    "ID": "25653364",
    "LowPic": "https://…", "LowSize": "20370", "LowHeight": "200", "LowWidth": "200",
    "ThumbPic": "https://…", "ThumbPicSize": "4339",
    "Pic": "https://…", "Size": "361109", "PicHeight": "1280", "PicWidth": "1280",
    "Pic500x500": "https://…", "Pic500x500Size": "93169", "Pic500x500Height": "500", "Pic500x500Width": "500",
    "No": "1",
    "IsMain": "Y",
    "Updated": "2024-03-14 17:44:45",
    "IsPrivate": "0",
    "Type": "ProductImage",
    "Attributes": { "OriginalFileName": "" }
  }
]
  • ID: the ID of the image.
  • Pic, Pic500x500, LowPic, ThumbPic: the four versions, as in Image.
  • No: the position of the image. The lowest number comes first. Brands order their images in the most appealing way, so we recommend keeping this order.
  • IsMain: Y for the main image, which is also shown in Image; N for the others.
  • Updated: when the image was last changed, format YYYY-MM-DD HH:MM:SS. Download the image again when this date changes.
  • IsPrivate: 1 for images the brand shares only with its authorised resellers. You receive them only when you are one (see section 8).
  • Type: what the image shows, for example ProductImage, PackshotFront-Center, LifestyleImage, ProductPackagingImage, ProductDetailImage, Screenshot, BrandLogo. See How to Make the Product Gallery Great Again.
  • Attributes → OriginalFileName: the brand’s original file name, when known.
  • TaxonomyName: present when the gallery is partner-exclusive (see section 7).

When the product has no images, the gallery may contain only the brand logo.

6.5 Multimedia

All documents, videos, 360° tours, energy labels and product stories, in one list. The fields depend on the type.

Fields of every item

FieldWhat it contains
IDThe ID of the item
URLA link to the file
TypeThe type of the item (see below)
ContentTypeThe file format, for example application/pdf, video/mp4
KeepAsUrl1 when the item is an external link (for example a YouTube video), 0 otherwise
DescriptionA short description of the item
SizeThe size in bytes
IsPrivate1 for items the brand shares only with its authorised resellers
UpdatedWhen the item was last changed, format YYYY-MM-DD HH:MM:SS
LanguageThe language of the item. Empty for international items, which apply to all languages: use them, do not filter them out (see Language)
IsVideo1 for videos, 0 otherwise
TaxonomyNamePresent for partner-exclusive items (see section 7)

Types

TypeWhat it is
leafletA marketing leaflet or brochure
manual pdfA user manual
EU Product FicheThe EU product information sheet
EU Energy LabelThe EU energy label (see Energy labels)
UK Energy LabelThe UK energy label. Only in English requests
Safety Data SheetA safety data sheet
Size ChartA size chart
Repairability index overviewThe repairability index
other digital assetsAny other document, for example a declaration of conformity
video/mp4A video
360A 360° tour
ProductStory, ProductStory2.0A product story

Generated brochure. For Open Icecat brands that provide no leaflet, Icecat adds a generated brochure of the product: Type leaflet, Size 0, Description “Brochure” + brand + product code.

Videos

{
  "ID": "44449113-DA4C-46B9-8621-F6F344F7ED50",
  "URL": "https://…",
  "Type": "video/mp4",
  "ContentType": "video/mp4",
  "KeepAsUrl": "0",
  "Description": "Product video",
  "Size": "1201332",
  "IsPrivate": "0",
  "Updated": "2024-02-28 11:45:05",
  "Language": "",
  "IsVideo": 1,
  "ThumbUrl": "https://…",
  "PreviewUrl": "https://…"
}
  • ContentType: video/mp4 for video files, text/html for external videos (KeepAsUrl: "1").
  • ThumbUrl, PreviewUrl: a small and a large preview picture.

Documents

{
  "ID": "ECBC44BE-018E-44E6-B8F6-8D93E61416C8",
  "URL": "https://…",
  "Type": "manual pdf",
  "ContentType": "application/pdf",
  "KeepAsUrl": "0",
  "Description": "User manual",
  "Size": "20779353",
  "IsPrivate": "0",
  "Updated": "2018-05-16 11:02:30",
  "Language": "EN",
  "IsVideo": 0
}

For the user manual, the leaflet, the EU Product Fiche and the EU energy label, Description is a standard name in the requested language, for example “User manual” or “Product Brochure”.

Energy labels

Energy-label items have extra fields:

FieldWhat it contains
EprelIdThe product’s registration number in the EU EPREL database. EU label only
EprelLinkA link to the product in EPREL
LabelTyperescaled for the current EU label scale, non-rescaled for the old scale
ConvertedURL, ConvertedContentType, ConvertedSizeThe label converted to another file format, with its format and size in bytes

When there is no EU Product Fiche in the requested language, you receive the English one.

360° tours

{
  "ID": "9E013A07-3B14-4864-820E-7AFDB7A07600",
  "URL": "https://…",
  "Type": "360",
  "ContentType": "image/jpeg",
  "KeepAsUrl": "0",
  "Description": "360",
  "Size": "249254",
  "IsPrivate": "0",
  "Updated": "2020-11-24 13:52:25",
  "Language": "",
  "IsVideo": 0,
  "3DTour": [
    { "Link": "https://…", "Link400": "https://…", "Link1000": "https://…", "Link2000": "https://…", "OrderNumber": "0" }
  ],
  "PreviewURL": "https://…",
  "PreviewSize": "249254",
  "PreviewHeight": "1125",
  "PreviewWidth": "2000"
}
  • 3DTour: the pictures of the product from every angle, clockwise, in the order of OrderNumber. Each picture comes in its original size (Link) and in three widths: Link400, Link1000 and Link2000.
  • PreviewURL, PreviewSize, PreviewHeight, PreviewWidth: the front picture, used as preview.

Product stories

{
  "ID": "4FE39CDC-7773-48BD-BD74-2A6DF1BAF77B",
  "URL": "https://…/index.html",
  "Type": "ProductStory",
  "ContentType": "application/zip",
  "KeepAsUrl": "0",
  "Description": "ProductStory",
  "Size": "1793",
  "IsPrivate": "0",
  "Updated": "2024-12-20 10:28:31",
  "Language": "DE",
  "IsVideo": 0
}

A product story is a rich, brand-designed presentation of the product. Type is ProductStory or ProductStory2.0. To show product stories on your pages, see Manual: How to Embed Product Stories into Your Website?.

6.6 FeaturesGroups

The specifications of the product, in groups.

[
  {
    "ID": 10674,
    "SortNo": "1000",
    "FeatureGroup": { "ID": "148", "Name": { "Value": "Design", "Language": "EN" } },
    "Features": [ … ]
  }
]
  • ID: the ID of the group within this category.
  • SortNo: the position of the group. The highest SortNo comes first.
  • FeatureGroup: the general ID of the group and its name in the requested language. It is not the same ID as ID.

Features

{
  "Localized": 0,
  "ID": 275632011,
  "LocalID": 0,
  "Type": "dropdown",
  "Value": "Notebook",
  "CategoryFeatureId": "101037",
  "CategoryFeatureGroupID": "10674",
  "SortNo": "100",
  "PresentationValue": "Laptop",
  "RawValue": "Notebook",
  "LocalValue": "Laptop",
  "Description": "The sub-category of the product.",
  "Mandatory": "1",
  "Searchable": "1",
  "Optional": "0",
  "Feature": {
    "ID": "14052",
    "Sign": "",
    "Measure": { "ID": "29", "Sign": "", "Signs": { "ID": "", "_": "", "Language": "EN" } },
    "Name": { "Value": "Product type", "Language": "EN" }
  }
}
  • Value, RawValue: the raw value. Use it for search, filters and comparison.
  • PresentationValue: the value formatted for display, in the requested language. Use it on your product page.
  • LocalValue: the value translated into the requested language, when a translation exists.
  • Localized: 1 when the value has a local version (LocalID), 0 when only the international value exists. ID is the ID of the international value, LocalID of the local one.
  • Type: the type of specification, for example dropdown.
  • CategoryFeatureId, CategoryFeatureGroupID: the specification and the group within this category. You can match them with the category feature list in the Icecat reference files.
  • SortNo: the position of the specification in its group. The highest SortNo comes first.
  • Description: an explanation of the specification, for example for a tooltip on its name.
  • Mandatory, Searchable, Optional: technical settings of the specification in this category.
  • Feature → ID: the general ID of the specification.
  • Feature → Name: the name of the specification in the requested language. When it has no name in that language, you receive the English name.
  • Feature → Measure → ID: the unit of measure. Measure → Signs → _ is the unit sign in the requested language, for example cm.
  • Feature → Sign and Measure → Sign are always empty. Use Measure → Signs → _.

6.7 FeatureLogos

Logos linked to a specification, such as certificates, technologies or age warnings.

[
  {
    "LogoPic": "https://…",
    "Width": "300",
    "Height": "299",
    "Size": "0",
    "ThumbPic": "https://…",
    "FeatureID": "9733",
    "Value": "2.0",
    "KeyLogo": 0,
    "Description": { "Value": "<b>Higher Performance When You Need It Most</b> …", "Language": "EN" }
  }
]
  • LogoPic: the logo in high resolution, with Width and Height in pixels.
  • Size: always 0.
  • ThumbPic: a thumbnail of the logo.
  • FeatureID: the specification the logo belongs to.
  • Value: the specification value for which the logo is shown.
  • KeyLogo: a logo linked to several specifications appears once per specification, each time with the same KeyLogo.
  • Description: an explanation of the logo in the requested language, for example for a tooltip.

6.8 ReasonsToBuy

The key advantages of the product, with a title, a text and often a picture.

{
  "ReasonToBuyID": "34208101",
  "Value": "Dell gaming machines are engineered with the specific, demanding needs of the gaming audience in mind. …",
  "HighPic": "https://…",
  "HighPicSize": "0",
  "No": "1",
  "Title": "Dell Gaming",
  "Language": "EN",
  "Updated": "2021-09-29 13:41:53",
  "Origin": "RTB",
  "IsPrivate": "0"
}
  • Title, Value: the heading and the text. Line breaks in Value are converted to <br>.
  • HighPic: a picture that goes with the text. HighPicSize is always 0.
  • No: the position. The lowest number comes first.
  • Origin: RTB for a reason to buy written by the brand, FeatureLogo for a feature logo used as a reason to buy, for example a certificate. Items are grouped by origin.
  • IsPrivate: 1 for items the brand shares only with its authorised resellers.

6.9 Reviews

Reviews of the product from external review sites. You receive them when reviews are included for your account or for the product’s brand; otherwise the list is empty.

{
  "ID": 2050785,
  "Score": 76,
  "URL": "https://www.gadgetspeak.com/review/…",
  "IsActive": true,
  "Published": "2018-10-31",
  "Value": "Not a light machine and while it does have good battery life …",
  "ValueGood": "",
  "ValueBad": "",
  "BottomLine": "",
  "Language": "EN",
  "IcecatID": 56195846,
  "AwardHighPic": "", "AwardLogoPic": "", "Code": "", "DateAdded": "", "Group": "", "LogoPic": "", "Updated": ""
}
  • ID: the ID of the review.
  • Score: the score the review gives the product.
  • URL: a link to the full review.
  • IsActive: false when the link to the review no longer works.
  • Published: when the review was published, format YYYY-MM-DD.
  • Value, ValueGood, ValueBad, BottomLine: the review text, its pros, its cons and its conclusion. Long texts are shortened.
  • Language: the language of the review.
  • IcecatID: the Icecat product ID.
  • AwardHighPic, AwardLogoPic, Code, DateAdded, Group, LogoPic, Updated are currently always empty.

6.10 ProductRelated

Products related to this one: accessories, consumables, services, alternatives and compatible products.

{
  "ID": 0,
  "CategoryID": 577,
  "Preferred": 0,
  "IcecatID": 31038491,
  "ProductCode": "960-001063",
  "ThumbPic": "",
  "ProductName": "C270 HD WEBCAM",
  "Brand": "Logitech",
  "BrandID": 91,
  "ProductRelatedLocales": [
    { "ID": 0, "Language": "EN", "Preferred": 0, "StartDate": "", "EndDate": "" }
  ],
  "RelationTypeCode": "accessory"
}
  • IcecatID, ProductCode, Brand, BrandID: the identifiers of the related product. Request its data sheet with icecat_id.
  • CategoryID: the category of the related product.
  • ProductName: the short name of the related product.
  • RelationTypeCode: what the related product is to this product:RelationTypeCodeMeaningaccessoryAn accessory for this productconsumableA consumable for this productserviceA service for this productalternativeAn alternative to this productcompatibleA product this one is compatible withunclassifiedA related product whose relation is not classified yetemptyA relation without a type
  • ProductRelatedLocales → Preferred: 1 when the brand recommends this related product, 0 otherwise. StartDate and EndDate: when the relation starts and ends, when known.
  • ID, Preferred (at the top level) and ThumbPic are kept for compatibility: ID may be 0, Preferred is always 0 and ThumbPic always empty.

How many related products you receive. At most 500 per relation type: up to 500 accessories, 500 consumables, 500 services and so on, not 500 in total. To receive fewer, set relationsLimit, for example relationsLimit=20 for up to 20 of each type. A value above 500 returns no more than 500. A value that is not a positive whole number is refused with error 30.

6.11 CatalogObjectCloud

A permanent public product page and a QR code that opens it. The page shows all available product information, independent of any shop. Some Channel Partners print the QR code on marketing materials, so that shoppers can see the full product information without being tied to a particular shop.

Available only for products of Open Icecat brands without publication restrictions; otherwise {}.

{
  "ProductPage": {
    "QRCodeURL": "https://qr.icecat.biz/coc/…",
    "URL": "https://coc.icecat.biz/…"
  }
}
  • URL: the permanent product page.
  • QRCodeURL: a QR code that opens that page.

6.12 Variants

Versions of the product that share its content but differ in one or two aspects, for example colour. Each variant lists only what is different from the main product.

[
  {
    "VariantID": "382",
    "VariantIdentifiers": [
      { "Identifier Type": "GTIN13", "Value": "1239967890129", "IsApproved": true },
      { "Identifier Type": "BrandProductCode", "Value": "12180C20T-3" }
    ],
    "VariantFeatures": [ { "VariantFeature SpecID": "<specification ID>", "Value": "<value>", "Language": "EN" } ],
    "VariantImages": [],
    "VariantMultimedia": [],
    "VariantDescriptions": "<b>Apollo 12.180 Watch strap Leather Beige</b> …"
  }
]
  • VariantID: the ID of the variant.
  • VariantIdentifiers: the product codes (BrandProductCode) and GTINs (GTIN13) of the variant. Note the space in the key Identifier Type. GTINs follow the same confirmed / unconfirmed rule as GTINs in GeneralInfo.
  • VariantFeatures: the specifications that differ. VariantFeature SpecID is the general ID of the specification. Language is missing for international values, which apply to all languages.
  • VariantImages, VariantMultimedia: currently always empty [].
  • VariantDescriptions: the description of the variant.

6.13 ProductStory

The ProductStory-type items of Multimedia, repeated here, with the same fields. Items of type ProductStory2.0 appear only in Multimedia.

With an Open Icecat subscription, you can sometimes receive the product story of a Full Icecat product with content=productstory. See Product stories of Full Icecat brands for Open Icecat accounts.

6.14 Dictionary

Labels in the requested language that Icecat Live uses on its pages, for example “Specs” or “Product code”. You can safely ignore this section.

6.15 Granular-only and partial sections

These sections are returned only when you ask for them in content.

EssentialInfo

content=essentialinfo. Granular only. The identifiers and names of the product: Brand, ProductCode, ProductFamily, ProductSeries, ProductName, ProductNameInfo, GTIN, GTINs. The fields are as in GeneralInfo.

Title

content=title. Title and TitleInfo, as in GeneralInfo.

MarketingText

content=marketingtext. The long description (LongDesc from Description) as MarketingText, with its Language, and TaxonomyName when it is partner-exclusive.

Description, BulletPoints, GeneratedBulletPoints

content=description, content=bulletpoints, content=generatedbulletpoints. The same blocks as in GeneralInfo, on their own.

Manuals

content=manuals. Only the documents from Multimedia: user manuals, leaflets, EU and UK energy labels, EU Product Fiches, size charts, safety data sheets and other digital assets.

Videos

content=videos. Only the videos from Multimedia.

Tours3d

content=tours3d. Only the 360° tours from Multimedia.

Packages

content=packages. Granular only. The packaging of the product, as required under the EU’s Extended Producer Responsibility (EPR) rules. Each package is a product in a packaging category, with its own Icecat product ID, so you can request the data sheet of the package itself by icecat_id.

"Packages": [
  {
    "CategoryID": 9563,
    "IcecatID": 12345678,
    "ProductCode": "123456#MPN",
    "BrandID": 1,
    "ProductName": "Primary packaging name",
    "GTINs": [ { "GTIN": "123456789012", "IsApproved": true } ]
  }
]

Empty [] when the product has no packaging information.

BrandOrganizations

content=brandorganizations. Granular only. The organisations behind the brand.

"BrandOrganizations": {
  "BrandOwner": {
    "Organization": {
      "ID": "0f0ac11a-bfb8-4bf0-bcc3-974928831290",
      "Name": "Apple Inc.",
      "CountryCode": "US",
      "State": "California",
      "City": "Cupertino",
      "Street": "One Apple Park Way",
      "HouseNumber": "-",
      "ZIP": "CA 95014",
      "URLs": ["https://www.apple.com/contact/"],
      "Emails": []
    }
  },
  "Licensees": [],
  "Representatives": [ { "ID": "173601183229804564", "Organization": { … } } ]
}
  • BrandOwner: the company that owns the brand. A brand has one owner.
  • Licensees: companies that make products under the brand. A brand can have several.
  • Representatives: legal entities responsible for sustainability-related matters for the brand.
  • Organization: ID, official Name, CountryCode (ISO 3166-1 alpha-2), State (only where applicable, for example in the US), City, Street, HouseNumber, ZIP, URLs (always present) and Emails (optional).

The structure is the same as in the BrandOrganizations reference file, without its Updated field. How to use these details, for example for the contact information required under the EU General Product Safety Regulation (GPSR), is explained in Manual: Retrieving GPSR related Contact Details.

Analytics

content=analytics. Granular only.

"Analytics": { "Popularity": 5063 }

Popularity: a popularity indicator of the product, based on how often it is viewed through Icecat. It is global: it counts all languages together, so you receive the same value whatever language you request.

7. Partner-exclusive content (TaxonomyName)

Some brands create content exclusively for one Channel Partner or for a group of Channel Partners: a description, bullet points, SEO texts, a gallery or a product story. Such content belongs to a taxonomy.

When your account has access to one or more taxonomies, Icecat follows your priority list: for each part of the data sheet, the first source in your list that has content for the requested language wins. When none of them has content, you receive the general brand content.

The TaxonomyName field tells you which taxonomy the content comes from. It appears only for partner-exclusive content: on Description, SEOs, BulletPoints, MarketingText, on every Gallery image, and on product-story items in Multimedia. General brand content has no TaxonomyName.

To set up access to taxonomies or change your priority list, contact your account manager.

8. Which products you receive and which you do not

ProductWhat you get
From an Open Icecat brandThe data sheet, with or without an API token
From a Full Icecat brand, with a Full Icecat subscription and an API token (or an app key)The data sheet
From a Full Icecat brand, with an Open Icecat subscription, or with shopname onlyError 9
From a Full Icecat brand that made its product stories available to all users, with an Open Icecat subscriptionThe product story only, with content=productstory (see below). Everything else: error 9
From a Full Icecat brand outside the categories (verticals) of your Full Icecat subscriptionError 12
Not yet releasedError 15. The brand’s authorised resellers receive it before release
Not yet public in the requested languageError 14
Restricted by the brand, or shared by the brand only with selected resellersError 14, unless you are one of them
Not in the Icecat catalogue, or without a data sheetError 8, 16 or 17, depending on how you identified it

A refused product is refused in full. You never receive part of a data sheet because of a restriction. The only exception is described in Product stories of Full Icecat brands for Open Icecat accounts.

Private files are left out, not marked. Images, documents, videos and reasons to buy that the brand shares only with its authorised resellers are simply not in the response when you are not one. When you are, they are included with IsPrivate: "1". If you have a relationship with a brand, you can request authorisation through the Icecat website.

What you can access changes over time. A product can be released, a brand can change its restrictions, and your subscription can change. A product that is refused today can be available tomorrow, and the other way round.

Product stories of Full Icecat brands for Open Icecat accounts

A brand can choose to make its product stories available to all Icecat users. In that case you can receive the product story of a Full Icecat product even with an Open Icecat subscription.

This works only when you request the product story on its own:

https://live.icecat.biz/api?lang=EN&shopname=<YOUR_USERNAME>&icecat_id=<ICECAT_ID>&content=productstory
  • The rest of the data sheet stays Full Icecat content. A request for the whole data sheet, or for productstory together with any other section, returns error 9.
  • If the brand has not made its product stories available to all users, the request returns error 9 as well.
  • The brand’s other restrictions still apply: release date, restricted products and selected resellers (errors 14 and 15).
  • You receive items of type ProductStory. Items of type ProductStory2.0 are not included.

9. Errors

An error response has this shape, and the HTTP status equals Code:

{
  "StatusCode": 18,
  "Code": 404,
  "Error": "Not Found",
  "Message": "Not found user by API Token"
}
FieldWhat it is
StatusCodeThe Icecat error code. Check this value in your integration. It does not change.
CodeThe HTTP status of the response: 400, 403 or 404.
ErrorThe standard name of that HTTP status, for example Not Found.
MessageA description of the error. The text can be returned in the requested language and can change over time, so do not match on it in your code. Use StatusCode instead.

All error codes

The table lists every StatusCode you can receive from the requests described in this manual. The message is shown in English.

StatusCodeHTTPMessageWhat it meansWhat to do
1400UserName, lang are mandatory fieldslang is missing, or both shopname and the API token are missing. Also when a parameter name is spelled differently from the parameter table, for example Lang or ShopName.Add the missing parameter and check the spelling. lang is always required. shopname is required only when you send no API token.
2404Lang is unknownThe language code is not in the Language Code Table. INT is not available in JSON.Use a code from the Language Code Table.
3404{shopname} the Icecat user is unknownNo Icecat account has this user name, or the account is not a Channel Partner account.Check the spelling of your user name. If you send an API token, leave shopname out: the token identifies your account.
4400Product identifier(s) is not correct / Product identifier(s) is emptyNo usable product identifier: none was sent, the Icecat product ID is not a number, or a brand was sent without a product code.Send one of: icecat_id; Brand + ProductCode; Brand + ProductCode + GTIN; GTIN. See Identifying the product.
5403You have wrong ip address for accessOnly with an app key: the IP address you send from is not whitelisted.Switch to an API token, which works from any IP address, or add the IP address in My Profile.
7400Wrong matching shopname with app_keyOnly with an app key: the app key and the user name belong to different accounts.Switch to an API token, or use the app key issued for the same account as the user name.
8404The requested product is not present in the Icecat databaseNo product was found for this brand and product code, or the product has no data sheet in Icecat.Check the identifiers on the Icecat website. Try the GTIN. If the product is not in the catalogue, contact us via the contact form.
9403Display of content for users with a Full Icecat subscription level will require the use of a server certificate and a dynamic secret phrase. Please, contact your account manager for help with the implementationThe product belongs to a brand that is only in Full Icecat. Either your subscription is Open Icecat; or you have Full Icecat but sent only shopname.Open Icecat: this product is not part of the free catalogue; upgrade to Full Icecat. Full Icecat: send your API token in the api-token header.
12403The requested product is limited for current user vertical, please contact your account manager at IcecatThe product belongs to a category (vertical) that your Full Icecat subscription does not include.Request the vertical in the Verticals section of My Profile, or contact your account manager.
14404Product has brand restrictions or access is limitedThe brand restricts this product, for the whole brand or only for selected products or languages; or it shares the product only with selected resellers; or the product is not yet public in the requested language.Some restrictions apply to Open Icecat only and are lifted with Full Icecat. Others apply to everyone except the brand’s authorised resellers: use Request authorization on the product page, or Add authorization in My Profile.
15404Products datasheet is not yet releasedThe product’s release date is in the future.Try again after the release date, or get earlier access as an authorised reseller of the brand (see error 14).
16400Product EAN is not correctThe GTIN is not valid, or no product has this GTIN.Check that the GTIN is complete and contains digits only. Try the brand and product code.
17404Missing information about productNo product information exists for this Icecat product ID.Check the ID. If it is correct, contact us via the contact form.
18404Not found user by API TokenThe API token does not belong to any account, for example because it was revoked. A common cause is sending the content token instead of the API token.Check that the api-token header carries the API token. If unsure, revoke it in MyIcecat and create a new one.
19400API Token is not valid UUIDThe api-token header does not contain a valid token.Check that the header carries the complete token, without quotation marks, spaces or line breaks around it.
20400Query param must be a stringA parameter was sent twice, or as a list (lang[]=EN).Send each parameter once, as a single value.
30400Relations limit is not positive integerrelationsLimit is not a positive whole number.Send a number from 1 to 500, or leave it out.
34400Exceed max string lengthA parameter value is too long.Check the value, for example a product code pasted with extra text.

Responses without a StatusCode

HTTPResponseWhat to do
404{"Code": 404, "Error": "", "Message": "The requested product is not present in the Icecat database"}The product could not be found or delivered. Check the identifiers.
500{"Code": 500, "Error": "", "Message": "The server encountered an unexpected condition …"}Try again later. If it persists, contact your account manager.

Before processing a response, always check that msg is OK.

10. Integration flows

Flow A: the PIF tells you what to fetch, Product JSON delivers the content

The recommended flow for a webshop or PIM that stores product content itself.

  1. Download your Personal Index File (PIF) and compare it with your previous version. It tells you which of your products are new, changed or no longer available.
  2. For each new or changed product, request its data sheet in JSON, one request per language.
  3. Download the images, documents and videos from the response and host them yourself. Download a file again when its Updated date changes.
  4. Update your database. When a product disappears from the PIF, or a request returns an error from section 8, stop using its content.

Flow B: the XML Index Files tell you what to fetch

For a mirror of the whole Icecat catalogue, or to find products you do not sell yet.

  1. Process the XML Index Files every day. They list all products, and the products changed in the last 24 hours.
  2. Request the data sheet of each new or changed product in JSON, by its Icecat product ID.
  3. Continue as in Flow A, steps 3 and 4.

Flow C: granular calls for lighter requests

Request only what you need, when you need it:

  • A product list or search results: content=essentialinfo,image gives names, identifiers and the main image, without the full data sheet.
  • A gallery update: content=gallery when you only refresh images.
  • Specifications for filters: content=featuregroups.
  • Packaging data for EPR reporting: content=packages.

Smaller responses arrive faster and are easier to process.

Related manuals

  • commented on December 2, 2017 by Henry

    Can we get examples or point us to it for retrieving products specifications of a product based on group (design, processortype, package containing, etc).

    • commented on December 5, 2017 by Martijn Hoogeveen

      You will have first to download the specs of all products in a given category to populate your database, before you can run queries on single attributes.

  • commented on July 25, 2018 by Marco

    How can I make request with a valid username?

    • commented on September 24, 2018 by Laura van der Blom

      Hi Marco,

      Thanks for your interest in our service. A colleague of mine will contact you shortly via email.

    • commented on July 25, 2020 by Perin Raphaël

      Hello,
      I have exactly the same question :
      How can I make request with a valid username in JSON? (No problem with the XML)
      In your Manual, you talk about UserName but never about password :
      http(s)://live.icecat.biz/api/?UserName=&Language=&Content=&GTIN=
      it’s work but i read in the json object “Demo user…please get un account…”

      In Xml we use a context for the authentication.. But in json it’s doesn’t work :o(

      Is there a Manual somewhere on your site ? I found this : https://iceclog.com/manual-for-icecat-json-product-requests/ but no password.. only userName :o(

      Can you help me ?

      Thanks,

      Sorry for my broken english

      • commented on July 27, 2020 by Vazha Abramishvili

        Dear Perin
        In case of JSON call password is not required. You can use Open Icecat products data with only the user name. However, not sponsored products (Full Icecat) should be requested using App-Key. This is our internal entity which we can provide on demand once user signs Full Icecat contract.

  • commented on February 20, 2019 by Jani Malin

    Hi,

    Currently all you examples just return: {“statusCode”:1,”message”:”UserName, lang are mandatory fields”}

    In your examples you have “language” as required field, but even switching between lang/language does not fix the situation.

    Br,
    –Jani

    • commented on February 20, 2019 by Laura van der Blom

      Dear Jani,

      One of my colleagues will contact you shortly to help you solve the problem.

      Kind Regards,
      Laura

  • commented on May 29, 2019 by javi

    hi,

    i have one DB with Product code or Part number for example D-Link -> DGS-1210-24
    How can i get the Icecat code to this part number for example?
    i have the possibility the get code with URL or JSON.

    • commented on June 14, 2019 by Laura van der Blom

      Dear Javier,

      The responsible account manager for this will contact you soon to answer your questions.

  • commented on August 22, 2019 by Martin Horvath

    Hi Icecat,

    do you have plans to support multiple languages in a single request? Currently, I need to work around that with one call per language but that’s neither efficient nor nice :-)

    Best,
    Martin

  • commented on September 10, 2019 by Jeroen

    Hi Icecat,

    Is there a way to determine of I receive dutch or english texts, when requesting a product with the dutch language code.

    For example, when I try to get dutch texts for a specific product
    http://live.icecat.biz/api/?UserName=openIcecat-live&Language=nl&icecat_id=33593119

    I get english texts for the fields LongDesc and the Description field of some of the Features. (for example feature with ID:292392349, CategoryFeatureId: 50596 and CategoryFeatureGroupID: 6675.

    The texts are in english, but there is no Language field/flag available to determine if they are in English or in Dutch.

    Hope to hear from you soon,
    Kind regards,
    Jeroen

  • commented on August 8, 2020 by Samaresh Ghosh

    What is sts code of philips HTD5520/94

  • commented on September 15, 2020 by Dmitry

    Good afternoon. I bought access to full cat. but when a request is formed, for example, for a product Huawei S1700-28FR-2T2P-AC switch, “he requested XML data-sheet is not described in the Icecat” is returned, although the product is in the ice cat. what could be the problem?

  • commented on October 14, 2020 by Anna

    Is there a way to add or list products with Icecat API or XML? Not only get or fetch data, also add products and listings.

  • commented on October 23, 2020 by John

    Hi

    I’m trying the JSON command in combination with the EAN code e.g. https://live.icecat.biz/api/?UserName=openIcecat-live&Language=en&GTIN=0882780751682
    This works fine but not for all EAN codes, eg. https://live.icecat.biz/api/?UserName=openIcecat-live&Language=en&GTIN=5060301694013 does not work,(error: {“statusCode”:4,”message”:”Product identifier(s) is not correct”}) altough the ean code exist in your database. How come?

  • commented on January 20, 2021 by A

    Hello,

    http://live.icecat.biz/api/?UserName=XXXXXX&Language=en&Brand=Silicon%20Power&ProductCode=SP032GBUF2810V1B

    gives “msg”: “OK” and some correct data, but in data -> dictionary
    “demo_insert_desc”: “This is a demo of a seamless insert of an Icecat LIVE product data-sheet in your website. Imagine that this responsive data-sheet is included in the product page of your webshop.”,
    “demo_msg_part1”: “You are using now a Demo account. Please, use your own Icecat account”,
    “demo_msg_part2”: “your Icecat login name”,
    “demo_msg_part3”: “If you don’t have an Icecat account, please register here for free.”,

    Is it ok? How to fix it? Thanks!

  • commented on February 21, 2021 by kleistu

    Hi,

    I am using free version now. Is there a way to check whether a specific product is included in the paid version but is not included in the free version?

  • commented on February 22, 2021 by kleistu

    Thanks for your quick answer. Is there a way to do this via api? Using free version for many items I get response (using ean to match):
    {“statusCode”:4,”message”:”Produkt Identifikator(en) sind nicht korrekt”}

    I would like to have a way to check via api if I upgrade to full version, will there be data for this product or not.

    • Dear

      We store information if the brand is the sponsor (Open Icecat) or not in the SuppliersList.xml.gz. This file can be found via the following link: https://data.Icecat.biz/export/freexml/refs/

      Further, the country manager of Germany at Icecat will contact you to help you in analyses of your portfolio, so you will know per product which product is in Open Icecat and which one in Full.

    • Status code “9”, which implies that the respective data-sheet can only be accessed through Full Icecat subscriptions.

  • commented on June 25, 2021 by Ricardo Castro

    Hi.
    Is there a way to make a request with many products and get the response through the API?

    Thanks in advance

    • Dear Ricardo

      It is impossible to make one request and get JSON files for several products but you can make requests simultaneously for up to 100 product data sheets and get JSON files for these products.

      Kind regards

      Vazha Abramishvili

  • commented on January 4, 2022 by Gatis

    Can we get EPREL product ID via Ice Cat?

    • commented on January 5, 2022 by Wouter Maatman

      Hello Gatis,

      It is possible to exclude it from EPREL link which is available in XMLs. For example:
      LabelType=”rescaled” EprelLink=”https://eprel.ec.europa.eu/qr/293144″/>

      In case of any further questions please contact your local country manager.

      Regards,
      Wouter

  • commented on August 30, 2022 by Peer

    Comparing the JSON with the XML request: for the JSON request the ProductPicture in the ProductGallery is not available in the raw format (XML attribute “Original”). Is it planned to add this to JSON and when?

    • commented on August 30, 2022 by Wouter Maatman

      Hi Peer, thanks for your comment. A country manager will contact you asap. Regards, Wouter

  • commented on December 17, 2022 by wineloy

    Does anyone know if it’s normal that even replacing the name openIcecat-live with my account name in the URL, it still shows up in some dictionary node properties?
    “demo_msg_part1”: “You are now using a demo account. Use your own Icecat account” ?

    In theory I already have my own account

    • commented on December 19, 2022 by Wouter Maatman

      Hi Wineloy, thanks for reaching out. A country manager will contact you asap. Regards, Wouter

  • commented on March 26, 2023 by Hannibal

    Hello, I encountered the same problem that @Wineloy. any solution please?

    Is it possible to batch download the images associated with the product ?

    Best regards,
    Hannibal

    • commented on March 27, 2023 by Wouter Maatman

      Hello Hannibal, thanks for your question. Can you please share the product you are trying to test and your username? Then our support team can look into the issue.

      Regarding the batch download, there is the possibility to download the bach images per product only via PCF.

      Regards,
      Wouter

  • commented on May 4, 2023 by Udeep

    May I know how to make a HTTP Get Request for a give EAN number ? Also is there a pre-defined XSD that IceCat provides based on which we can create our model ? Please can you direct me. Thank you in advance.

    • commented on May 5, 2023 by Wouter Maatman

      Hello Udeep, thanks for your comments. Our country manager will contact you today. Regards, Wouter

  • commented on October 26, 2023 by Ben Brown

    Hello,

    is it possible to get more then one language per request ? Currently i have to make a call for each Language which slows down the whole process a bit.

    Regards
    Ben

  • commented on October 26, 2023 by Ben Brown

    Thanks for the fast answer, is there any ETA when this will be Supported through JSON API ?
    We are currently using a extremly modified Version of your Pimcore Bundle Plugin and this worked with JSON from the beginning , so switching from json to xml would have too much impact

    • Sorry, Ben, we have no ETA for combined multilingual data through JSON. It’s a known wish though. When we have it planned, we will message this.

  • commented on August 22, 2024 by Martin

    Is the JSON interface mature enough to use now?

    This page (date) suggests it’s been in place for over 6 years now.

    I am looking at the following page and getting different results when clicking on the XML product data link and the JSON product data link.

    https://icecat.us/en/p/belkin/f8e081-gry/mouse+pads-0722868158128-standard+mouse+pad-1105340.html

    The XML returns data, as expected, but the JSON indicates that it’s using the demo account, even though it has the correct username and api_key in the url.

    Is JSON sufficiently robust enough to use now?

  • commented on September 12, 2024 by Martin

    Hi,

    Is JSON considered a mature and robust interface now?

    Thanks
    Martin…

  • commented on December 10, 2024 by Miroslavs Pronins

    Hello,
    1) Is it possible to get a Quality attribute in JSON?
    2) Or JSON have some other logic regarding the Quality parameter (IceCat, Supplier, NoEditor)

    • Dear Miroslavs

      There is no Quality attribute in the Product JSON file but we have this information in index file on the product level. So you can identify the quality of the product while you are matching your product list on the Icecat index file.

      Kind regards

      Vazha Abramishvili

  • commented on January 20, 2025 by Jos de Callafon

    I’m interested in the new “Manufacturer and EU Representative Contact Information”.
    At the moment I can not find any example payload with this information.

    How do I retrieve the . Manufacturer and EU Representative Contact Information for a product / brand?

    • Dear Jos

      We are busy to add this information to the product JSON and XML files. Also we are busy to create separate file OrganizationList.xml for bulk downloads. The development will be finalized in the middle of February. Meanwhile as the temporary solution you can use SupplierList.xml from the reference files. We put “Brand Owner” and “Representative” in the SupplierList.xml under the tag “CustomerService”

      Kind regards

      Vazha Abramishvili

  • commented on February 6, 2025 by Heron X

    Hi,

    How can I search for products with the ProductCode with special characters? Such as “/”

    Brand=apple
    ProductCode=MQH63LL%2FA (or MQH63LL/A)

    Response:
    {
    “StatusCode”: 5,
    “Code”: 403,
    “Error”: “Forbidden”,
    “Message”: “You have wrong ip address for access”
    }

    • Dear Heron

      In case you are making direct XML or JSON %2F is the correct replacement of /
      In your case problem is different. Actually error message explains it well: “Message”: “You have wrong ip address for access”
      So what you need to do is whitelist your IP address on your user interface at Icecat portal (www.icecat.biz)

  • commented on July 17, 2025 by Rajesh

    Hi,
    Is there any JSON schema availabel for the response that we get from the API call?

    • If you already have an Open Icecat account, you can test actual JSON responses for products and build your own schema from those examples.

      For Full Icecat access or brand content submission, use the Push‑API manual as your guide—then reference your own JSON contract to match Icecat’s expectations.

      If you need a formal JSON Schema file (e.g., .schema.json) for validation, consider generating one from live API responses or from the API‑IN documentation using tools like genson, jsonschema.net, or converting OpenAPI/Swagger into JSON Schema.

      You can also ask ChatGPT to generate a schema for you based on Icecat JSON output.

      Reference
      https://iceclog.com/manual-for-icecat-json-product-requests

Leave a Reply

Your email address will not be published. Required fields are marked *

manual thumbnail3

Manual for Channel Partners: Icecat Live HTML

Icecat Live is a (free) service that enables you to insert real-time produc...
 June 10, 2022

Icecat Add-Ons Overview. NEW: Claude AI, ChatGPT, AgenticFlow.AI, Mindpal.space and BoltAI

Icecat has a huge list of integration partners, making it easy for clients ...
 September 3, 2025
LIVE JS

How to Create a Button that Opens Video in a Modal Window

Recently, our Icecat Live JavaScript interface was updated with two new fun...
 November 3, 2021
New Standard video thumbnail

Autheos video acquisition completed

July 21, Icecat and Autheos jointly a...
 September 7, 2021
Manual How to Import Free Product Content Into Your Webshop via Icecat

Manual: How to Import Free Product Content Into Your E-commerce System via Icecat API

This guide is intended for developers working with Icecat via API. The docu...
 May 24, 2024