Owner: CTO / TechOps Officer
Last update: 04-06-2026
Scope: A clear, end‑to‑end explanation of how Icecat pushes data into a client’s Akeneo PIM, from scoping to production, with a detailed workflow, API examples, and a diagram.
The Icecat Connector is a product data delivery solution that automatically enriches your catalog with accurate content for 27 million products in 60+ languages. Made by the Icecat technical team.
The Connector updates your catalog with Icecat content as soon as product identifiers are added to Akeneo. This automated system keeps your product data current without requiring manual intervention or additional tools.
The Connector operates independently, monitoring the Akeneo instance for activity and detecting changes that require product updates. If the requested product data is not immediately available, the system starts data creation tasks and delivers the content as soon as it is obtained from official manufacturer feeds.
This self-contained service simplifies managing product data synchronization, ensuring your catalog remains up to date and accurate.
The connector supports retrieving Icecat assets such as product images, PDF documents (manuals, datasheets, certificates, energy labels, etc.), product descriptions, videos, technical specifications/attributes, product titles, and feature bullets/selling points, subject to the customer’s mapping configuration.
The Icecat Connector is a product‑content enrichment service that feeds Akeneo with Icecat data. There are three mapping options:
The project is split into two phases:
– Pre‑production (mandatory if mapping is done on the Icecat side): taxonomy collection, filter definitions, mapping rules/completeness, and API technical tests.
– Production: daily refresh of the list of products to push, then incremental (partial) PATCH to Akeneo.
/api/rest/v1/attributes/
/api/rest/v1/products/
Define GET filters to list products to enrich (e.g., data_owner = “icecat”, by family, channels, locales, status).
They drive which products are pushed and when runs are executed.
Validate OAuth2 auth, quotas, PATCH formats, locales/scopes, batch sizes, media handling, encodings (UTF‑8).
Set retry thresholds, back‑off, logging strategy, and the reporting model.
Note: Examples illustrate common patterns (Akeneo 5/6/7). Adapt to your exact instance.
Endpoint: POST /api/oauth/v1/token
Option A – Password grant (for POCs / secured envs)
curl -X POST \
-u “<clientId>:<clientSecret>” \
-H ‘Content-Type: application/json’ \
-d ‘{
“grant_type”: “password”,
“username”: “<api_username>”,
“password”: “<api_password>”
}’ \
https://<tenant>.akeneo.com/api/oauth/v1/token
Response (excerpt)
{
“access_token”: “eyJ…”,
“expires_in”: 3600,
“token_type”: “bearer”,
“scope”: null,
“refresh_token”: “def…”
}
Option B – Refresh token
curl -X POST \
-u “<clientId>:<clientSecret>” \
-H ‘Content-Type: application/json’ \
-d ‘{
“grant_type”: “refresh_token”,
“refresh_token”: “<refresh_token>”
}’ \
https://<tenant>.akeneo.com/api/oauth/v1/token
Endpoint: GET /api/rest/v1/products
Example filter: data_owner IN [“icecat”]
curl -G \
-H ‘Authorization: Bearer <access_token>’ \
-H ‘Content-Type: application/json’ \
–data-urlencode ‘search={“data_owner”:[{“operator”:”IN”,”value”:[“icecat”]}]}’ \
–data-urlencode ‘limit=100’ \
https://<tenant>.akeneo.com/api/rest/v1/products
Considerations: – Use pagination (page/limit or search_after depending on version).
– Add criteria as needed: family, enabled, updated >[date], locales, completeness.
Endpoint: PATCH /api/rest/v1/products
Header: Content-Type: application/vnd.akeneo.collection+json
Payload: NDJSON (1 JSON row per product)
PATCH /api/rest/v1/products HTTP/1.1
Authorization: Bearer <access_token>
Content-Type: application/vnd.akeneo.collection+json
{“identifier”:”5702017566733″,”values”:{“name”:[{“locale”:”en_US”,”scope”:null,”data”:”LEGO Starfighter”}],”description”:[{“locale”:”en_US”,”scope”:”ecommerce”,”data”:”…”}]}}
{“identifier”:”5702017584195″,”values”:{“brand”:[{“locale”:null,”scope”:null,”data”:”LEGO”}]}}
{“identifier”:”5702017588025″,”values”:{“image”:[{“locale”:null,”scope”:”ecommerce”,”data”:{“_link”:”https://cdn.icecat.biz/img/xyz.jpg”}}]}}
Line responses:
{“line”:1,”identifier”:”5702017566733″,”status_code”:204}
{“line”:2,”identifier”:”5702017584195″,”status_code”:204}
{“line”:3,”identifier”:”5702017588025″,”status_code”:201}
Errors:
{“line”:4,”identifier”:”0196337820449″,”status_code”:422,
“message”:”Validation failed: Attribute ‘name’ expects text, got number”}
Endpoint: PATCH /api/rest/v1/products/{identifier}
Header: Content-Type: application/jsoncurl -X PATCH \
-H ‘Authorization: Bearer <access_token>’ \
-H ‘Content-Type: application/json’ \
-d ‘{
“values”: {
“name”: [ { “locale”: “fr_FR”, “scope”: null, “data”: “LEGO Chasseur” } ],
“description”: [ { “locale”: “fr_FR”, “scope”: “ecommerce”, “data”: “…” } ]
}
}’ \
https://<tenant>.akeneo.com/api/rest/v1/products/5702017566733
curl -G \
-H ‘Authorization: Bearer <access_token>’ \
–data-urlencode ‘search={
“data_owner”:[{“operator”:”IN”,”value”:[“icecat”]}],
“enabled”:[{“operator”:”=”,”value”:true}],
“family”:[{“operator”:”IN”,”value”:[“laptops”,”phones”]}]
}’ \
–data-urlencode ‘limit=100’ \
https://<tenant>.akeneo.com/api/rest/v1/products
{“identifier”:”SKU-001″,”values”:{“name”:[{“locale”:”fr_FR”,”scope”:null,”data”:”Nom FR”}]}}
{“identifier”:”SKU-002″,”values”:{“name”:[{“locale”:”en_US”,”scope”:null,”data”:”Name EN”}]}}
{
“values”: {
“color”: [{“locale”: null, “scope”: null, “data”: “black”}],
“connectivity”: [{“locale”: null, “scope”: null, “data”: [“wifi”,”bluetooth”]}]
}
}
KINDLY COMPLETE ALL OF THE BELOW INFORMATION
BEFORE STARTING DATE OF YOUR PROJECT
DEV:…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………PROD:………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
/api/rest/v1/attributes/
YES IT GIVEN ? Y / N
/api/rest/v1/products/
YES IT GIVEN ? Y / N
YES IT GIVEN ? Y / N
……………………………………………………………………………………………………………………………………..………………….
YES IT GIVEN ? Y / N
YES IT CREATED? Y / N
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
It's 11 p.m., and you're staring at a 403 app_key required error, or weighing Open against Full…
Your product does not change, but the way people discover it does. So why would…
Building a chatbot is easy. Building one you would trust to talk to your customers…
For many retailers, e-commerce is a way to sell products directly to consumers. Adidas is…
Europe's e-commerce landscape continues to attract new competitors, and one of the latest developments comes…
At Icecat, managing, enriching, and syndicating millions of product data-sheets across thousands of global brands…