Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Kaufland API page →
E-commerce & Marketplaces

Kaufland API & Scraper

The Kaufland API returns the Kaufland online marketplace as clean JSON across its five storefronts on one platform - Germany, Czechia, Slovakia, Poland and Austria - in five actions: search, product/detail, product/offers, product/reviews and search/suggest.

5 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

A country parameter picks the storefront and the currency follows it (EUR, CZK, PLN). search returns 40 products per page with the price, the site's own struck price and the manufacturer's UVP as separate fields, the unit price, any coupon kept apart from the price, the condition (new, refurbished or used), the seller and whether Kaufland itself sells it, shipping cost, delivery window, rating and review count, and it filters by price range, manufacturer, minimum rating, deals or any storefront facet; sponsored products are left out unless you ask for them. product/detail adds the full buy box with shipping and total price, every other seller's new and used offer, the cheapest offer compared with the buy box, all images, the description, the complete specification table with every EAN the product carries, variants and the rating breakdown. product/reviews pages through all reviews with the per-star breakdown and Kaufland's own review summary. Verified on 2026-09-15: 64 of 64 live checks as expected across all five storefronts, and on 8 products compared against the product page itself title, price, EAN and seller matched 8 of 8. No Kaufland account, no browser - one ReefAPI key and the standard { ok, data, meta, error } envelope.

Reference

Which storefront, which currency

One platform, one parameter. Product ids are shared across the five storefronts, prices and availability are not: the same LEHMANN vacuum (434682098) was 74.99 EUR in Germany, 1,650 CZK in Czechia, 64.99 EUR in Slovakia and priced separately in Poland and Austria, measured live on 2026-09-15.

countrystorefrontcurrency
dekaufland.de (default)EUR
czkaufland.czCZK
skkaufland.skEUR
plkaufland.plPLN
atkaufland.atEUR

