Manual for Icecat Live: Real-Time Product Data in Your App

manual thumbnail3

Icecat Live is a (free) service that enables you to insert real-time product content from hundreds of major brands or manufacturers in any of your apps. Just with a few lines of JavaScript in your HTML template. This manual provides a quick guide on how to embed product information into your website easily. Further, we describe the Icecat Live service and give a concise overview of the Icecat inner structure. This post focuses on the embedding of Icecat Live product data, as this is the most common application of our Live interface. If you plan to integrate Icecat Live, we advise you first to integrate free Open Icecat Live and evaluate it for your purposes. And then, plan the next step by upgrading your interface to Full Icecat.

Please, note that Open Icecat Live requires a free subscription. Therefore, first register (free) if you don’t have an account yet to receive an Icecat username and access to the Icecat Control Panel.

Other Integration Methods

If you want to integrate product data without frames, conforming to your CSS, then use this Icecat Live manual. Live (JS) is the modern variant of the good-old URL integration method.

If you want to download data to your own cloud environment and have full control over the data, then make use of the XML, JSON, or CSV download methods. Further, check out the Add-On page for popular platforms already integrating Icecat data. Are you interested in adding product reviews? Then check out our reviews manual. Brand owners that look into pushing data into Icecat, please, look into our Push-API or for manual data-entry Icecat’s Free Vendor Central.

What is Icecat Live?

What is Icecat Live? Icecat Live is basically a JavaScript (JS) service, providing real-time inserts of product data in client websites. Icecat Live both enables the seamless insert of a full product data sheet, and the seamless insert of individual content assets, without the need to use frames or iframes like in the Icecat URL service. The Live version is the easy integration where -in the case of Full Icecat- all authorization and security is handled at the Icecat server side.

The supported content assets are:

  • Product Identifiers
  • Product Title
  • Category
  • Marketing Text
  • Specs incl. explanatory texts
  • Images
  • Reasons To Buy (Feature logos and/or feature texts)
  • Videos (links to third-party resources are not displayed)
  • Leaflets & Manuals (PDF)
  • 3D Tours/360o objects
  • Expert Reviews

The JavaScript (JS) calls makes it very easy for channel partners to embed product information into their websites with just a few lines of code in an HTML template or app. Both a complete data sheet and individual objects can be called. In this manual, we included the calls for the most popular individual objects.

Please, note that some Open Icecat brands like Philips, make certain rich media assets (e.g., video) only available for their Authorized Resellers. Please, contact us in case you see on the icecat website more assets than that you can access through Icecat Live.

Choosing the right Icecat license: Start with free Open Icecat

Open Icecat is a worldwide unique, open catalog, with product data sheets in cooperation with major global brands and channel partners. The Open Icecat data-sheets are fully approved by the sponsoring manufacturers and are distributed for free to channel partners to reduce their content costs and improve the shopping experience. Open Icecat contains the product specifications and additional information in one single standardized format, which facilitates easy categorizing, filtering, searching, and comparison of products.

In return, we require the Users of free Open Icecat to inform their business partners (distributors, manufacturers, retailers) via a newsletter and/or on the website that they are using Open Icecat, and that they require their partners to join as well so that all product content will become available through the free, open catalog. The more brands join, the better and more complete Open Icecat will become.

TIP: Choose Open Icecat if you are new to Icecat or Icecat Live.

If you want to decide to use Icecat, it may be important first to analyze the coverage of your portfolio or the portfolio of your supplier. You can always ask us to provide you with an overview of the current coverage of (stock) portfolio of your suppliers (f.e., distributors) at any given moment. We strive to cover at least 90% of the stock portfolio (stock > 1) of mainstream distributors and work together with partners to daily monitor this coverage. Read more about Why Upgrade to Full Icecat.

If you want to analyze coverage yourself, you need to register and upload your catalog to Icecat via the Icecat Control Panel. In the match analysis, you get the match percentages for Full Icecat and Open Icecat, and you can get a list of the unrecognized products. An advantage is that you can also, optionally, display your offers on the Icecat price comparison sites.

