If you are a Channel Partner, your Personal Index File (PIF) and Personal Catalog File (PCF) are generated specifically for your catalog. They contain the products from your assortment that have been matched to the Icecat catalog, together with the corresponding product data available in your selected languages.
Many partners still download these files manually from the icecat.biz interface. As a result, someone needs to remember to retrieve them regularly, and the data in your system is only as up to date as the most recent manual download.
This manual explains how to retrieve both files directly over HTTP, allowing your system to download them automatically on a schedule.
What you get
What you need before you start
How long it takes: about ten minutes for the first link, then it runs on its own.
For regular updates to work, this option must be selected:
Automatic updates are only available for files that Icecat can retrieve again from the original source. A file uploaded directly from your computer is treated as a one-time snapshot and cannot be refreshed automatically.
To enable regular updates, provide a URL or FTP location that Icecat can access and that you keep up to date.
Once your file has been uploaded and matched, click Request Daily Updates.
⚠️ This button is not available for files uploaded directly from your computer. To enable it, upload your catalog again using a URL or FTP location.
This sends a request to your account manager, who will enable daily updates for your catalog. Once daily updates are enabled, you will also gain access to the two endpoints described below.
You can submit this request once every seven days. If you try again sooner, you will be notified that your request has already been submitted.
💡 After daily updates are enabled, your Personal Index File (PIF) and Personal Catalog File (PCF) are regenerated automatically after each daily product matching run. No manual action is required.
To retrieve them, follow MyIcecat → Access Tokens:
Your API token grants access to your products and Personal Files. Treat it like a password: anyone who has the token can access the same files you can.
Store the token securely in your server configuration. Do not expose it in web pages, emails, or client-side code that runs in a browser. If you suspect that the token has been exposed, replace it in MyIcecat.
https://icecat.biz/index.cgi?login_form=user_import_report;api_token=<API_TOKEN> What to replace in this link
| Placeholder | Replace it with | Example |
|---|---|---|
<API_TOKEN> | The API token you copied in step 3 | 2b1a4c6d-9f3e-4a7b-8c2d-5e6f70819a2b |
Replace the whole placeholder, angle brackets included. Leave everything else exactly as it is — login_form=user_import_report is a fixed value, not something you fill in.
So the link above becomes:
https://icecat.biz/index.cgi?login_form=user_import_report;api_token=2b1a4c6d-9f3e-4a7b-8c2d-5e6f70819a2b If your link still contains a < or a > anywhere, it will not work. That is by far the most common mistake.
That is the whole request — the Personal Index File has no language or format options. It is always delivered as CSV, under the file name PIF.csv, and it already covers every language in your subscription: the file has one path(...) column per language.
Columns, in order:
| Column | What it holds |
|---|---|
prod_id | Icecat product ID |
supplier_name | Brand |
ean_upc | GTIN (EAN / UPC) codes |
path(<language>) | Address of the data-sheet, one column per language in your subscription |
timestamp | When the product was last updated |
Your product ID | Your own identifier, when your uploaded file contained one |
error_message | Why a product could not be matched, when that happened |
⚠️ Check the file before you import it. If your Personal Index File is not ready yet, the endpoint still answers with status 200 and returns a CSV that contains only the header row. Treat a file with no data rows as “not ready”, keep your previous copy, and try again later.
https://icecat.biz/index.cgi?login_form=csv_content;csv_file=/products_csv_lists_new/<IcecatUserID>_<LanguageCode>.<FileFormat>;api_token=<API_TOKEN> What to replace in this link
| Placeholder | Replace it with | Example |
|---|---|---|
<IcecatUserID> | Your own Icecat User ID — digits only | 00000 |
<LanguageCode> | The short code of the language you want | INT |
<FileFormat> | csv or xlsx | csv |
<API_TOKEN> | The api-token you copied in step 3 | 2b1a4c6d-9f3e-4a7b-8c2d-5e6f70819a2b |
Replace each whole placeholder, angle brackets included. Everything else stays untouched — login_form=csv_content and the folder /products_csv_lists_new/ are fixed parts of the address, not values you choose. Keep the underscore between the User ID and the language code, and the dot before the format.
Putting those four values in gives you:
https://icecat.biz/index.cgi?login_form=csv_content;csv_file=/products_csv_lists_new/00000_INT.csv;api_token=2b1a4c6d-9f3e-4a7b-8c2d-5e6f70819a2b If your link still contains a < or a > anywhere, it will not work.
If you would rather not assemble it by hand, use the link builder in the section Build your links — it fills in all four values for you.
Download any Personal Catalog File from the site and look at its name. If the file is called 00000_INT.csv, your IcecatUserID is 00000.
Use the short code of the language, for example INT, EN, DE, FR, NL_BE. Only the languages included in your subscription will return a file. The full list is in the Icecat Locales and Language Code Table.
❗ Use CSV for automation. CSV is what the daily update produces, so a CSV link keeps working on its own. Excel files are only created when you generate them yourself on icecat.biz, and your next daily update replaces the Excel file with a CSV one — after which an Excel link stops returning anything. Excel is for people; CSV is for your system/machines.
Fill in your details and copy the two links straight into your own system. Nothing you type here leaves your browser.
Copy it from MyIcecat → Access Tokens. Treat it like a password.
Only the languages included in your subscription will return a file.
These links contain your api-token. Anyone who has them can download everything you can. Never publish them and never put them in code that runs in a browser.
Both endpoints answer a normal GET, so any HTTP client works. Two things to get right:
Let your client unpack the file. The files are transferred compressed. With curl, add --compressed, otherwise you will save a compressed file under a .csv name:
curl --compressed -o pcf.csv "https://icecat.biz/index.cgi?login_form=csv_content;csv_file=/products_csv_lists_new/00000_INT.csv;api_token=<API_TOKEN>" Ask whether anything changed, before downloading. Both endpoints answer a HEAD request with Last-Modified and Content-Length and no file body. Compare Last-Modified with the last file you stored and skip the download when it has not moved:
curl -I "https://icecat.biz/index.cgi?login_form=csv_content;csv_file=/products_csv_lists_new/00000_INT.csv;api_token=<API_TOKEN>" 💡 You may write the link with & instead of ; between the parameters if that suits your tooling better — both work, and the parameter names are not case-sensitive. The order of the parameters does not matter either.
The endpoints are older than our current REST APIs and they answer failures with an HTML page, not with a JSON error. Check the response before you import anything:
| What you get | What it means | What to do |
|---|---|---|
| A CSV or Excel attachment | Success | Import it |
A page saying the address was not found, with < or > still visible in your address bar | The placeholders were not replaced | Rebuild the link with your own values, or use the builder in section Build your links |
| Status 401 and an HTML page | The API token is wrong, expired, or does not belong to a Channel Partner account | Copy the token again from MyIcecat → Access Tokens |
| Status 404 and an HTML page | No file with that name exists for your account | Check the User ID, the language code and the extension. If you asked for .xlsx, generate the Excel file on icecat.biz first |
| Status 200, but the Personal Index File has only its header row | The file is not ready yet | Keep your previous copy and retry later |
| Status 500 | Something went wrong on our side | Retry later; if it persists, contact your account manager |
HEAD request first and download only when Last-Modified has changed.Release 260 completes the move to partner-specific product galleries. After Product XML in Release 259,…
Shopify has introduced Canvas, a new AI-assisted design workspace that lets merchants build and redesign…
Mastercard is expanding its Agent Pay program with new trust and intelligence services designed to…
A U.S. appeals court has ruled that AI startup ROSS Intelligence could not rely on…
The U.S. Federal Trade Commission has opened an investigation into OpenAI and Anthropic as regulators…
Sprint 105 shipped one of our anticipated milestones yet: the Studio MCP server went live…