A product or category URL sets the country from its own host, and a country that contradicts the URL is rejected. An id that exists in Kaufland's catalogue but is not sold on the chosen storefront returns NOT_FOUND saying so, rather than an empty record. Kaufland's French and Italian storefronts were not part of this build.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/kaufland/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "kaffee"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "kaufland",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 2564.6,
    "record_count": 33,
    "bytes": 75211,
    "cache_hit": false,
    "pagination": {
      "page": 1,
      "has_more": true,
      "page_size": 40,
      "total": 10000
    },
    "upstream_requests": 2
  },
  "data": {
    "results": [
      {
        "position": 3,
        "product_id": "507479579",
        "offer_id": "387424378070",
        "title": "JACOBS Filterkaffee Krönung Kräftig Pulver-Kaffee Röstkaffee gemahlen 6 x 500 g",
        "brand": "Jacobs",
        "ean": "4260707764957",
        "url": "https://www.kaufland.de/product/507479579/",
        "image": "https://media.cdn.kaufland.de/product-images/1024x1024/c2bfdffe474c8acfd600478faf7d6109.jpg",
        "images": [
          "https://media.cdn.kaufland.de/product-images/1024x1024/c2bfdffe474c8acfd600478faf7d6109.jpg",
          "https://media.cdn.kaufland.de/product-images/1024x1024/02720562bc1c2219e345496868d199de.jpg",
          "https://media.cdn.kaufland.de/product-images/1024x1024/294f5eb0431bb6de56a62134044100d0.jpg"
        ],
        "sponsored": false,
        "price": 59.9,
        "currency": "EUR",
        "was_price": null,
        "discount_percent": null,
        "rrp": null,
        "rrp_discount_percent": null,
        "unit_price": {
          "price": 19.97,
          "unit": "1kg"
        },
        "voucher": null,
        "price_with_voucher": null,
        "top_price": false,
        "condition": {
          "key": "new",
          "code": 100,
          "is_new": true,
          "seller_note": null
        },
        "seller": {
          "id": "23854461",
          "name": "Favorio",
          "company_name": "Hatraco GmbH",
          "is_kaufland": false
        },
        "shipping_cost": 0,
        "delivery": {
          "min_workdays": 1,
          "max_workdays": 2,
          "earliest_date": "2026-09-18",
          "latest_date": "2026-09-21"
        },
        "available": true,
        "sold_out": false,
        "rating": 4.85,
        "review_count": 13,
        "rating_scale": 5,
        "refurbished_offers_from_price": null,
        "category": {
          "id": "5921",
          "name": "Kaffeepulver"
        },
        "badges": []
      },
      {
        "position": 4,
        "product_id": "545542367",
        "offer_id": "390142475720",
        "title": "Trintini Crema Gusto Italiana Kaffeebohne 1000g",
        "brand": "FG Kaffee GmbH",
        "ean": "4262415131885",
        "url": "https://www.kaufland.de/product/545542367/",
        "image": "https://media.cdn.kaufland.de/product-images/1024x1024/d86b8a7b42f2c6969b58a265546588ab.jpg",
        "images": [
          "https://media.cdn.kaufland.de/product-images/1024x1024/d86b8a7b42f2c6969b58a265546588ab.jpg",
          "https://media.cdn.kaufland.de/product-images/1024x1024/d19b9441672fb7f3e2d524f0f252c5b6.jpg",
          "https://media.cdn.kaufland.de/product-images/1024x1024/5c597409b2086455a92f13fa6cab37e2.jpg"
        ],
        "sponsored": false,
        "price": 15.49,
        "currency": "EUR",
        "was_price": null,
        "discount_percent": null,
        "rrp": null,
        "rrp_discount_percent": null,
        "unit_price": {
          "price": 15.49,
          "unit": "1kg"
        },
        "voucher": {
          "code_title": "09-26",
          "discount": "10%",
          "discount_type": "percentage",
          "discount_amount": 10,
          "vouchers_total": 50,
          "vouchers_redeemed": 0
        },
        "price_with_voucher": 13.94,
        "top_price": false,
        "condition": {
          "key": "new",
          "code": 100,
          "is_new": true,
          "seller_note": null
        },
        "seller": {
          "id": "78102654",
          "name": "FGkaffee",
          "company_name": "FG Kaffee GmbH",
          "is_kaufland": false
        },
        "shipping_cost": 2.99,
        "delivery": {
          "min_workdays": 2,
          "max_workdays": 5,
          "earliest_date": "2026-09-18",
          "latest_date": "2026-09-23"
        },
        "available": true,
        "sold_out": false,
        "rating": 4.5,
        "review_count": 4,
        "rating_scale": 5,
        "refurbished_offers_from_price": null,
        "category": {
          "id": "5801",
          "name": "Kaffeebohnen"
        },
        "badges": []
      },
      {
        "position": 5,
        "product_id": "361310327",
        "offer_id": "392889574659",
        "title": "Nescafé Gold Das Original, löslicher Bohnenkaffee, Kaffee, gemahlener Röstkaffee, Glas, 100 g",
        "brand": "Nestlé",
        "ean": "7613036310116",
        "url": "https://www.kaufland.de/product/361310327/",
        "image": "https://media.cdn.kaufland.de/product-images/1024x1024/1db5ff697326a8a035d9d0f33e7fa040.jpg",
        "images": [
          "https://media.cdn.kaufland.de/product-images/1024x1024/1db5ff697326a8a035d9d0f33e7fa040.jpg",
          "https://media.cdn.kaufland.de/product-images/1024x1024/86b8c3ccdd1b328e958e2b12d18b5556.jpg",
          "https://media.cdn.kaufland.de/product-images/1024x1024/80fed8a36e910512b23dc0d0f338be2f.jpg"
        ],
        "sponsored": false,
        "price": 8.04,
        "currency": "EUR",
        "was_price": null,
        "discount_percent": null,
        "rrp": null,
        "rrp_discount_percent": null,
        "unit_price": {
          "price": 80.4,
          "unit": "1kg"
        },
        "voucher": null,
        "price_with_voucher": null,
        "top_price": false,
        "condition": {
          "key": "new",
          "code": 100,
          "is_new": true,
          "seller_note": null
        },
        "seller": {
          "id": "47986105",
          "name": "FROGcoffee",
          "company_name": "FROG.passion GmbH",
          "is_kaufland": false
        },
        "shipping_cost": 4.99,
        "delivery": {
          "min_workdays": 2,
          "max_workdays": 5,
          "earliest_date": "2026-09-18",
          "latest_date": "2026-09-23"
        },
        "available": true,
        "sold_out": false,
        "rating": 3.95,
        "review_count": 19,
        "rating_scale": 5,
        "refurbished_offers_from_price": null,
        "category": {
          "id": "5951",
          "name": "[redacted-name]"
        },
        "badges": []
      }
    ],
    "count": 33,
    "sponsored_dropped": 6,
    "sponsored_included": null,
    "unavailable_dropped": 0,
    "page": 1,
    "page_size": 40,
    "total_results": 10000,
    "total_results_capped": true,
    "total_pages": 250,
    "has_more": true,
    "page_notice": null,
    "query": "kaffee",
    "category_id": null,
    "sort": "relevance",
    "country": "de",
    "currency": "EUR",
    "applied_filters": null,
    "keyword_matches_on_page": 33,
    "fallback_results_dropped": null,
    "fallback_total": null,
    "spelling_suggestion": null,
    "redirect_url": null
  }
}
Actions

