Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the ALDI SÜD (Germany) API page →
E-commerce & Marketplaces

ALDI SÜD (Germany) API & Scraper

ALDI SÜD is the discount supermarket chain of southern and western Germany.

6 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.

This API reads aldi-sued.de live and returns its prices as JSON. `search` takes a keyword, a category, an offer date or nothing at all (the whole online assortment, 3,516 products on 2026-10-18) and returns each product with its euro price, the unit price and what it is per (1 kg, 1 l, 100 Blatt), the struck-through price and saving on offers, the deposit, pack size, brand and the shelf badges. `offers` lists the current offer ranges: Wochenangebote and its fresh, own-brand and brand parts, Dauerhaft günstig, products under 1 euro and Neuheiten. `promotions` gives the dated Angebote ("ab Donnerstag, 15. Oktober") to pass to search. `product/detail` adds ingredients, allergens, nutrition per 100 g and storage. `stores` finds ALDI SÜD stores by town, postcode or coordinates; a store id narrows any listing to that store's range.

Reference

What an ALDI SÜD field actually contains

Fields that read differently from how they look, measured on live responses on 2026-10-18.

FieldWhat it holds
price, price_displayThe shelf price in euros as the product page prints it ("0,85 €"). It matched the product page on 14 of 14 products checked.
unit_price, unit_price_basisThe Grundpreis and what it is per: 0.85 with basis "1 l", 14.98 with "1 kg", 0.76 with "100 Blatt". The number is never rescaled; compare products only on the same basis. Null when ALDI SÜD prints none (fresh milk has none).
was_price, discount_percent, savings_displayOn offers: the struck-through price, the discount computed from the two prices and the saving ALDI SÜD prints ("21 %"). The printed and computed figures agreed within one point on 85 of 85 offer rows.
deposit, deposit_typeThe Pfand, separate from the price: 0.25 EINWEG on single-use bottles and cans (48 of 360 rows sampled), 6.00 on a 24-can advent calendar.
on_sale_dateThe day a dated offer (Aktion) starts in store. Future dates are announced offers, not stock.
assortment_scope, store_idnational when no store is given: the listing covers every region. With store_id it is that store's range. Prices are the same in every store (0 differences across München, Köln and Nürnberg); the range is not (bread 82 nationally, 70 in a München store).
badgesShelf badges as printed: Kühlung, Vegan, Aktion, Vegetarisch, Regional verfügbar, Tiefkühlung.
idALDI SÜD's 18-digit product id; keep the leading zeros. It is not an EAN: aldi-sued.de publishes no barcode.