TIP: if you upload your price feed, Icecat will automatically provide you with your private Icecat index if you want to use the Data interfaces of Icecat. For more information, see also the Icecat Subscription Plans. If you want to upgrade to Full Icecat Live, you can contact us via the contact form or the Icecat Control Panel.

Access to Icecat

To obtain access to Open Icecat, you will need Icecat login credentials. If you don’t have these yet, please, register online for free to Open Icecat.

TIP: for many mainstream solutions standard interfaces are available, including Magento, Prestashop, osCommerce (and siblings) and Batavi.

Embedding Icecat Live JS into your website

Below you may find the data flow diagram of Icecat Live JS integration:

schema 1

Icecat Live JS API

Icecat Live refers to a program code written in JavaScript (JS) that is embedded in a web page and executed by the browser of your site visitor when a page is downloaded by the respective visitor, or in response to an event triggered by you as a Partner.

JS allows creating a bridge between a webshop and the Icecat catalog, which makes it possible to incorporate product information (descriptions, leaflets, multimedia objects) into merchant webshops. Moreover, Icecat Live uses Document Object Model (DOM), which allows updating content dynamically.

TIP: to see Icecat Live in action, JavaScript should be enabled in your browser.

Open Icecat Live integration

On every product page of an Open Icecat brand, a demo can be found of an Icecat Live integration. Go for example to the HP Spectre Pro x360 product page, and click in the “Embed the product data-sheet in your content” section on the link “Icecat LIVE: JS for HP V1B02EA”. A new page will then open that demonstrates the use of Icecat Live JS.

As a demo, we also made a very simple integration example of an Icecat Live data sheet on a blog page, using an Icecat demo account and test account on It also gives an HTML code example of a very simple webpage with the Icecat Live JS code embedded:

<script src=""></script>
<div id="IcecatLive">
<script type="text/javascript">
setTimeout(function(){IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'openIcecat-live','Brand':'HP','ProductCode':'F0Y97EA'},'en');}, 200);

TIP:  ‘openIcecat-live’ is just the name of a demo account, that will give a “demo” message as well in the header. Use your own free Icecat user account, and this demo message will disappear.

Follow these three simples steps to integrate Open Icecat Live on your website:

1) To embed the Icecat Live library into an HTML page:

<script type="text/javascript"

NOTE: it's not necessary to put the any part of the script in the <head> part of the HTML as was done in the example above.

2) To insert into an HTML page a specific DOM element by a unique Id:

<div id="IcecatLive"></div>

3) To make the Live Icecat library call with your personal parameters:

<script type="text/javascript">
IcecatLive.getDatasheet('#IcecatLive', {
'UserName': 'userShopName',
'GTIN': '1234567891234',
'Brand': 'abcdefg',
'ProductCode': '123abcdefg',
}, 'en');
}, 200);

There are three ways to access a data-sheet: by ‘Brand’+’ProductCode’, by ‘GTIN‘ or by ‘IcecatProductId’.

a. Do a call by Brand + Manufacturer Product Code combination. We will try to recognize the product even for a known variation of Manufacturer Product Code.


IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'demoshop',
'Brand':'Philips','ProductCode':'123456789'},'en', 200);

b. Do a call by GTIN code (EAN or UPC or JAN)

IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'demoshop',‘GTIN’:'8478097595798729'},'en', 200);

Description of the parameters:

UserNameIcecat User Name
BrandThe brand name of the product
ProductCodeThe brand’s product code or manufacturer part number, uniquely identifying the product in combination with the brand name. Also called manufacturer part code.
GTINThe GTIN: EAN (European Article Number ), UPC (Universal Product Code) or JAN (Japan Article Number)
IcecatProductIdIcecat’s Internal numerical product identifier. Only to be used by advanced users that (already) make use of the Icecat index files.
‘en’An example (en=English – GB) of the two or five-character code used by Icecat to identify the locale. There are more than 40 languages or locales available in Icecat. See here the complete language/locale code table of Icecat.
200An example (200s) of a time-out setting in seconds

