Product Similarity Benchmark
Kaufland groups each of your products with closely comparable products from other sellers, items where shoppers decide mainly on price. This endpoint returns those groups for one storefront. For every group you get your own price position and sales position, how far your price is from the best offer in the group, and the competing offers ranked from best price to worst (price including shipping). Use it to see where you are already competitive and where a price change would move you up.
Endpoint
HTTP method: GET
URL: https://sellerapi.kaufland.com/v2/similar-products/groups
Query parameters:
| Parameter | Required | Description |
|---|---|---|
storefront |
Yes | The storefront you want results for (e.g. de for Kaufland.de). |
offset |
No | How many groups to skip. Use it with limit to page through your groups. Defaults
to 0. |
limit |
No | How many groups to return per request, between 1 and 50. Defaults to 20. Each
group lists up to 250 offers. |
If none of your products are in a similarity group yet, the response is { "data": [] }. This
is not an error.
Sample response
{
"data": [
{
"group_id": "a1b2c3",
"storefront": "de",
"currency": "EUR",
"group_demand": "high",
"own_price_rank": 1,
"own_sales_rank": 1,
"own_share": "high",
"gap_to_best_price": 149,
"number_of_competitors": 4,
"easy_win": true,
"recommendation": "focus",
"ladder": [
{
"price_rank": 1,
"seller": "Example Seller GmbH",
"id_product": 123456789,
"product_name": "Example product",
"ean": "1234567890123",
"price": 1999,
"shipping_cost": 299,
"delivery_time_min": 1,
"delivery_time_max": 3,
"ratings_count": 128,
"average_rating": 4.5,
"manufacturer_name": "Example Manufacturer",
"voucher": null,
"is_excluded": false,
"is_own_offer": false
}
]
}
],
"pagination": {
"offset": 0,
"limit": 20,
"total": 4
}
}
The complete response schema, including all field types, is available in the endpoint specification.
Response Fields
Group fields
group_id:String— Identifier of the similarity group.storefront:String— Storefront the group belongs to.currency:String— ISO 4217 currency of all monetary values in the group.group_demand:String— Relative demand of the group. This is currently eitherhighorlow, one of the values of the shared demand indicator used across the API.own_price_rank:Integer— Personalised rank after the seller's other offers are removed. Positions may have gaps when unavailable offers are omitted.own_sales_rank:Integerornull— The seller's sales rank within the group, ornullif not available.own_share:"high" | "low"— Seller GMV share bucket within the group;highmeans at least 50%.gap_to_best_price:Integer— Price gap to the best offer in the group, in minor units ofcurrency.number_of_competitors:Integer— Total number of competing offers in the group before the ladder cap is applied.easy_win:Boolean— Whether the seller price is within 10% of the current rank #1 offer.recommendation:Stringornull— One offocus,defend,grow, ormaintain.ladder:Array— Personalised-rank-sorted competitor ladder for the group, limited to 250 available offers; see below.
Ladder entry fields
price_rank:Integer— Personalised rank after the seller's other offers are removed. Positions may have gaps when unavailable offers are omitted.seller:String— Name of the competing seller.id_product:Integer— Kaufland's product ID of the competing product.product_name:String— Product title.ean:Stringornull— Main EAN of the product, ornullwhen it is not available.price:Integer— Offer price, in minor units of the groupcurrency, before voucher discount and excluding shipping.shipping_cost:Integer— Shipping cost in minor units ofcurrency.delivery_time_min:Integer— Minimum delivery time in days.delivery_time_max:Integer— Maximum delivery time in days.ratings_count:Integer— Number of ratings for the offer.average_rating:Number— Average review rating for the offer.manufacturer_name:Stringornull— Manufacturer name.voucher:Objectornull— Applied voucher, including discount amount, type, and discounted price.is_excluded:Boolean— Whether the offer is excluded from configured competitor calculations. Excluded offers remain visible in the ladder.is_own_offer:Boolean— Whether the offer belongs to the authenticated seller.