What the Kaufland API does

ActionDescriptionConcrete use caseKey params
searchSearch a Kaufland storefront by keyword or browse a category, 40 rows per page: product id, title, brand, EAN, image, price with the site's struck price and the manufacturer's UVP as separate fields, unit price, coupon, condition (new / refurbished / used), seller and whether Kaufland itself sells it, shipping cost, delivery window, rating and review count, lowest used and refurbished offer price, and whether the row is a sponsored ad. Filter by price range, manufacturer, minimum rating, deals only or any storefront facet; sort the way the site does.Pricing teams call search to search a Kaufland storefront by keyword or browse a category, 40 rows per page.query, category, country, page, sort, ...
product/detailThe full Kaufland product record by id or URL: title, brand, EAN, MPN, category and breadcrumb, buy-box price with shipping cost and total, UVP and the site's struck price kept apart, unit price, coupon, condition of the buy-box offer, seller with return period and whether it is Kaufland itself, delivery window and ships-from country, every other seller's new and used/refurbished offer with shipping and total price, the cheapest offer vs the buy box, rating with per-star breakdown, all images, description, the full specifications table and colour/size variants.Marketplace operators call product/detail to get the full Kaufland product record by id or URL.product_id, country, max_rotations
product/offersEvery offer on one Kaufland product: each seller's new and used/refurbished offer with price, shipping cost, total price, condition and seller note, delivery window and return period, which offer holds the buy box, the cheapest offer and cheapest new offer by total price, and refurbished alternatives. Cheaper than product/detail when only prices and sellers are needed.Catalog enrichment teams call product/offers to get every offer on one Kaufland product.product_id, country, max_rotations
product/reviewsCustomer reviews of one Kaufland product: star rating, title, text, date, verified purchase, product-test flag, which storefront it was written on with any translation, plus the product's average rating, total review count, per-star breakdown and Kaufland's AI summary of the reviews. Sort newest, oldest or by stars; page through all of them.Retail analysts call product/reviews to get customer reviews of one Kaufland product.product_id, country, page, page_size, sort, ...
search/suggestKaufland's own search-box suggestions for a partial keyword on the chosen storefront.Pricing teams call search/suggest to get kaufland's own search-box suggestions for a partial keyword on the chosen storefront..query, country, max_rotations
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/kaufland/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"kaffee"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.kaufland.search with {"query":"kaffee"}.
Use cases

