Primark scraper API

Get live Primark product data with one request. Send a product URL from any Primark storefront and get back clean JSON: title, price, currency, crossed-out price, availability, images, categories and sizes. Prices come back in the local currency of the storefront the URL belongs to.
Independent data. Not affiliated with, endorsed by or sponsored by Primark. Primark is a trademark of its owner.

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

One endpoint for every supported retailer. Send the product URL as JSON with your API key in the 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.