LIVE API multilingual calls

The Icecat Live API supports multilingual calls to retrieve digital assets related to multiple locales.

In case a user wants to retrieve a specific container or the whole Icecat Live block for a product in one preferred language, but it’s not available, a user can apply a backup language. To implement this logic a user just needs to pass the list of language codes as an array. For example, [‘en’, ‘fr’] where UK English (en) is the preferred language and France French (fr) is the backup language. In this case, fr content will be retrieved if the en content is not available.

It is possible to add up to 5 languages to the array. Please, find more info and an example script in this article.

Look & Feel customization

Open Icecat Live is responsive by design and adapts to your own CSS. If more customization is needed, you can customize our JS to your own needs. To perform customization, you need to store icecatlive.js locally on your server, edit it to your own needs and switch to your customized library in your HTML code.

Please, note that Icecat does not support client customized JS libraries. If you use these, arrange support yourself.

Call Individual Objects: Video, 3D and Reasons-To-Buy

In case that you don’t want to insert the complete data-sheet (IcecatLive.getDatasheet), but only a specific object, we have created separate calls for inserting a Video, a 3D tour or Reasons To Buy.

NOTE: these are the most common requests for individual objects. Contact us for information about other calls for individual objects or CSS customization.

The syntax is as follows:

  1. IcecatLive.getVideos (outputSelector, resource_id, lang)
  2. IcecatLive.get3DTours (outputSelector, resource_id, lang)
  3. IcecatLive.getRTB (outputSelector, resource_id, lang)

getVideosget3DTours, and getRTB are separate calls of video, 3D tours (360o views), and Reasons To Buy respectively. The parameters which you have to pass to these methods are completely the same as with the already discussed getDatasheet call. outputSelector is a container where you want to place Icecat Live’s content; resource_id is a query parameter and lang is the preferred language (or locale) for the page.

Examples of a call for the video(s) object.

With Brand + Part Code (see also a test on a blog):

 IcecatLive.getVideos("#videosContainer", {
 'UserName': 'openicecat-live',
 }, 'en');


 IcecatLive.getVideos("#videosContainer", {
 'UserName': 'openicecat-live',
 'GTIN': '8712581669904',
 }, 'en');

Example of a call for a 3D tour object (syntax variants are the same as for getVideos):

 IcecatLive.get3DTours("#toursContainer", {
 'UserName': 'openicecat-live',
 'GTIN': '8712581669904',
 }, 'en');

Example of a call for an RTB object (syntax variants are the same as for getVideos):

 IcecatLive.getRTB("#RTBContainer", {
 'UserName': 'openicecat-live',
 'GTIN': '8712581669904',
 }, 'en');

The parameters are equal to the ones for getting a complete data sheet.

Integrating videos via Play Button

Icecat Live allows users to integrate videos into their product pages by creating a custom video play button that opens videos in a modal window. More information and examples of implementation can be found in this article.

Further Questions or Remarks?