Who uses this API and why

  • Brands and distributors monitor which marketplace sellers offer their EANs on Kaufland in Germany, Poland and Czechia, at what price and shipping cost, and whether Kaufland itself holds the buy box.
  • Repricing tools compare their offer's total price with the cheapest new offer and the buy box per product, per country.
  • Price-intelligence teams track real struck-price discounts separately from UVP 'discounts' and coupons.
  • Refurbished-electronics sellers watch used and refurbished offers by condition next to the new price.
  • Catalog teams pull EANs, the full specification table, images and variants to enrich their own product data.
FAQ

Questions developers ask before integrating

Is rrp (UVP) the price Kaufland charged before?

No. rrp is the manufacturer's recommended retail price (UVP), which Kaufland shows next to the price with a percentage - on one verified vacuum 74.99 EUR against a UVP of 99.99, shown as -25 %. That is not a former price. The storefront's own struck-through price is a different field and comes back as was_price with discount_percent (a Jacobs coffee pack: 111.89 struck from 114.95). The two are never merged.

Is the buy-box price the cheapest offer?

Not always, and not always new. On one verified iPhone the buy box was a new unit at 1,046.00 EUR while 23 used and refurbished offers started at 271.20; on another the buy box itself was a refurbished unit. product/detail and product/offers return every offer with its condition, shipping cost and total price, plus cheapest_offer, cheapest_new_offer and buy_box_is_cheapest_new, so you can compare like with like.

Why does the product page show a lower price than price?

Because a seller coupon is active. Kaufland's product page headlines the price after the coupon and shows the normal price as 'Preis ohne Gutschein' - on one verified coffee pack 13.94 EUR against 15.49 with a 10 % coupon. price stays the price without the coupon, voucher describes the coupon (discount, type, how many were issued and redeemed) and price_with_voucher is the headline figure, so you can store whichever your use case needs.

Are sponsored products in search results?

Not by default. Kaufland mixes paid products into its default order - 6 of 39 on a coffee search - and search leaves them out, reporting how many in sponsored_dropped. Send include_sponsored=true to get them back in place, flagged sponsored: true.

How do price filters work across currencies?

Send min_price and max_price in the storefront's normal currency units - euros, koruna or złoty. Verified live: a 10-15 EUR band on kaufland.de returned only products between 10.00 and 10.28 when sorted cheapest first, and a 50-80 PLN band on kaufland.pl returned 51.25 to 79.99.

How far can I page, and how big is a page?

40 products per page. Kaufland reports at most 10,000 results for a query (total_results_capped says when the cap is hit), which is 250 pages; a page past the end returns an empty list with a page_notice and has_more false. To go deeper, narrow the query with a category, a manufacturer, a price band or a minimum rating - each was checked to shrink the result set (a coffee search went from 10,000 to 515 with one manufacturer).

Does a nonsense search return random products?

Kaufland itself answers some meaningless keywords with loosely matched products (30 for one made-up word, 293 for another). search returns an empty list in that case and counts what it dropped in fallback_results_dropped; include_fallback_results=true returns those rows separately. Verified on 30 real German queries including misspellings: none was emptied, and misspellings like kafemaschine still return coffee machines.

Are all reviews available?

Yes. product/reviews pages through every review of a product - one verified vacuum has 982 - newest, oldest, highest or lowest rated first, with star rating, title, text, date, verified-purchase flag, the storefront it was written on and any translation, plus the per-star breakdown and Kaufland's own AI summary of the reviews. Reviewer names and ids are not returned.

What does Kaufland NOT publish here?

A seller rating (sellers come with name, company, return period and whether Kaufland itself sells, but no score), a stock count beyond low-stock figures (ordinary listings read a flat display ceiling, so stock_quantity is null unless the number is lower), Kaufland Card member prices for a logged-out shopper, and a price history. A product with no reviews returns rating null, never 0.

What is the Kaufland API?

Kaufland API is a ReefAPI endpoint group for kaufland marketplace in 5 countries: buy box, every seller's offer, uvp, ean and reviews. It returns live JSON through POST requests under /kaufland/v1.

Is the Kaufland API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Kaufland calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Kaufland login or account?

No login to Kaufland is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Kaufland data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Kaufland API use?

Kaufland actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

docs / kaufland

