Primark scraper API
Every Primark storefront
Storefronts in the UK, Ireland, the US and 14 EU countries, 18 in all, including the French and Dutch sites for Belgium. Send the product URL as it appears in the browser.
Local prices
Each request returns the price and currency a shopper sees on that storefront: GBP, EUR, USD, PLN, CZK, HUF and RON.
One schema
The same JSON shape as every other retailer we support: title, price, availability, images, categories, colour and one variant per size.
Example request
x-api-key header.curl -X POST "https://api.cartpie.com/v1/extract" \
-H "x-api-key: cp_live_..." \
-H "content-type: application/json" \
-d '{"url": "https://www.primark.com/en-gb/p/essential-cargo-joggers-navy-991160214528"}'Example response (trimmed)
Built from a real product in our free Primark sample. Fields that Primark doesn't show for a product are left out rather than filled with guesses. The full field list is in the docs.
{
"data": {
"title": "Essential Cargo Joggers",
"brand": "Primark",
"description": "A pair of cargo joggers with pockets and drawstring waistline",
"price": "12.00",
"currency": "GBP",
"availability": "inStock",
"imageUrls": [
"https://cdn.media.amplience.net/i/primark/991160214528_01",
"https://cdn.media.amplience.net/i/primark/991160214528_02"
],
"categories": ["Men", "Clothing", "Trousers"],
"color": "navy",
"material": "Polyester, Cotton",
"identifiers": { "sku": "991160214528", "productId": "991160214" },
"variants": [
{ "color": "navy", "size": "s", "sku": "212090235", "price": "12.00", "available": true,
"additionalProperties": [{ "name": "Availability", "value": "inStock" }, { "name": "Click & Collect stock", "value": "8" }] },
{ "color": "navy", "size": "m", "sku": "212090234", "price": "12.00", "available": true,
"additionalProperties": [{ "name": "Availability", "value": "inStoreOnly" }, { "name": "Click & Collect stock", "value": "0" }] },
{ "color": "khaki", "size": "l", "sku": "211833862", "price": "12.00", "available": true,
"additionalProperties": [{ "name": "Availability", "value": "inStock" }, { "name": "Click & Collect stock", "value": "1" }] }
],
"additionalProperties": [
{ "name": "Product type", "value": "Joggers" },
{ "name": "Gender", "value": "Mens" },
{ "name": "Click & Collect stock", "value": "38" }
]
},
"meta": { "cached": false }
}Pricing
Primark lookups are priced in credits, like every other retailer. Failed lookups and cache hits are free. The free plan includes 100 credits a month.
Need every product?
The API is for lookups, one product at a time. For full catalogues, Click & Collect stock per size or store ranging, buy the data in bulk instead.
Free sample
1,000 real Primark products with every field and size, as CSV, Parquet and JSONL. No account needed.
What people use it for
- Checking the current price of Primark products a user saved or shared.
- Showing Primark products in a comparison or shopping app with up-to-date prices.
- Comparing what the same product costs across Primark countries.
- Enriching a list of Primark product URLs with titles, images, categories and sizes.
FAQ
Which Primark countries are supported?
All 18 storefronts: United Kingdom (en-gb), Ireland (en-ie), United States (en-us), Germany (de-de), Austria (de-at), France (fr-fr), Belgium (fr-be, nl-be), Netherlands (nl-nl), Spain (es-es), Italy (it-it), Portugal (pt-pt), Poland (pl-pl), Czech Republic (cs-cz), Slovakia (sk-sk), Hungary (hu-hu), Romania (ro-ro) and Slovenia (sl-si). Pass a product URL from any of them.
What do I send?
A Primark product page URL, as it appears in your browser. The locale in the path, such as en-gb, de-de or fr-be, sets the storefront, so the price and currency are that country's.
How accurate are the prices?
Prices are what a shopper on that storefront sees at the time of the request, in local currency. Where Primark shows a crossed-out price, it comes back as originalPrice.
What does availability mean for Primark?
Many Primark products are sold in stores only. availability is inStock when a size can be reserved for Click & Collect, inStoreOnly when it is sold in stores but can't be ordered online, and outOfStock otherwise. Each size also returns its Click & Collect stock. Store-level stock isn't available.
What are the rate limits?
Rate limits depend on your plan. Higher plans allow more requests per minute. The current limits are listed on the pricing page.
Can I get every Primark product through the API?
The API is built for lookups: one product per request, live. For whole countries, Click & Collect stock per size or store ranging across the catalogue, use the Primark dataset instead.
Is Cartpie affiliated with Primark?
Independent data. Not affiliated with, endorsed by or sponsored by Primark. Primark is a trademark of its owner.
Looking for other retailers? See the retailer scraper API.
Independent data. Not affiliated with, endorsed by or sponsored by Primark. Primark is a trademark of its owner.
