The Kaufland marketplace in five countries, as one JSON API
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 active endpoints, on 1 and 2 credit tiers.
- POST/kaufland/v1/search
- POST/kaufland/v1/product/detail
- POST/kaufland/v1/product/offers
- POST/kaufland/v1/product/reviews
- POST/kaufland/v1/search/suggest
What Kaufland endpoints does ReefAPI ship?
5 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Kaufland API
3 of 5 endpoints, ready to run
40 products per page from one storefront: price, struck price and UVP as separate fields, condition, seller and whether Kaufland sells it, shipping, rating and EAN. Sponsored products left out unless asked for.
{ "ok": true, "meta": { "api": "kaufland", "endpoint": "search", "mode": "live", "latency_ms": 6315.8, "record_count": 34, "cache_hit": false }, "data": { "results": [ { "position": 3, "product_id": "483848694", "offer_id": "393001702273", "title": "Philips Kaffeevollautomat 5400 Series, 12 Kaffeespezialitäten, LatteGo Milchsystem, Touchdisplay, Schwarz (EP5447/90)", "brand": "Philips", "ean": "8710103938255", "url": "https://www.kaufland.de/product/483848694/", "image": "https://media.cdn.kaufland.de/product-images/1024x1024/fd8a9575b0b4a16bf22db3c4c9531171.jpg", "images": [ "https://media.cdn.kaufland.de/product-images/1024x1024/fd8a9575b0b4a16bf22db3c4c9531171.jpg", "https://media.cdn.kaufland.de/product-images/1024x1024/6d5cd70882e20b7f45a3f406277f4e7c.jpg" ], "sponsored": false, "price": 530.63, "currency": "EUR", "was_price": null, "discount_percent": null, "rrp": 749.99, "rrp_discount_percent": 29.2, "unit_price": null, "voucher": null, "price_with_voucher": null, "top_price": false, "condition": { "key": "new", "code": 100, "is_new": true, "seller_note": null }, "seller": { "id": "93201324", "name": "velmontask", "company_name": "TrendHousePoint sro", "is_kaufland": false }, "shipping_cost": 16, "delivery": { "min_workdays": 3, "max_workdays": 5, "earliest_date": "2026-09-19", "latest_date": "2026-09-23" }, "available": true, "sold_out": false, "rating": 4.85, "review_count": 60, "rating_scale": 5, "refurbished_offers_from_price": null, "category": { "id": "11171", "name": "Kaffeevollautomaten" }, "badges": [ "topseller" ] }, { "position": 4, "product_id": "477373979", "offer_id": "389446060750", "title": "Philips Series 2300 EP2339 Kaffeevollautomat, Espressomaschine, 1,8 l, Kaffeebohnen, Eingebautes Mahlwerk, 1500 W, Grau", "brand": "Philips", "ean": "8720389027628", "url": "https://www.kaufland.de/product/477373979/", "image": "https://media.cdn.kaufland.de/product-images/1024x1024/97d73b032c8a4878c7dd3339c96e80f4.jpg", "images": [ "https://media.cdn.kaufland.de/product-images/1024x1024/97d73b032c8a4878c7dd3339c96e80f4.jpg", "https://media.cdn.kaufland.de/product-images/1024x1024/5c89ac52217661699fdbbf01311b6022.jpg", "https://media.cdn.kaufland.de/product-images/1024x1024/cea31eb70932af29b402ef5daf1f48a7.jpg" ], "sponsored": false, "price": 374.07, "currency": "EUR", "was_price": null, "discount_percent": null, "rrp": null, "rrp_discount_percent": null, "unit_price": null, "voucher": null, "price_with_voucher": null, "top_price": false, "condition": { "key": "new", "code": 100, "is_new": true, "seller_note": null }, "seller": { "id": "31130463", "name": "expertDeutschland", "company_name": "expert e-Commerce GmbH", "is_kaufland": false }, "shipping_cost": 0, "delivery": { "min_workdays": 3, "max_workdays": 4, "earliest_date": "2026-09-19", "latest_date": "2026-09-22" }, "available": true, "sold_out": false, "rating": 4.74, "review_count": 57, "rating_scale": 5, "refurbished_offers_from_price": null, "category": { "id": "11171", "name": "Kaffeevollautomaten" }, "badges": [] }, { "position": 5, "product_id": "544871923", "offer_id": "390070766490", "title": "Yoer Kaffeevollautomat 20 bar 1350 W Automatisch mit Thermoblock + LED-Display", "brand": "Yoer", "ean": "5906846831707", "url": "https://www.kaufland.de/product/544871923/", "image": "https://media.cdn.kaufland.de/product-images/1024x1024/6862ce04db8f4b6c6298fa36c5d16f50.jpg", "images": [ "https://media.cdn.kaufland.de/product-images/1024x1024/6862ce04db8f4b6c6298fa36c5d16f50.jpg", "https://media.cdn.kaufland.de/product-images/1024x1024/9af073c0a1a56e23f765509ec61e299a.jpg", "https://media.cdn.kaufland.de/product-images/1024x1024/0eeb8e683a2fe5a23c12088c6d318581.jpg" ], "sponsored": false, "price": 300, "currency": "EUR", "was_price": null, "discount_percent": null, "rrp": null, "rrp_discount_percent": null, "unit_price": null, "voucher": null, "price_with_voucher": null, "top_price": false, "condition": { "key": "new", "code": 100, "is_new": true, "seller_note": null }, "seller": { "id": "53055936", "name": "QualiFind", "company_name": "TRACER TEAM sp. z.o.o.", "is_kaufland": false }, "shipping_cost": 0, "delivery": { "min_workdays": 1, "max_workdays": 3, "earliest_date": "2026-09-18", "latest_date": "2026-09-22" }, "available": true, "sold_out": false, "rating": 5, "review_count": 2, "rating_scale": 5, "refurbished_offers_from_price": null, "category": { "id": "11171", "name": "Kaffeevollautomaten" }, "badges": [] } ], "count": 34, "sponsored_dropped": 6, "sponsored_included": null, "unavailable_dropped": 0, "page": 1, "page_size": 40, "total_results": 6047, "total_results_capped": false, "total_pages": 152, "has_more": true, "page_notice": null, "query": "kaffeevollautomat", "category_id": null, "sort": "relevance", "country": "de", "currency": "EUR", "applied_filters": null, "keyword_matches_on_page": 32, "fallback_results_dropped": null, "fallback_total": null, "spelling_suggestion": null, "redirect_url": null } }
How the Kaufland API works
Kaufland is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 252 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Find a product, check who really has the best offer, then compare countries
The search row already carries the price and the seller. The offers call is where the buy box stops being the whole story.
{"query": "iphone 13", "country": "de", "sort": "price_asc"}40 products cheapest first. Each row says whether it is new, refurbished or used, which seller has it and whether Kaufland itself sells it. Take results[].product_id.
{"product_id": "404164875", "country": "de"}Every offer with condition, shipping and total price. On this phone the buy box was a new unit at 1,046.00 while the cheapest refurbished offer was 271.20 - cheapest_offer and cheapest_new_offer say so directly.
{"product_id": "404164875", "country": "pl"}The same id on the Polish storefront, in PLN, with its own sellers - or NOT_FOUND saying it is not listed there.
A shortlist, a true cheapest offer and a cross-border comparison, in three calls against one schema.
curl -X POST https://api.reefapi.com/kaufland/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"kaffee"}'{
"ok": true,
"data": { … },
"meta": {
"api": "kaufland",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}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.
| country | storefront | currency |
|---|---|---|
| de | kaufland.de (default) | EUR |
| cz | kaufland.cz | CZK |
| sk | kaufland.sk | EUR |
| pl | kaufland.pl | PLN |
| at | kaufland.at | EUR |
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.
Which country, which price, which offer, and what Kaufland does not publish
Five storefronts on one platform. Measured on 2026-09-15: 64 live checks across every storefront, 23 products in 9 top categories counted field by field, and 8 products compared against Kaufland's own product page. Some lines go against us.
country picks kaufland.de, .cz, .sk, .pl or .at, and the currency follows it - EUR, CZK or PLN. Product ids are the same across storefronts while prices, sellers and availability differ, so one id can be priced per country. A product or category URL sets the country from its host; a contradicting country is rejected. An id that Kaufland's catalogue knows but a storefront does not sell returns NOT_FOUND naming that storefront.
price is what the offer costs without any coupon. was_price is the storefront's own struck-through price with discount_percent. rrp is the manufacturer's recommended price (UVP) with its percentage - shown by Kaufland next to the price but not a former price. voucher is a seller coupon, never subtracted from price; because Kaufland's product page headlines the coupon price when one is active (a coffee pack: 13.94 on the page, 15.49 without the coupon), that figure comes back separately as price_with_voucher. A unit price per kilo or litre comes back as unit_price.
product/offers and product/detail list each seller's new and used or refurbished offer with price, shipping cost, total price, condition with the seller's own note, delivery window and return period, mark which offer holds the buy box, and name the cheapest offer and cheapest new offer by total price. The buy box can itself be a refurbished unit, and it can cost several times the cheapest used offer - both seen on verified phones.
A second extractor with no engine code read Kaufland's own product pages for 8 products: title, price, EAN and seller matched 8 of 8 - for a product with an active seller coupon the page's headline price matched price_with_voucher, the other seven matched price. Across 23 products in 9 top categories and all five storefronts, title, brand, EAN, price, buy box, offers, images, description, specifications and breadcrumb were filled 23 of 23.
Paid placements are left out of search by default and counted in sponsored_dropped (include_sponsored=true returns them flagged). When Kaufland answers a meaningless keyword with loosely matched products, the list comes back empty with fallback_results_dropped; on 30 real German queries including misspellings nothing was emptied.
Kaufland reports at most 10,000 results for a query, so one query reaches 250 pages. Narrow with category, brand_id, a price band, min_rating, deals_only or a storefront facet; each was checked to shrink the set. The price order follows Kaufland's search index while rows carry the live offer price, so a sorted page can show a handful of near-equal prices slightly out of order.
Sellers come with id, name, company name, return period and whether Kaufland itself sells - Kaufland does not publish a seller score to a logged-out shopper. Ordinary listings show a flat stock ceiling, so stock_quantity is null unless a lower figure is published. Kaufland Card member prices are not shown without an account. A product without reviews returns rating null, not 0.
Kaufland sends a few keywords to an editorial page instead of a result list - 'angebote' goes to its deals page. search then returns no rows with redirect_url and a note; deals_only=true with a keyword or category returns the deal products themselves.
What people build with Kaufland
The jobs this data is most often used for.
endpoints
credits per call
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.
What Kaufland data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 252 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/kaufland/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"kaffee"}'import requests
r = requests.post(
"https://api.reefapi.com/kaufland/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "kaffee"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Kaufland.
Get a free key →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.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Kaufland, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 251 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-15.