Version 2.01 (Updated on March 3rd, 2025)
In this manual, we provide a guide on how to push product information into the Icecat PIM or Brand Cloud via Icecat’s JSON API-IN or Push-API.
This Push-API is primarily intended for the automated ingestion of a brand owner’s product information, which is subsequently syndicated to a brand owner’s channel partners. The idea of the Push-API is to make it easy to push product content to our PIM system and integrate it’s multilingual and global content publication functionalities within a brand owner’s workflows and master data management processes.
Further, the Push-API is extensively used within Icecat’s ecosystem between editor, ETL and other applications and Icecat’s multimedia PIM environment. The Push-API is stress-tested, but of course still gradually evolving.
Icecat – is a unique open and multi-lingual catalog and PIM with millions of multilingual product data-sheets. Icecat product data can be integrated within online shops, ERPs, purchase systems, comparison sites, blogs and other apps. The Icecat product data is fully standardized and allows categorization, filtering, search and product comparisons. Moreover, Icecat provides content optimization, increases shop conversion and makes online shopping easier and more fun, especially when including multimedia content.
Our Global Mission: Product Content that Helps Buyers Decide, in any language, in any country, on any media.
The Icecat Push-API is supporting a full list of content elements or digital asset types as maintained by Icecat. E.g.,
Basically, any data or digital asset that is needed to understand or process a brand’s product.
Please note that in Push-API calls, you may need to refer to some output from previous API calls. Take care of properly processing and storing the output.
Before pushing the content to the Icecat API, you need to map your content to the Icecat API calls. The content on our side are distinguished by key factors:
Pushing your category specific data to Icecat may require adaptation of our taxonomy and introduction of new entries to existing list-of-values (LOVs).
There are certain dependencies in the calls which determine the order of the content push through Icecat API, that is also visualized on the schema above.
In a nutshell, the process can be split into 3 major steps
1. Create the basic product record
Product identification (Brand + Brand Product Code), categorization and attribution to Families and series is done here. Providing categorization will enable one to add category-specific content (product specs).
When a product record is created, the Icecat internal product ID is created to uniquely identify the product record in Icecat’s PIM. You will need to refer to it from here on, so it’s important to store it. Alternatively, you can also look it up by using the product search API.
In all further calls, you will need to refer to the created Icecat product ID.
2. Push international / language-independent content
In this step, you define the DRM (digital rights management) settings, additional product identifiers (GTINs), the product life cycle, and product cross-sell relations (the related products should be already present in Icecat).
In this step, you may push language-independent product images and product specs.
3. Language-dependent content
The last step is to add your marketing messaging data: model descriptions, product descriptions, reasons-to-buy, bullet points, etc.
Please, always remember that what you’re pushing in Icecat is becoming accessible to connected and authorized retailers. That means that pushing incorrect data or incomplete product content for live products may impact their businesses in a negative way, while doing the data pushes accurately and complete will help them to have better performance and more deals.
Publication restrictions for not yet released products is a good idea to prevent dissemination of incorrect or incomplete data.
During the process of content integration, you may need assistance or cooperation with the Icecat team.
It’s important to understand with whom you might need to interact when.
Below, a quick overview of the workflow related to using the Push-API and functionalities supported for the product data flow, which will be further described in following sections:
Before you can start pushing the data you first have to authenticate yourself to the API by getting the session key. This session key you will need to use in further requests so API can authenticate you.
Your account may have two-factor authorization (2FA) configured for a better security. For the protection of your account we recommended to protect your account by activating 2FA. See also Google authenticator: https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai
To register a new user account with a brand role please, first register here if you don’t have an Icecat account yet and in all cases contact your Icecat account manager as your account needs to be authorized for pushing a brand’s product data to Icecat.
Swagger schema – https://api.icecat.biz (LoginInfo)Request:
Success response:
Request:
Error responses:
Before pushing a product content to Icecat you need to verify if such product record already exists at Icecat.
Checking if a product exists in the products index is done through the Product Search API. The lookup is done by the identifiers:
No mappings are applied to the input parameters during the search.
If you can’t find the product, you can create it, and otherwise you have to update the record that is already existing. Please, note that updating someone else’s product may require additional permissions.Swagger schema – https://api.icecat.biz (Product search)In our practice we are using the following terminology:
User accounts with the role “brand” can view, create or update products only for the Brands they are assigned to. For assigning your user account to the respective Brand, please contact your Icecat account manager.
In case that you are creating a new product please see 2.2. If you’re updating an existing product please read 2.3. for updating the “General” product record.
Accounts with user role “brand” can’t delete products from the Icecat database.
Note. accounts with as user role “brand” can create a product only for the Brands they are assigned to.
Error response:
Note. The accounts with the user role “brand” can create a product only for Brands they are authorized to.
Note: accounts with user role “brand” should create products only with product “Owner” equal to its own UserId.
Note: for creating a product one can only add Virtual categories which refer to the selected product Category.
Note: for some SupplierID the FamilyId could be a mandatory parameter for creating a product, please see 2.2.4.*Request:
Note. A “mandatory” FamilyID parameter is recommended and not strictly mandatory. Nevertheless, we strongly recommend that we add FamilyIDs that are identified as mandatory.Request:
Note: accounts with user role “brand” can view products only for the Brands they are assigned to.
Note: accounts with the user role “brand” can update “General” product content only for assigned Brands. Changing a product “PartCode” is not possible – if you need to change “PartCode” for a product , please contact the editor team.
A product name is essential for a product. You normally see it in almost any product presentation. We are using this property to automatically generate product titles and short/long summary descriptions.
Note: accounts with the user role “brand” cannot update or delete International (langId=0) product model descriptions.
Note: accounts with user role “brand” can get the full list of languages (use query parameter “type”=”all”), but any request with disallowed languages is not allowed and will return a 403 response.
You can add the Release Date of a product – the date when this product is expected to be released to the market. That can be a global or country-specific (a release date per country). Shops which are not authorized by a brand can only access product data after the release date is passed. Shops authorized by the brand can access product data prior to Release date..
End of life date – the date when this product is End of Life.
Swagger schema – https://api.icecat.biz (ProductLifeCicle)
Accounts with user role “brand” can work only with an allowed Country (the allowed country as displayed in your user profile). See 4.2.1.
If you want work with the full list of countries, you should change your country to “International” on your user profile page.
Note: accounts with user role “brand” can read, create, update or delete “Release and End of life date” only for allowed countries.
As a brand user, you can allow product access to all shops (resellers) or only to a special group of users. These are called assigned to (authorized by) the brand. At a product level access settings, have several options:
Note. Be careful, if you set the property {“AccessibleBy”:”SelectedResellers”} for a product and do not authorize any user it will be fully restricted for all users as if you have set Publish=No.
Note. If the necessary “shop” user is absent from the list of the authorized resellers for the current Brand, please contact your Icecat account manager to add the respective user to the list of authorized resellers.
One of the main identifiers for a product is the GTIN. It is supported by Icecat, so you can manipulate product GTINs through this Push-API. Each product can have multiple GTINs.
Icecat supports GTIN 8-12-13-14 lengths.
All GTIN types are are automatically converted to EAN-13, and an EAN-14 with a leading “0” automatically will be converted to EAN-13 by removing the leading 0.
A GTIN is a unique value across all products in the database.
Note. If your GTIN belongs to another product which is restricted for your user account, please contact the Editor team for resolving this GTIN conflict.
One of the main content elements in every product is specifications. You can add all necessary specifications to every product. In our system we have more than 27K different specs defined. Every category has a special set attached to it, which we call a product taxonomy. We are sure that you can find in the list all necessary specs to describe your product. If you miss spec definitions, please contact the taxonomy team.
All product specifications are divided in two levels: “black” and “gray”. The “black” specifications are checked and approved by the taxonomy team. The “gray” specifications are deprecated or not approved for adding. Therefore, we do not recommend filling “gray” specs in your product.
The product specifications are divided over 14 input types:
The product specifications can accept localized values: “Text area” and “Text line” with “measure_id”=29 can accept localized values. All other features accept only values for the “International” (standardized) locale (lang_id=0).
The accounts with user role “brand” can work only with allowed Languages and “International” (lang_id=0) (allowed languages depends on the country setting in the user profile). For getting multiple allowed languages see 4.2.1.
If you want to work with the full list of languages, you should change your country to “International” on your user profile page.
The allowed specs for a product depend on the product’s category. If your product feature is absent from your selected category, please contact the taxonomy team for adding a spec to a category
The accounts with user role “brand” can add new values to the restricted values list for features with input types “Dropdown” and “Multi features”. Please, use this method only for adding values for input types “Dropdown” and “Multi feature”.
Note. a new value will not be added immediately. Please, contact the taxonomy team for adding your value.
For a better understanding of a product rich media can be added to product data-sheets: videos, 360 views, different PDFs – manuals, leaflets, energy labels, a Product Story etc. In our system all this information can be viewed, added or updated via one multimedia API.
Swagger schema – https://api.icecat.biz (Multimedia)
The accounts with user role “brand” can not delete multimedia objects. Use {{Visible}}: false parameter to deactivate it instead. See 9.3.
Each type of multimedia object can accept only certain content types:
Note. It is not recommended to send pdf objects larger than 50MB and video objects larger than 350MB.
You can add a description to a product or get information about which descriptions we have. The description block contains: marketing text, the official url of the brand, disclaimers, warranty info, full product name, short marketing text, SEO title, SEO description, and SEO keywords. This content is language dependent and per language, we can have only one description block.
Swagger schema – https://api.icecat.biz (ProductDescriptions)
The accounts with user role “brand” can interact only with descriptions in allowed languages. For getting allowed languages see 3.2.1.
{{Disclaimer}} is mandatory if product has property {{isDangerous}}: true. See p.2.2.
{{Disclaimer}} property can’t contains such values as: CE-certification, CE certification, certification CE, certification-CE, CE-gepruft, gepruft CE.
Note. “Bullet points” is a part of product description block. However, it has its own rest. See p.11.
We have a separate API for bullet points in the description block. It is language dependent contend as any description mentioned before.
Swagger schema – https://api.icecat.biz (Bullet Points)
In the product, you can add more information about why a client should buy this product. The asset “Reasons to buy” is language dependent content, and can contain multiple “Reasons to buy” per language. In this asset, you need to add images, descriptions and titles.
Swagger schema – https://api.icecat.biz (Product Bullet)
You can add images to the product. This asset can be language dependent or you can choose International if this image will be for all languages. We have several special parameters in the image like: – is private: it means that this image will be seen only by authorized shops (resellers)
– expiration date: this image will stop to be seen per this date
Swagger schema – https://api.icecat.biz (Gallery)
The accounts with user role “brand” can not delete product images. Use the {{Visible}}: false parameter to deactivate it instead. See 13.3.
Note. The accounts with user role “brand” can view or interact only with international images and images for allowed languages. For getting allowed languages see p.3.2.1.
The same image can have multiples entries in the {{Locales}} section with different {{GalleryId}} and {{lang_id}}.
A user can add new images to the product gallery or copy existing images to another locale. See below. The width and height of an image must be not less than 200 px.
Allowed image formats are: image/jpeg, image/png, image/tiff, image/bmp, image/x-windows-bmp, image/x-ms-bmp, image/webp.
{{OrderNumber}} is an optional parameter and has the following behavior:
– User sends {{OrderNumber}} that already exists then the {{OrderNumber}} is set, and all other subsequent numbers will be moved +1.
– User sends an image that already exists for another locale then both images will get a new {{OrderNumber}}.
– User does not send {{OrderNumber}}: then it will be appended to the end of the gallery list.
Note. The user must send {{Metadata}} in JSON format as form-data. Request:
You can add a relation between your product and another. This relation is language dependent. You can add a date when this relation starts and finishes.
Swagger schema – https://api.icecat.biz (ProductStaticRelations)
Static relations – these are product to product relations. All static relations are bidirectional.
Some relations have a preferred status – it means that these relations are “recommended” by the respective brand.
A product can’t be related to itself.
To add new language to existing relation see 14.3.
To modify parameters for an existing language in an existing relation see 14.4.
Users with role “brand” can delete the whole relation only if the relation includes only locales for which the brand user is authorized – see 14.5. (Note. A brand user that has set “International” as its language has access to all locales. In all other cases, a user can delete only the allowed locale from a product relation. See 14.6.)
Read further: Manuals, Brand Cloud, JSON, PIM, Push-API
Hi,
I want to integrate Icecat into my platform, but my login is receiving a 403 Forbidden error message “Access is not allowed for your user group”
Can you please help me?
Thanks.
Hi Prakash, A responsible country manager will contact you asap. Regards, Wouter
Why my login is receiving a 403 Forbidden error message “Access is not allowed for your user group”
Dear Fabio
In case you want to push data to Icecat, you need to have brand type account. You can have brand type account at Icecat only if you work for the brand. you can see the registration page here: https://bo.icecat.biz/home/registration
I need help! { “Code”: 403, “Error”: “Forbidden”, “Message”: “Access for your user group is not allowed. If you work for a manufacturer (brand) please register below” }
My colleague will contact you
Kind regards
Vazha Abramishvili
Your email address will not be published. Required fields are marked *
Comment *
Name *
Email *
Website
Δ