A page can hold one or two products fewer than requested while more pages remain: ALDI SÜD sometimes counts products it does not list (one offer date: 84 counted, 82 listed). page_short marks such a page; keep paging by page number.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/aldi-de/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "milch",
    "limit": 12
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "aldi-de",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 694.2,
    "record_count": 12,
    "bytes": 21601,
    "cache_hit": false,
    "warnings": [
      "Unknown parameters ignored: include_pii"
    ],
    "upstream_requests": 1,
    "charged_credits": 2,
    "version": "1.0.0",
    "request_id": "b0b470bac9d14f0a",
    "fetched_at": "2026-10-18T17:44:56.367Z"
  },
  "data": {
    "products": [
      {
        "id": "000000000330654001",
        "title": "Frische Vollmilch 3,5 % 1 l",
        "brand": "MILSANI",
        "url": "https://www.aldi-sued.de/produkt/milsani-frische-vollmilch-3-5-1-l-000000000330654001",
        "price": 0.95,
        "price_display": "0,95 €",
        "currency": "EUR",
        "price_mismatch": false,
        "price_is_estimate": false,
        "estimated_weight": null,
        "was_price": null,
        "was_price_display": null,
        "discount_percent": null,
        "savings_display": null,
        "unit_price": null,
        "unit_price_display": null,
        "unit_price_basis": null,
        "pack_size": null,
        "deposit": null,
        "deposit_display": null,
        "deposit_type": null,
        "badges": [
          "Kühlung"
        ],
        "on_sale_date": null,
        "on_sale_date_display": null,
        "categories": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]"
          }
        ],
        "images": [
          "https://dm.emea.cms.aldi.cx/is/image/aldiprodeu/product/jpg/scaleWidth/1500/42d56fe5-f25c-47ec-a113-eae834b7f5b1/Frische%20Vollmilch%203%2C5%20%25%201%20l"
        ],
        "age_restriction": null,
        "alcohol": null,
        "weight_type": "0",
        "online_purchasable": false
      },
      {
        "id": "000000000000484957",
        "title": "Frische Bio-Vollmilch 3,8 % 1 l",
        "brand": "BIO",
        "url": "https://www.aldi-sued.de/produkt/bio-frische-bio-vollmilch-3-8-1-l-000000000000484957",
        "price": 1.35,
        "price_display": "1,35 €",
        "currency": "EUR",
        "price_mismatch": false,
        "price_is_estimate": false,
        "estimated_weight": null,
        "was_price": null,
        "was_price_display": null,
        "discount_percent": null,
        "savings_display": null,
        "unit_price": null,
        "unit_price_display": null,
        "unit_price_basis": null,
        "pack_size": null,
        "deposit": null,
        "deposit_display": null,
        "deposit_type": null,
        "badges": [
          "Kühlung"
        ],
        "on_sale_date": null,
        "on_sale_date_display": null,
        "categories": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]"
          }
        ],
        "images": [
          "https://dm.emea.cms.aldi.cx/is/image/aldiprodeu/product/jpg/scaleWidth/1500/d7934bb5-fa83-4dc5-a06f-748078213c3c/Frische%20Bio-Vollmilch%203%2C8%20%25%201%20l"
        ],
        "age_restriction": null,
        "alcohol": null,
        "weight_type": "0",
        "online_purchasable": false
      },
      {
        "id": "000000000000493388",
        "title": "Frische Bio-Vollmilch 3,8 % 1 l",
        "brand": "NUR NUR NATUR",
        "url": "https://www.aldi-sued.de/produkt/nur-nur-natur-frische-bio-vollmilch-3-8-1-l-000000000000493388",
        "price": 1.45,
        "price_display": "1,45 €",
        "currency": "EUR",
        "price_mismatch": false,
        "price_is_estimate": false,
        "estimated_weight": null,
        "was_price": null,
        "was_price_display": null,
        "discount_percent": null,
        "savings_display": null,
        "unit_price": null,
        "unit_price_display": null,
        "unit_price_basis": null,
        "pack_size": null,
        "deposit": null,
        "deposit_display": null,
        "deposit_type": null,
        "badges": [
          "Kühlung"
        ],
        "on_sale_date": null,
        "on_sale_date_display": null,
        "categories": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]"
          }
        ],
        "images": [
          "https://dm.emea.cms.aldi.cx/is/image/aldiprodeu/product/jpg/scaleWidth/1500/612b6846-49b7-4a44-aa07-5b0d00624580/Frische%20Bio-Vollmilch%203%2C8%20%25%201%20l"
        ],
        "age_restriction": null,
        "alcohol": null,
        "weight_type": "0",
        "online_purchasable": false
      }
    ],
    "total": 33,
    "offset": 0,
    "limit": 12,
    "page": 1,
    "last_page": 3,
    "has_more": true,
    "page_short": false,
    "facets": [
      {
        "name": "category-tree",
        "label": "Kategorie",
        "parameter": "categoryTree",
        "values": [
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          },
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          },
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]",
            "children": "[trimmed-depth]"
          }
        ]
      },
      {
        "name": "Themenfilter",
        "label": "Thema",
        "parameter": "theme",
        "values": [
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          },
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          }
        ]
      },
      {
        "name": "brand-name",
        "label": "Marken",
        "parameter": "brandName",
        "values": [
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          },
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          },
          {
            "key": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "count": "[trimmed-depth]"
          }
        ]
      }
    ],
    "spelling_suggestion": null,
    "keyword_redirect": null,
    "assortment_scope": "national",
    "store_id": null,
    "store_defaulted": false
  }
}
Actions

What the ALDI SÜD (Germany) API does

ActionDescriptionConcrete use caseKey params
searchSearch products, browse a category, read a dated offer (Angebote) or page the whole online assortment; optionally one store's range.Pricing teams call search to search products, browse a category, read a dated offer (Angebote) or page the whole online as….query, categoryKey, promotionKey, url, brandName, ...
offersList a current offer range Wochenangebote / Frischeprodukte im Angebot / Eigenmarken im Angebot / Markenprodukte im Angebot / Dauerhaft günstig / Produkte unter 1 € / Neuheiten.Marketplace operators call offers to list a current offer range Wochenangebote / Frischeprodukte im Angebot / Eigenmarken im Angeb….type, brandName, categoryTree, theme, store_id, ...
promotionsList current and upcoming offer dates (Angebote ab...) and their themes.Catalog enrichment teams call promotions to list current and upcoming offer dates (Angebote ab...) and their themes..none
product/detailRead one product: prices, description and label.Retail analysts call product/detail to read one product.id
categoriesGet the live category tree with the offer ranges marked.Pricing teams call categories to get the live category tree with the offer ranges marked..none
storesFind ALDI SÜD stores by town, postcode or coordinates (store ids for search).Marketplace operators call stores to find ALDI SÜD stores by town, postcode or coordinates (store ids for search)..query, latitude, longitude, page, limit
Code samples

Call search from your stack

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