Kaufland

Kaufland marketplace in 5 countries: buy box, every seller's offer, UVP, EAN and reviews.

base /kaufland/v15 endpoints
post/kaufland/v1/product/detail2 credits

The full Kaufland product record by id or URL: title, brand, EAN, MPN, category and breadcrumb, buy-box price with shipping cost and total, UVP and the site's struck price kept apart, unit price, coupon, condition of the buy-box offer, seller with return period and whether it is Kaufland itself, delivery window and ships-from country, every other seller's new and used/refurbished offer with shipping and total price, the cheapest offer vs the buy box, rating with per-star breakdown, all images, description, the full specifications table and colour/size variants.

ParameterAllowed / rangeDescription
product_idrequiredKaufland product id as returned in `product_id` by `search` (434682098), or a full kaufland.* product URL (…/product/434682098/). Ids are shared across storefronts, prices are not.
country = deoptionalde · cz · sk · pl · atWhich Kaufland storefront to read. Currency follows the country: EUR for de, sk and at, CZK for cz, PLN for pl. A kaufland.* URL in product_id/category sets it automatically. Unknown values are rejected.
max_rotations = 4optional1–8Advanced: how many times to retry a difficult request (1-8, default 4 — leave unchanged for typical use).
Try in playground →
post/kaufland/v1/product/offers1 credit

Every offer on one Kaufland product: each seller's new and used/refurbished offer with price, shipping cost, total price, condition and seller note, delivery window and return period, which offer holds the buy box, the cheapest offer and cheapest new offer by total price, and refurbished alternatives. Cheaper than product/detail when only prices and sellers are needed.

ParameterAllowed / rangeDescription
product_idrequiredKaufland product id as returned in `product_id` by `search` (434682098), or a full kaufland.* product URL (…/product/434682098/). Ids are shared across storefronts, prices are not.
country = deoptionalde · cz · sk · pl · atWhich Kaufland storefront to read. Currency follows the country: EUR for de, sk and at, CZK for cz, PLN for pl. A kaufland.* URL in product_id/category sets it automatically. Unknown values are rejected.
max_rotations = 4optional1–8Advanced: how many times to retry a difficult request (1-8, default 4 — leave unchanged for typical use).
Try in playground →
post/kaufland/v1/product/reviews2 credits

Customer reviews of one Kaufland product: star rating, title, text, date, verified purchase, product-test flag, which storefront it was written on with any translation, plus the product's average rating, total review count, per-star breakdown and Kaufland's AI summary of the reviews. Sort newest, oldest or by stars; page through all of them.

ParameterAllowed / rangeDescription
product_idrequiredKaufland product id as returned in `product_id` by `search` (434682098), or a full kaufland.* product URL (…/product/434682098/). Ids are shared across storefronts, prices are not.
country = deoptionalde · cz · sk · pl · atWhich Kaufland storefront to read. Currency follows the country: EUR for de, sk and at, CZK for cz, PLN for pl. A kaufland.* URL in product_id/category sets it automatically. Unknown values are rejected.
page = 1optional1–1000Review page, 1-based.
page_size = 20optional1–100Reviews per page (1-100, default 20).
sort = newestoptionalnewest · oldest · rating_desc · rating_asc · site_defaultReview order.
max_rotations = 4optional1–8Advanced: how many times to retry a difficult request (1-8, default 4 — leave unchanged for typical use).
Try in playground →
post/kaufland/v1/search/suggest1 credit

Kaufland's own search-box suggestions for a partial keyword on the chosen storefront.

ParameterAllowed / rangeDescription
queryrequiredWhat the shopper has typed so far (at least 2 characters).
country = deoptionalde · cz · sk · pl · atWhich Kaufland storefront to read. Currency follows the country: EUR for de, sk and at, CZK for cz, PLN for pl. A kaufland.* URL in product_id/category sets it automatically. Unknown values are rejected.
max_rotations = 4optional1–8Advanced: how many times to retry a difficult request (1-8, default 4 — leave unchanged for typical use).
Try in playground →