Please, contact us in case of questions or comments via your Icecat account manager or via the website  

  • commented on December 21, 2016 by Sergio cañadas


    I’m Sergio Cañadas, my username in Icecat is ******.

    We are trying use open icecat live:

    Our setting in prestashop code is:

    IcecatLive.getDatasheet(‘#IcecatLive’, {
    ‘shopname’: ‘******’,
    ‘ean_upc’: {$product->ean13},
    }, ‘es’);
    }, 200);

    It worked first time, but after response is:
    Display 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 implementation

    An example url result is:******&lang=es&content=&ean_upc=5711045764349&type=html&version=

    Could you help us?


    • commented on January 10, 2017 by Vazha Abramishvili

      Dear Sergio

      You are trying do get product information that belong to Full Icecat catalogue. For that you need Full Icecat subscription. My colleague Deisy Vanegas will contact you to discuss the further steps.

      Kind regards

      Vazha Abramishvili

  • commented on May 12, 2017 by Zaman Ali

    hi dear service i want to order one LCD screen for my tv because it has gone break so i wish that you can help your customer thanks here is my number and you can also contact me.

  • commented on September 19, 2018 by pedro cordova

    Hi, i only need to show the specs of the product i mean the div “icecatLiveFeatureGroups”, how can i made the script to made that?

    example of the script that i use

    IcecatLive.getDatasheet(‘#IcecatLive’, {
    ‘UserName’: ‘*****’,
    ‘Brand’: ‘***’,
    ‘ProductCode’: ‘*****’,
    }, ‘es’);
    }, 200);

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

      Hi Pedro,

      Thanks for your interest in our service. We will contact you via email soon regarding this question.

      • commented on November 30, 2018 by Daniel

        Hi! I’m also interested in showing only the specs. Could you please inform me too. Thanks!

        • commented on December 5, 2018 by Laura van der Blom

          Hi Daniel, my colleague will contact you shortly :)

  • commented on January 25, 2019 by James A Wagner

    Hi We have a copy of icecast which was on our streaming computer for our radio station 4DDD Dalby QLD Australia we lost all data on our system and have replaced with a new set up which intern our technition no longer is with us and no one here knows how to set icecast up to stream could someone please advise on how to do

    James A Wagner

    4ddd Western Downs Radio

    • commented on January 28, 2019 by Laura van der Blom

      Dear James,

      I think you are confusing companies, we are Icecat not Icecast and we don’t have this application you are asking about, so unfortunately we cannot help you.

      Kind Regards,

  • commented on April 16, 2019 by Sergio

    I have a full Icecat subscription.
    Where can I find the full documentation of icecat live?

    In the documentation page you mention 4 functions, just for explanation purposes:


    Where can I see the full list of functions available? Which one should I use if I only need to get the images, or the specs, or the marketing text?

    thanks in advance

  • commented on September 14, 2020 by Sophie

    Hi We want to integrate your platform to our shopify site for us to be able to integrate images and contents in buik.

    Can you give us instruction on how to do it pls?

    • Our Iceshop colleagues will come back to you as you can sign up for the Shopify integration pilot. Further, you could contact Shopify as well.

  • commented on January 9, 2021 by Morten Jørgensen

    {IcecatLive.getDatasheet(‘#IcecatLive’,{‘UserName’: ‘openIcecat-live’,’Brand’:’HP’,’ProductCode’:’204N9EA#ABF’},’fr’);}

    If 204N9EA#ABF is a French product and I need lang=fr to get data.
    But how do I define “en” as language to get content in english?

    • Dear Morten, just replace lang=fr by lang=en. Even if it’s a French product version, we still have language version automatically for each product data-sheet. Note: most if not all localization codes like #ABF are mapped away to a mother data-sheet as the key specs are the same.

  • commented on March 21, 2021 by Béla

    I also want to display products specs
    How ?

  • commented on March 22, 2021 by antonio

    stiamo facendo qualche prova per vedere come si presentano le descrizioni all’interno del nostro prestashop:
    abbiamo provato con questo :

    setTimeout (function () {IcecatLive.getDatasheet (‘# IcecatLive’, {‘UserName’: ‘*******’, ‘Brand’: ‘HP’, ‘ProductCode’: ‘F0Y97EA’}, ‘it’);}, 200);

    inserito nel codice sorgente della scheda dettagli prodotto ma al salvataggio ci da questo errore
    “Il campo description (Italiano (Italian)) non è valido.”

    Potete darci qualche dritta ?

  • commented on March 22, 2021 by antonio

    stesso errore

    sempre “Il campo description (Italiano (Italian)) non è valido”

    questo è quello che stiamo usando



    stiamo facendo qualche prova per vedere come si presentano le descrizioni all’interno del nostro prestashop:
    abbiamo provato con questo:

    setTimeout (function () {IcecatLive.getDatasheet (‘# IcecatLive’, {‘UserName’: ‘*******’, ‘Brand’: ‘HP’, ‘ProductCode’: ‘F0Y97EA’}, ‘it’ );}, 200);

    inserito nel codice sorgente della scheda dettagli prodotto ma al salvataggio ci da questo errore
    “Il campo description (English (Italian)) non è valido.”

    Potete darci qualche dritta?

    ha commentato il 22 marzo 2021 da Martijn Hoogeveen
    Non hai uno spazio tra # e IcecatLive? Dovrebbe essere: “#IcecatLive”


  • commented on March 23, 2021 by antonio

    stesso errore

  • commented on March 25, 2021 by Micha

    Really a good tool!
    Just tested and it works very well. I would use it if the were no information about guarantee in the descriptions (‘Marketing Text’). Guarantee information are subject to statutory provisions… that makes it difficult to use without further, excplicit information for the costumers in a webshop, at least in Germany…

    Otherwise it would be cool, if there were a parameter to use only the specs, without the Marketing Text. So I could use it legally secure.

    Best, Micha

    • Yes, there is. It’s called “Granular Calls”. You can select the containers that you need. Further, you can add to your website any general disclaimers that you need.

  • commented on March 25, 2021 by Micha

    Thanks a lot Martijn, just integrated… that works for me!

  • commented on April 13, 2021 by Marko Catela

    Hello, what can I do if I don’t want to hardcode the value of for let’s say EAN (GTIN) in the function? For example instead of:

    window.addEventListener(‘liveload’, function() {
    IcecatLive.getDatasheet(‘#IcecatLive’, {
    UserName: ‘******’,
    GTIN: ‘123456789’
    }, ‘de’, 200)

    I would like to get something like this to be pulled from the portal:

    window.addEventListener(‘liveload’, function() {
    IcecatLive.getDatasheet(‘#IcecatLive’, {
    UserName: ‘icecat_hartlauer’,
    GTIN: {{inriver:fields.itemEAN.value}}
    }, ‘de’, 200)

    And does it work with any type of field, CVL and regulat strings?

    Kind regards,

    • Yes, the functions are intended to be softcoded. Take care of declaring your variables in the JS code so that they are recognized. And, as long as in your web-app the CVL (InRiver) variable is known, it should be possible to use these or other variables of course.

  • commented on June 22, 2021 by Ricardo Castro

    It’s a interesting tool, but I’m concerned about the username, because the browser can display it from the Inspect Element.

    Is there something to hide the username?

    Thanks in advance.

    • Thx Ricardo. If you want to avoid displaying your user name, then use the data interfaces (XML, JSON). The same data is available and you can seamlessly display it from your own server. The tech team promised to rethink options for hiding user name as an option in the LIVE version.

  • commented on July 7, 2021 by Ricardo Castro

    Ok, thanks Martijn.
    I have another question, Is there a way to display the text from tooltip in the language defined previously? in my case a have ES_MX and it works, but the titles in the specs have a tooltip and some of them show English text.

  • commented on October 7, 2021 by Ahmed Samir

    Below is the contents of my

    setTimeout(function(){IcecatLive.getDatasheet(‘#IcecatLive’,{‘UserName’: ‘openIcecat-live’,’Brand’:’HP’,’ProductCode’:’F0Y97EA’},’en’);}, 200);

    But I’m getting nothing, just a blank page.

    • Dear Ahmed

      The product you are referring to is not published for EN localization by HP (manufacturer). That is the reason it is not available for that localization.

  • commented on February 18, 2022 by Luigi L.

    Salve a tutti,
    stiamo facendo delle prove per vedere come si presentano le schede prodotti, ma utilizzando il codice degli esempi si fa come risultato una pagina completamente bianca. Dopo posso trovare qualche altro esempio? il ns sito sito è in asp.

    • commented on February 18, 2022 by Wouter Maatman

      Hi Luigi,
      Someone from the Italian team will contact you.

  • commented on March 24, 2022 by Ian L

    I’m trying to use the Video display function, but I do not know the UPC code for my product.

    Is it possible in future to add capability to use ICECAT CAT ID instead?
    Or is there another workaround?

    For this product I wanted the main product page for it has no UPC code listed, I was able to make the product and specs display using the the ICECAT number but this doesn’t seem to work in the Video or 3DTour or RTB calls.

    Here is the product call I used to get the product sheet:

    IcecatLive.getDatasheet(‘#IcecatLive’, {
    ‘UserName’: ‘digiguy’,
    ‘GTIN’: ”,
    ‘Brand’: ‘Xerox’,
    ‘ProductCode’: ”,
    }, ‘en’);
    }, 200);


    • commented on March 28, 2022 by Wouter Maatman

      Hi Ian,
      Thanks for your comment. A country manager will contact you asap.

  • commented on March 30, 2022 by Nitin

    Hi There,

    I am checking out an example product with ID ‘icecat_id’: ‘3553337’ to integrate it to mobile apps for ICECAT content syndication. It is appearing fine with the scripts you guys shared but the problem is the content is not responsive for now. So, i was curios that is ICECAT support responsive content or not ?

    following the scripts

    ‘shopname’: ‘myUserName’,
    ‘icecat_id’: ‘3553337’
    },’en’);}, 200);

    • commented on March 30, 2022 by Wouter Maatman

      Hi Nitin,
      Thanks for your response. A country manager will contact you asap.

  • commented on June 22, 2022 by Tony

    Hi there,
    was wondering if there is a way to recieve the datasheet as pdf? Or to directly send it to local printer via javascrtipt?


    • commented on June 23, 2022 by Wouter Maatman

      Hi Tony, a responsible country manager will contact you soon. Regards, Wouter

  • commented on December 9, 2022 by Lorenzo Bricchi

    I call Icecat with javascript like this:

    IcecatLive.getDatasheet(‘#Container’, {
    GTIN: EAN,
    UserName: ‘dmlspa’
    }, ‘it’);

    and I received this error

    Access to XMLHttpRequest at ‘’ from origin has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

    • commented on December 9, 2022 by Wouter Maatman

      Hi Lorenzo, a country manager will reach out to you asap. Regards, Wouter

  • commented on February 27, 2023 by Daniel

    Can you hekp me with the right part of the code to load only the images? I tried this but it doesnt work. I think getGallery is wrong? Is there a list of all get-commands?




  • commented on February 27, 2023 by Daniel

    Hi, we get the same error (for images i think, datasheet is working). Any help would be really appreciated. Thanks

  • commented on May 31, 2024 by Massimo

    Anyone has developed the script to integrate in Prestashop?

    My goal is to obtain something like that.


Leave a Reply

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

Icecat xml

Open Catalog Interface (OCI): Manual for Open Icecat XML and Full Icecat XML

This document describes the Icecat XML method of Icecat's Open Catalog Inte...
 November 3, 2019
manual thumbnail3

Manual for Icecat Live: Real-Time Product Data in Your App

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

Manual for Icecat CSV Interface

This document describes the manual for Icecat CSV interface (Comma-Separate...
 September 28, 2016
 October 4, 2018

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
Addons plugins

Icecat Add-Ons Overview. NEW: Red Technology

Icecat has a huge list of integration partners, making it easy for clients ...
 October 27, 2023
manual thumbnail

Manual for Open Icecat JSON Product Requests

JSON (JavaScript Object Notation) is an increasingly popular means of trans...
 September 17, 2018
 January 20, 2020
New Standard video thumbnail

Autheos video acquisition completed

July 21, Icecat and Autheos jointly a...
 September 7, 2021
Personalized Interface File and Catalog from Icecat

Manual Personalized Interface File and Catalog from Icecat

With Icecat, you can generate personalized or customized CSV or Excel files...
 May 3, 2022