Skip to main content
GET
/
store
/
offers
curl 'http://localhost:9000/store/offers?product_id=prod_01JB2K5M8N&region_id=reg_01JB2K4S1T&fields=%2Bcalculated_price' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "offers": [
    {
      "id": "offer_01JB2K6G5H",
      "seller_id": "sel_01JB2K8A1B",
      "variant_id": "variant_01JB2K6E4F",
      "product_id": "prod_01JB2K5M8N",
      "shipping_profile_id": "sp_01JB2K9C2D",
      "sku": "NT-LINEN-M",
      "ean": null,
      "upc": null,
      "seller": { "id": "sel_01JB2K8A1B", "name": "Nordic Textiles", "handle": "nordic-textiles" },
      "product_variant": { "id": "variant_01JB2K6E4F", "title": "M", "sku": null, "price_set": { "id": "pset_01JB2K9E3F" } },
      "shipping_profile": { "id": "sp_01JB2K9C2D", "name": "Default" },
      "prices": [
        { "id": "price_01JB2K9G4H", "amount": 4500, "currency_code": "eur", "min_quantity": null, "max_quantity": null }
      ],
      "inventory_item_link": [],
      "calculated_price": {
        "calculated_amount": 4500,
        "original_amount": 4500,
        "currency_code": "eur"
      },
      "metadata": null,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-01T10:00:00.000Z"
    }
  ],
  "count": 3,
  "offset": 0,
  "limit": 50
}
Returns a paginated list of offers from visible sellers whose products are published.
Customer authentication is optional. When a customer token is provided, the customer’s group memberships enter the pricing context used for calculated_price. Prices are computed per offer (each offer scopes the variant’s price set by an offer_id rule) only when calculated_price is in fields and a pricing context (region_id, country_code, or cart_id) resolves. Requesting inventory_quantity or in_stock requires a single sales channel — either configured on the publishable key or passed as sales_channel_id.

Query parameters

limit
number
default:"50"
Maximum number of offers to return.
offset
number
default:"0"
Number of offers to skip before collecting results.
order
string
Field to sort by, prefixed with - for descending order.
fields
string
Comma-separated fields and relations to include; add calculated_price, inventory_quantity, or in_stock to receive the computed fields.
region_id
string
Region used to build the pricing context for calculated_price.
country_code
string
Country used for the tax portion of the pricing context.
province
string
Province used for the tax portion of the pricing context.
cart_id
string
Cart whose region and customer resolve the pricing context.
q
string
Free-text search term applied to offer fields.
id
string | string[]
Filter by one or more offer IDs.
product_id
string | string[]
Filter by one or more product IDs.
variant_id
string | string[]
Filter by one or more variant IDs.
seller_id
string | string[]
Filter by one or more seller IDs.
sku
string | string[]
Filter by one or more offer SKUs.
created_at
object
Filter by creation date using operators like $gt, $gte, $lt, $lte.
updated_at
object
Filter by update date using operators like $gt, $gte, $lt, $lte.

Response

offers
object[]
count
number
Total number of matching offers.
offset
number
Number of skipped offers.
limit
number
Maximum number of returned offers.
curl 'http://localhost:9000/store/offers?product_id=prod_01JB2K5M8N&region_id=reg_01JB2K4S1T&fields=%2Bcalculated_price' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "offers": [
    {
      "id": "offer_01JB2K6G5H",
      "seller_id": "sel_01JB2K8A1B",
      "variant_id": "variant_01JB2K6E4F",
      "product_id": "prod_01JB2K5M8N",
      "shipping_profile_id": "sp_01JB2K9C2D",
      "sku": "NT-LINEN-M",
      "ean": null,
      "upc": null,
      "seller": { "id": "sel_01JB2K8A1B", "name": "Nordic Textiles", "handle": "nordic-textiles" },
      "product_variant": { "id": "variant_01JB2K6E4F", "title": "M", "sku": null, "price_set": { "id": "pset_01JB2K9E3F" } },
      "shipping_profile": { "id": "sp_01JB2K9C2D", "name": "Default" },
      "prices": [
        { "id": "price_01JB2K9G4H", "amount": 4500, "currency_code": "eur", "min_quantity": null, "max_quantity": null }
      ],
      "inventory_item_link": [],
      "calculated_price": {
        "calculated_amount": 4500,
        "original_amount": 4500,
        "currency_code": "eur"
      },
      "metadata": null,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-01T10:00:00.000Z"
    }
  ],
  "count": 3,
  "offset": 0,
  "limit": 50
}