Similar Product Groups

This endpoint is for the same sellers as GET /similar-products/buybox — sellers whose products compete with very similar products from other sellers rather than with identical ones, typically own-brand (private label) products, and for repricers and technology partners. Use this endpoint to see all your groups of similar products at once and decide where to act first.

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 customer price is from the best offer in the group, and the competing offers ranked using the same calculation as the Seller Portal. Ranking considers the voucher-discounted price, shipping cost, and delivery time; the price gap compares the voucher-discounted price plus shipping. Use it to see where you are already competitive and where a price change would move you up.

What a group of similar products is

Many products compete for the customer's attention without sharing an EAN, so they never meet in the same Buy Box. A customer looking for a 10-metre garden hose compares a handful of very similar hoses from different sellers and usually picks the cheapest one that fits. Kaufland uses an AI-based process to find these very similar products and puts them into a group of similar products. Most products in such groups are own brands, but a product that also has a regular Buy Box can be part of a group. The grouping is automated and not perfect: sellers can remove or add competitors in the Seller Portal (Pricing Optimisation → Private label products), and those adjustments are reflected in this endpoint.

How this relates to /similar-products/buybox

  • GET /similar-products/buybox is the competitor list for one product, in the /buybox shape.
  • GET /similar-products/groups (this endpoint) is every group you are in, with your position, the gap, the demand and the recommendation.

How to use the result

group_demand Start with groups where it is high and you are not rank 1.
easy_win Marks the quickest improvements.
number_of_competitors The true group size, while ladder is capped at 250.
own_sales_rank null means it is not available, not that it is bad.
is_excluded Competitors you excluded in the Seller Portal stay visible, with is_excluded: true.

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 group of similar products 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

Field Type Description
group_id String Identifier of the group of similar products.
storefront String Storefront the group belongs to.
currency String ISO 4217 currency of all monetary values in the group.
group_demand String How much customers buy across the whole group compared with other groups: high or low.
own_price_rank Integer Your rank among the products in the group, using voucher-discounted price, shipping cost, and delivery time; your own other offers are not counted. Ranks can have gaps where unavailable offers were left out.
own_sales_rank Integer or null The seller's sales rank within the group, or null if not available.
own_share "high" | "low" Your share of the group's GMV: high or low.
gap_to_best_price Integer Difference between your customer price and the best offer's customer price, in minor units of currency. Customer price is the offer price after any voucher discount, plus shipping.
number_of_competitors Integer Total number of competing offers in the group before the ladder cap is applied.
easy_win Boolean Your customer price (after voucher discount plus shipping) is very close to the best offer's customer price, so a small change could move you to rank 1.
recommendation String or null One of focus (high demand, low share), defend (high demand, high share), grow (low demand, low share), or maintain (low demand, high share). null when demand or share cannot be determined for the group.
ladder Array Personalised-rank-sorted competitor ladder for the group, limited to 250 available offers; see below.

Ladder entry fields

Field Type Description
price_rank Integer Rank of this offer within the group, using voucher-discounted price, shipping cost, and delivery time; 1 = best.
seller String Name of the competing seller.
id_product Integer Kaufland's product ID of the competing product.
product_name String Product title.
ean String or null Main EAN of the product, or null when it is not available.
price Integer Offer price, in minor units of the group currency, before voucher discount and excluding shipping.
shipping_cost Integer Shipping cost in minor units of currency.
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 String or null Manufacturer name.
voucher Object or null 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.

Voucher fields

Field Type Description
discount_amount Integer Discount amount; either a percentage or a minor-currency-unit amount depending on discount_type.
discount_type String One of percent or fixed.
discounted_price Integer Price after the voucher discount is applied, in minor units of the group currency.