How to automate the retrieval of Personal Files (PIF & PCF) using HTTP

By

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

  • Personal Index File (PIF) — an index of your product assortment showing which products were matched to Icecat, along with their Icecat product IDs, GTINs, and links to the corresponding product XML data sheets. You can use the PIF to import product content either through the product XML files or by using the Icecat product IDs and other Icecat endpoints.
  • Personal Catalog File (PCF) — a catalog file containing product content for your matched products, including descriptions, specifications, and media, with a separate file for each language. Please note that PCF does not include all product content available in Icecat.

What you need before you start

  • A product file uploaded to Icecat by URL or FTP, and matched (see Step 1).
  • Daily updates switched on for your account by account manager (see Step 2).
  • An API token from your profile on icecat.biz (see Step 3).

How long it takes: about ten minutes for the first link, then it runs on its own.

Step 1: Upload your product file by URL or FTP

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.

Step 2: Request Daily Updates

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.

Step 3: Get your API Token

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.

Personal Index Endpoint

https://icecat.biz/index.cgi?login_form=user_import_report;api_token=<API_TOKEN>

What to replace in this link

PlaceholderReplace it withExample
<API_TOKEN>The API token you copied in step 32b1a4c6d-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:

ColumnWhat it holds
prod_idIcecat product ID
supplier_nameBrand
ean_upcGTIN (EAN / UPC) codes
path(<language>)Address of the data-sheet, one column per language in your subscription
timestampWhen the product was last updated
Your product IDYour own identifier, when your uploaded file contained one
error_messageWhy 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.

Personal Catalog Endpoint

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

PlaceholderReplace it withExample
<IcecatUserID>Your own Icecat User ID — digits only00000
<LanguageCode>The short code of the language you wantINT
<FileFormat>csv or xlsxcsv
<API_TOKEN>The api-token you copied in step 32b1a4c6d-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.

Find your IcecatUserID

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.

Choose the language code

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.

Choose the format

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.

Build your links

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.

File format

Fetch the files from your system

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.

How to tell success from failure

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 getWhat it meansWhat to do
A CSV or Excel attachmentSuccessImport it
A page saying the address was not found, with < or > still visible in your address barThe placeholders were not replacedRebuild the link with your own values, or use the builder in section Build your links
Status 401 and an HTML pageThe API token is wrong, expired, or does not belong to a Channel Partner accountCopy the token again from MyIcecat → Access Tokens
Status 404 and an HTML pageNo file with that name exists for your accountCheck 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 rowThe file is not ready yetKeep your previous copy and retry later
Status 500Something went wrong on our sideRetry later; if it persists, contact your account manager

Keeping it running

  • Ask for the file once a day, shortly after your daily matching run has finished. Asking more often returns the same file.
  • Send a HEAD request first and download only when Last-Modified has changed.
  • Always import into a staging table first and swap it in once the file passes your own sanity check — an empty or half-written import is worse than yesterday’s data.
  • Keep your API token in server-side configuration and rotate it in MyIcecat if it ever leaves your systems.

Related manuals

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
 September 20, 2025

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