---
title: "Store offers for one product (the price comparison)"
method: GET
path: "/api/products/{slug}/offers"
---

# Store offers for one product (the price comparison)

`GET /api/products/{slug}/offers`

## Request

- Base URL: `https://api.glowjakt.se`
- URL: `https://api.glowjakt.se/api/products/{slug}/offers`
- Auth: none required

Offers are aggregated across the product's EAN group: the stores selling the same barcode. Listings the catalog classifies as outside its beauty scope are left out whenever the group also has in-scope listings. Sorted by price, in-stock first at equal price. is_cheapest marks the lowest-priced in-stock offer (the lowest-priced offer when none is in stock), the same price the product endpoint shows.

## Path parameters

- `slug` string, required

## Response `200`

Offer list

- OfferList
  - `ean` string, nullable
  - `product_name` string
  - `brand` string
  - `image_url` string, nullable
  - `offer_count` integer: Total number of store offers listed below, including those out of stock.
  - `offers` object[]
    - `store_name` string
    - `price` number
    - `original_price` number, nullable
    - `in_stock` boolean
    - `affiliate_url` string: Tracked buy link to this store (https://{market-domain}/go/{id}?t=...). Signed and valid for 48 hours from the response; it redirects (302) to the store.
    - `is_cheapest` boolean
    - `content_value` number, nullable: Package quantity in base unit (ml or g). German market (country=de) only — basis for the Grundpreis unit price (PAngV).
    - `content_unit` string, nullable: Base unit for content_value: "ml" or "g". German market only.

## Other responses

- `404`: Unknown product slug

---

[API](https://skmtc.dev/glowjakt/apis/glowjakt-public-api.md) · [All operations](https://skmtc.dev/glowjakt/apis/glowjakt-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/glowjakt/apis/glowjakt-public-api/revisions/6f4e2dee0479?raw)
