Kaufland APIkaufland.de ↗
Access current Kaufland Germany promotional offers and store locations. Retrieve discounted products with pricing, discount %, validity dates, and nearby stores.
What is the Kaufland API?
The Kaufland.de API provides 3 endpoints covering current promotional product offers and store location data from Kaufland Germany. The get_offers endpoint returns the full weekly deals catalog including each product's price, old price, discount percentage, and validity period. The search_products endpoint filters that catalog by keyword across name, subtitle, description, and category fields. The get_stores endpoint returns nearby store addresses, coordinates, and opening hours.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e55f8db6-78ff-4b7c-ab09-dcea5a2e8b37/get_offers' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace kaufland-de-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Kaufland Germany API — browse weekly offers, search by keyword, find nearby stores."""
from parse_apis.kaufland_germany_api import Kaufland, InvalidQuery
client = Kaufland()
# List current promotional offers — limit caps total items fetched.
for offer in client.offers.list(limit=5):
print(offer.name, offer.price, f"{offer.discount_percent}% off")
# Search offers by keyword, take the first match and inspect details.
result = client.offers.search(query="Milch", limit=1).first()
if result:
print(result.name, result.subtitle, result.category, result.valid_to)
# Find nearby stores with opening hours.
store = client.stores.list(limit=1).first()
if store:
print(store.name, store.street, store.city, store.zip)
print(store.opening_hours)
# Typed error handling for invalid search input.
try:
client.offers.search(query="", limit=1).first()
except InvalidQuery as exc:
print(f"Invalid query: {exc}")
print("exercised: offers.list / offers.search / stores.list / InvalidQuery")
Retrieve all currently available promotional products from Kaufland Germany. Returns the complete set of discounted items across all promotional categories with pricing, discount percentages, validity dates, and product details. The offers rotate weekly; items include food, beverages, household goods, and personal care products.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer count of promotional products currently available",
"products": "array of product objects each containing id, kl_nr, name, subtitle, category, price, formatted_price, old_price, discount_percent, valid_from, valid_to, unit, base_price, image, and description"
},
"sample": {
"data": {
"total": 41,
"products": [
{
"id": "ART.345066_KAV.3468370",
"name": "Span./ital. Wassermelone, lose",
"unit": "je kg",
"image": "https://kaufland.media.schwarz/is/image/schwarz/01125666FR",
"kl_nr": "00398339",
"price": 0.99,
"category": "Unsere Knüller",
"subtitle": null,
"valid_to": "2026-06-10",
"old_price": "1.99",
"base_price": null,
"valid_from": "2026-06-04",
"description": "Kl. I",
"formatted_price": "0.99",
"discount_percent": 50
}
]
},
"status": "success"
}
}About the Kaufland API
Promotional Offers
The get_offers endpoint returns the complete set of currently active promotional products across all Kaufland Germany categories. Each product object includes id, kl_nr, name, subtitle, category, price, formatted_price, old_price, and discount_percent, along with validity dates marking when the offer starts and ends. Kaufland rotates its promotional catalog weekly, so the dataset reflects the current week's active deals covering food, beverages, household goods, and more.
Keyword Search
The search_products endpoint accepts a required query string and filters the current week's promotional products against name, subtitle, description, and category fields using case-insensitive matching. The response includes a note field confirming the search scope (current week only), a total count, and a products array with the same field structure as get_offers. This is useful when you need to surface specific product types — for example, searching "Joghurt" or "Waschmittel" against the live deals.
Store Locations
The get_stores endpoint resolves nearby Kaufland store locations based on the requesting IP's geolocation. Each store object includes id, name, city, zip, street, friendly_url, lat, lng, and a structured opening_hours object covering the full week. The total field in the response indicates how many stores were returned. No query parameters are required; proximity is determined automatically.
The Kaufland API is a managed, monitored endpoint for kaufland.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kaufland.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official kaufland.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display current Kaufland weekly deals with discount percentages and validity dates in a grocery savings app.
- Alert users when a searched product keyword (e.g. 'Butter', 'Käse') appears in the current week's promotional offers.
- Build a store finder widget showing the nearest Kaufland locations with addresses and opening hours.
- Aggregate discount data across German supermarkets by ingesting Kaufland's
discount_percentandold_pricefields alongside other chains. - Track weekly offer rotation by comparing
get_offersresponses across consecutive weeks to identify new or removed products. - Power a price comparison tool showing
pricevsold_pricefor promoted Kaufland items by category.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Kaufland provide an official public developer API?+
What does `get_stores` return, and can I search by city or zip code?+
get_stores endpoint returns stores near the requesting IP's geolocation and includes city, zip, street, lat, lng, and weekly opening_hours per store. It does not currently accept a city name or zip code as an input parameter. The API covers IP-based proximity lookup. You can fork it on Parse and revise to add a location query parameter if you need explicit address-based filtering.How current are the promotional offers, and do they include historical data?+
get_offers and search_products endpoints reflect the current week's active promotions. Kaufland rotates its offers on a weekly cycle, so the dataset changes when a new promotional period begins. Historical offer data from previous weeks is not exposed. You can fork the API on Parse and revise it to add a data-logging layer if you need week-over-week history.Are product reviews or ratings included in the offers data?+
get_offers and search_products cover pricing (price, old_price, formatted_price), discount_percent, validity dates, name, subtitle, and category. Review and rating data is not currently covered. You can fork the API on Parse and revise it to add a product reviews endpoint.