Free Primark dataset sample: 1,000 products
primark-sample-2026-10.zip
Snapshot, October 2026
The zip has over 9,300 product rows and over 48,000 size rows. Products as CSV, Parquet and JSONL, sizes as CSV and Parquet, plus schema.json and a README. No sign-up.
Download the sample (zip)Also available as
Preview: 20 rows
| product_id | Title | Category | Colour | Price | Original | Sizes | Availability | C&C stock | Stores |
|---|---|---|---|---|---|---|---|---|---|
| 991187123416 | Classic Baseball Cap | Men / Hats, Gloves & Scarves | khaki | £3.00 | – | one size | store_ | 0 | 200 |
| 991160214528 | Essential Cargo Joggers | Men / Trousers | navy | £12.00 | – | m | xxl | xl | l | s | xs | click_ | 38 | 200 |
| 991166337102 | Snaffle Mule Loafers | Women / Flats | natural | £10.00 | – | uk 2 | uk 3 | uk 4 | uk 5 | uk 6 | uk 7 | uk 8 | uk 9 | store_ | 0 | 140 |
| 991178267804 | 4pk Yungblud Badges | Women / Jewellery | black | £3.00 | – | one size | store_ | 0 | 42 |
| 991148326935 | Floral Mesh Cami Set | Women / Lingerie Sets | multi | £10.00 | – | xxs | xs | s | m | l | store_ | 0 | 76 |
| 991194783006 | Pingu Christmas Graphic Boyfriend Pyjamas | Women / Pyjama Sets | ivory | £20.00 | – | m | xxs | xs | s | l | xl | xxl | click_ | 1148 | 140 |
| 991190638804 | Halloween Witch Hat Claw Clip | Women / Hair Accessories | black | £3.50 | – | one size | store_ | 0 | 43 |
| 991181211212 | 8pk Hair Clips | Women / Hair Accessories | gold | £1.50 | – | one size | store_ | 0 | 146 |
| 991181904622 | Oversized Knitted Cocoon Jumper | Women / Jumpers & Cardigans | chocolate | £16.00 | – | m | xs | s | l | click_ | 228 | 61 |
| 991190414616 | Pure Cotton Slim Fit Corduroy Trousers | Men / Trousers | brown | £16.00 | – | w30/l30 | w30/l32 | w32/l30 | w32/l32 | w32/l34 | w36/l30 | w36/l32 | w34/l30 | w34/l32 | w34/l34 | w38/l32 | w40/l32 | click_ | 450 | 10 |
| 991192117212 | Metallic Cross Strap Ballet Pumps | Kids / Flats | gold | £7.00 | – | uk 11 jnr | uk 5 jnr | uk 6 jnr | uk 7 jnr | uk 8 jnr | uk 9 jnr | uk 10 jnr | uk 12 jnr | uk 13 jnr | uk 1 | uk 2 | click_ | 38 | 35 |
| 991170206104 | Push Up Bra Inserts | Women / Bras | nude | £5.00 | – | one size | store_ | 0 | 198 |
| 991150856528 | Adaptive Ribbed Long Sleeve Pyjama Top | Women / Pyjama Tops | navy | £12.00 | – | xxs | xs | s | m | l | xl | xxl | click_ | 49 | 33 |
| 991166939006 | Printed Boyfriend Pyjamas | Women / Pyjama Sets | ivory | £13.00 | – | xs | xxs | s | m | l | xl | xxl | xxxl | click_ | 501 | 199 |
| 991178450414 | 1.5-9yrs | Striped Oxford Shirt | Kids / Tops & T-Shirts | green | £7.00 | – | 2-3y | 1.5-2y | 3-4y | 4-5y | 5-6y | 6-7y | 7-8y | 8-9y | 1/1.5yrs | click_ | 153 | 38 |
| 991172904116 | Teddy Bear Plush Keyring | Women / Jewellery | cream | £5.00 | – | one size | store_ | 0 | 199 |
| 991175953720 | Quilted Dressing Gown | Women / Dressing Gowns | grey marl | £28.00 | – | m | xs | s | l | xl | click_ | 45 | 60 |
| 991167338804 | Paula Echevarría Knotted Heeled Sandals | Women / Heels | black | £18.00 | – | uk 3 | uk 2 | uk 5 | uk 9 | uk 7 | uk 4 | uk 6 | uk 8 | click_ | 169 | 186 |
| 991178570616 | PS... Sugared Dates Whipped Shower Foam | Beauty / Body Wash & Shower Gel | brown | £3.50 | – | one size | store_ | 0 | 201 |
| 991165211108 | Faux Leather Textured Belt | Women / Belts | ecru | £4.00 | – | xl | xs | s | xxs | l | m | xxl | store_ | 0 | 144 |
One product, every country
991160214528) in every storefront that sells it. Titles are in the storefront's language and prices in local currency, as shoppers see them.991160214528| Country | Storefront | Title | Price |
|---|---|---|---|
| United Kingdomen-gbEssential Cargo Joggers | en-gb | Essential Cargo Joggers | £12.00 |
| Austriade-atCargo-Jogginghose | de-at | Cargo-Jogginghose | €16.00 |
| Belgiumfr-beBas de jogging cargo Essential | fr-be | Bas de jogging cargo Essential | €16.00 |
| Belgiumnl-beBasic cargo-joggingbroek | nl-be | Basic cargo-joggingbroek | €16.00 |
| Czechiacs-czZákladní cargo tepláky | cs-cz | Základní cargo tepláky | 365 CZK |
| Francefr-frBas de jogging cargo Essential | fr-fr | Bas de jogging cargo Essential | €14.00 |
| Germanyde-deCargo-Jogginghose | de-de | Cargo-Jogginghose | €16.00 |
| Hungaryhu-huAlapdarab oldalzsebes szabadidőnadrág | hu-hu | Alapdarab oldalzsebes szabadidőnadrág | 5,200 HUF |
| Irelanden-ieEssential Cargo Joggers | en-ie | Essential Cargo Joggers | €14.00 |
| Italyit-itPantaloni da tuta cargo basic | it-it | Pantaloni da tuta cargo basic | €14.00 |
| Netherlandsnl-nlBasic cargo-joggingbroek | nl-nl | Basic cargo-joggingbroek | €16.00 |
| Polandpl-plNiezbędne bojówki dresowe | pl-pl | Niezbędne bojówki dresowe | 60 PLN |
| Portugalpt-ptCalças treino cargo essenciais | pt-pt | Calças treino cargo essenciais | €14.00 |
| Romaniaro-roPantaloni casual cargo de bază | ro-ro | Pantaloni casual cargo de bază | 70 RON |
| Slovakiask-skZákladné kapsáčové tepláky | sk-sk | Základné kapsáčové tepláky | €14.00 |
| Sloveniasl-siOsnovne hlače za prosti čas s stranskimi žepi | sl-si | Osnovne hlače za prosti čas s stranskimi žepi | €14.00 |
| Spaines-esJoggers cargo básicos | es-es | Joggers cargo básicos | €14.00 |
| United Statesen-usEssential Cargo Joggers | en-us | Essential Cargo Joggers | $20.00 |
Field dictionary
product_id and locale.Products file (34 fields)
| Field | Type | Description |
|---|---|---|
| product_id | string | Primark product ID of this colour (12 digits: 9-digit style code + 3-digit colour code). The same ID is the same product in every country. |
| style_code | string | Style code shared by all colours of a product. |
| colour_code | string | Colour code within the style. |
| title | string | Product title as shown to shoppers, in the storefront's language. |
| description | string | Short product description, in the storefront's language. |
| product_url | string | Product page on the country's Primark website. |
| country | string | ISO country code of the storefront. |
| locale | string | Storefront locale (language-country), e.g. en-gb, fr-be, nl-be. |
| language | string | Language of title, description and category names. |
| currency | string | ISO currency of the prices. |
| price | number | Current selling price in local currency, as shown to shoppers. |
| original_price | number | Previous (crossed-out) price when the product is reduced; empty otherwise. |
| discount_pct | number | 1 - price / original_price, rounded to 4 decimals; 0 when not reduced. |
| clearance | boolean | True when the product is marked as clearance. |
| top_category | string | Top-level category, e.g. Women, Kids, Home, Beauty. |
| category | string | Leaf category, e.g. Jeans. |
| category_path | string | Main category path from top level to leaf, separated by ' > '. |
| category_paths | list of strings | Every category path the product is listed under (in CSV: separated by '|'). |
| gender | string | Department: Womens, Mens, Girls, Boys, Unisex (empty for home and some beauty). |
| product_type | string | Product type, e.g. Hair Accessories, Pyjama Sets. |
| colour | string | Colour name. |
| colour_count | integer | Number of colours the style comes in. |
| sizes | list of strings | Sizes offered (in CSV: separated by '|'). |
| size_count | integer | Number of sizes offered. |
| materials | list of strings | Materials, without percentages (in CSV: separated by '|'). |
| care | list of strings | Care instructions (in CSV: separated by '|'). |
| availability | string | How it can be bought: click_collect_and_store, store_only, click_collect_only or coming_soon. |
| click_collect_stock | integer | Units available for Click & Collect, all sizes together. |
| store_count | integer | Number of stores that range at least one size of the product. |
| image_url | string | Main product image URL. |
| image_urls | list of strings | All product image URLs, high resolution (in CSV: separated by '|'). |
| image_count | integer | Number of product images. |
| first_listed | date | Date the product went on sale in this country; empty when not known. |
| collected_at | timestamp | When this record was collected (UTC). |
Sizes file (13 fields)
| Field | Type | Description |
|---|---|---|
| product_id | string | Primark product ID of the colour (joins to the products file). |
| sku | string | Primark SKU of this size. |
| country | string | ISO country code of the storefront. |
| locale | string | Storefront locale. |
| size | string | Size label as shown, e.g. 'uk 10', 'one size'. |
| currency | string | ISO currency of the prices. |
| price | number | Current selling price of this size. |
| original_price | number | Previous (crossed-out) price when reduced; empty otherwise. |
| click_collect_stock | integer | Units of this size available for Click & Collect. |
| active | boolean | False when the size is no longer sold. |
| availability | string | click_collect_and_store, store_only, click_collect_only or coming_soon. |
| store_count | integer | Number of stores that range this size. |
| collected_at | timestamp | When this record was collected (UTC). |
Notes on the data
- One row per product colour per storefront.
product_idis the same product in every country, so storefronts join on it. - Belgium has two storefronts, French and Dutch.
- Prices are what shoppers in each country see, in local currency, including VAT where it applies.
- Many products are sold in stores only (availability =
store_only). Their price, sizes and ranging are still listed. store_countis the number of stores that range the product or size. It is not in-store stock.- Materials are names, without percentages.
- Images are URLs only. The zip has no image files.
Licence
The sample is free for evaluation, research and journalism. Please credit Cartpie as the source. You may not resell the sample or redistribute it as a dataset. Commercial use needs a licence for the full Primark dataset.
Questions
What is in the Primark dataset sample?
1,000 products picked at random from the Primark UK catalogue (October 2026), every top-level category in proportion, each with its listing in every country that sells it. That makes over 9,300 product rows and over 48,000 size rows. The zip holds products as CSV, Parquet and JSON Lines, sizes as CSV and Parquet, a schema.json and a README.
Is the sample free to use?
Yes, for evaluation, research and journalism, with attribution to Cartpie. You may not resell it or redistribute it as a dataset. Commercial use of the data needs a licence for the full dataset.
How is the sample different from the full dataset?
The sample has 1,000 products. The full dataset has over 150,000 listings for the UK, Ireland, the US and 14 EU countries, with the same fields, and can be refreshed monthly, weekly or daily.
Why does one product appear in more than one row?
Each colour of a style is its own product with its own product_id; colours of the same style share a style_code. A product sold in several countries also has one row per storefront, with that storefront's price and currency.
Need the whole catalogue?
The full Primark dataset has over 150,000 listings for the UK, Ireland, the US and 14 EU countries, with the same fields, as a one-off snapshot or on a refresh schedule.
Independent data. Not affiliated with, endorsed by or sponsored by Primark. Primark is a trademark of its owner.