Who uses this API and why

  • Track ALDI SÜD's weekly offers and old-versus-new prices for a deals app or newsletter.
  • Compare German discounter prices per kilo or litre using the published Grundpreis.
  • Monitor price changes across the whole ALDI SÜD online assortment with a daily sweep.
  • Build a nutrition or allergen filter on ALDI SÜD products from the label data.
  • Show which ALDI SÜD store near a user carries a product, using the store finder and store_id.
FAQ

Questions developers ask before integrating

Does ALDI SÜD have a public API?

No public one. This API reads what aldi-sued.de shows a logged-out visitor and returns it as JSON. No account is needed.

Does it cover ALDI Nord?

No. ALDI Nord (aldi-nord.de) is a separate company with its own website. This API covers ALDI SÜD; our hofer API covers ALDI SÜD's Austrian stores.

Are the prices the same in every store?

Yes, in our measurements: three stores in München, Köln and Nürnberg priced every common product identically. Which products a store carries differs, so pass store_id to see one store's range.

How do I get this week's offers?

Call offers (type weekly, or weekly_fresh, weekly_own_brands, weekly_brands). For the dated Angebote, call promotions and pass a date to search as promotionKey; add theme to narrow it.

Is the Grundpreis included?

Yes, as unit_price with unit_price_basis, exactly as ALDI SÜD prints it. 377 of 407 sampled rows had one.

Can I get EAN barcodes?

No. aldi-sued.de does not publish them on its product pages or in its product data; products carry ALDI SÜD's own 18-digit id.

Can I see store stock?

No. ALDI SÜD publishes no store stock for the products we tried, so the API does not offer it.

How fresh is the data?

Every call reads aldi-sued.de live; nothing is cached.

What is the ALDI SÜD (Germany) API?

ALDI SÜD (Germany) API is a ReefAPI endpoint group for aldi süd germany prices as json: weekly offers (angebote), unit prices (grundpreis), deposit, labels and the store finder. It returns live JSON through POST requests under /aldi-de/v1.

Is the ALDI SÜD (Germany) API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. ALDI SÜD (Germany) calls use the same shared credit balance as every other ReefAPI engine.

Do I need an ALDI SÜD (Germany) login or account?

No login to ALDI SÜD (Germany) 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 ALDI SÜD (Germany) 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 ALDI SÜD (Germany) API use?

ALDI SÜD (Germany) actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call ALDI SÜD (Germany) from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call aldi-de actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / aldi-de

ALDI SÜD (Germany)

ALDI SÜD Germany prices as JSON: weekly offers (Angebote), unit prices (Grundpreis), deposit, labels and the store finder.

base /aldi-de/v16 endpoints
post/aldi-de/v1/offers3 credits

List a current offer range Wochenangebote / Frischeprodukte im Angebot / Eigenmarken im Angebot / Markenprodukte im Angebot / Dauerhaft günstig / Produkte unter 1 € / Neuheiten.

ParameterAllowed / rangeDescription
type = weeklyoptionalweekly · weekly_fresh · weekly_own_brands · weekly_brands · permanent_low · under_1_eur · newOffer range, resolved by name from the live category tree.
brandNameoptional—Exact brand values from facets; several values use OR.
categoryTreeoptional—Category facet keys from the current search response.
themeoptional—Exact theme keys from promotions or facets, sent unmodified.
store_idoptional—Optional ALDI SÜD store id from the stores action. Narrows the listing to that store's range (prices are national and do not change). Unknown ids return INVALID_PARAM.
sort = relevanceoptionalrelevance · name_asc · name_desc · price_asc · price_descOrdering. Use price_asc for complete sweeps; an unknown sort is rejected because the source would silently ignore it.
page = 1optional1–1000One-based page. A page past the end returns INVALID_PARAM.
limit = 30optional12 · 16 · 24 · 30 · 32 · 48 · 60Page size; the source accepts only these values.
Try in playground →
post/aldi-de/v1/promotions1 credit

List current and upcoming offer dates (Angebote ab...) and their themes.

Try in playground →
post/aldi-de/v1/product/detail1 credit

Read one product: prices, description and label.

ParameterAllowed / rangeDescription
idrequired—18-digit product id from search (keep the leading zeros) or a https://www.aldi-sued.de/produkt/... URL. A retailer id, not an EAN.
Try in playground →
post/aldi-de/v1/categories2 credits

Get the live category tree with the offer ranges marked.

Try in playground →
post/aldi-de/v1/stores1 credit

Find ALDI SÜD stores by town, postcode or coordinates (store ids for search).

ParameterAllowed / rangeDescription
queryoptional—Town, postcode or street for the store finder. Use query OR latitude+longitude.
latitudeoptional-90–90Latitude; requires longitude. Results then carry a distance.
longitudeoptional-180–180Longitude; requires latitude.
page = 1optional1–200One-based page.
limit = 10optional1–50Stores per page (1-50).
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.