Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aldiscount

This repository implements the publicly accessible (unauthenticated) API endpoints used by the ALDI SÜD website for querying current offers, products, categories and stores.

This is a Go library. There are no dependencies, so you can easily compile it yourself. Python bindings are possible if there is interest.

quick start

Use the library: go get github.com/ByteSizedMarius/aldiscount

import aldi "github.com/ByteSizedMarius/aldiscount/pkg"

ctx := context.Background()

promos, err := aldi.New().CurrentOffers(ctx)
if err != nil {
    return err
}

for _, p := range promos {
    fmt.Println(p)                 // 14.08.2026 - 15.08.2026: 103 articles
    for _, prod := range p.Products {
        fmt.Println(" ", prod)     // EHRMANN Grand Dessert 190 g - 0,49 EUR (2,58 EUR/1 kg)
    }
}

Or install the CLI:

  • Install via Go: go install github.com/ByteSizedMarius/aldiscount/cmd/aldiscount@latest
  • Or clone and build: go build -o aldiscount ./cmd/aldiscount

Example: Offers for a single day:

$ aldiscount offers -date 2026-08-14

BBQ Marinierte Hähnchensteaks 550 g - 4,99 EUR (statt 6,29 EUR) [Frischekracher]
MILSANI Emmentaler am Stück 400 g - 2,79 EUR (statt 3,49 EUR) [Gekühlte Produkte]
CUCINA NOBILE Geriebener Hartkäse 250 g - 3,49 EUR (13,96 EUR/1 kg) [Vorräte]
...

intro

aldi-sued.de is a single-page app that talks to a JSON API, and this library talks to the same one.

Offers start on several days throughout the week, so they are keyed by their start day. Nothing lists which days carry offers, so a date range is swept. The library picks that range automatically and drops days that have already expired.

ALDI only publishes a start date. Promotion.ValidUntil fills in the end, since every offer runs through the Saturday of its week.

disclaimer

This project is not affiliated with, endorsed by, or sponsored by ALDI. "ALDI" is a registered trademark of its respective owner.

This is an unofficial client based on publicly observable network traffic from the ALDI SÜD website. It is provided for educational and research purposes. The underlying API is undocumented and may change or break at any time without notice.

Every call this library makes is a GET, so nothing here can change state at ALDI. Use of this software is at your own risk. Users are responsible for ensuring their usage complies with applicable terms of service.

Important

The API is rate-sensitive. The client paces its requests and retries dropped ones.

contents

  • The go implementation is in the pkg directory.
  • The source code of the cli is in cmd.

cli

aldiscount: console client for the ALDI SÜD product API

Usage:
  aldiscount <command> [flags]

Commands:
  dates       list days that have offers
  offers      list offer articles for one day or a window
  themes      list the offer themes of one day, with counts
  search      free-text search of all articles
  categories  print the category tree
  stores      list stores, or those near a point

Global flags:
  -json       print raw json instead of text
  -store      service point id to scope to (default: a fallback store)

dates:
  -from, -to  window as YYYY-MM-DD (default: the current and coming week)

offers:
  -date       a single day as YYYY-MM-DD
  -from, -to  a window instead, same default as dates
  -no-themes  skip theme tagging, much faster at one request per day

themes:
  -date       a single day as YYYY-MM-DD

search:
  -q          search term

stores:
  -lat, -lon  centre point
  -radius     km around it (default 10)

Examples:
  aldiscount dates
  aldiscount offers -date 2026-08-14
  aldiscount themes -date 2026-08-14
  aldiscount search -q kaffee
  aldiscount stores -lat 49.48 -lon 8.47 -radius 25

contributing

Feel free to open github issues for suggestions, questions, bugs. PRs welcome.

About

Unofficial Go client and CLI for the ALDI SÜD API: weekly offers and discounts (Angebote), products, prices, stores. No auth, no dependencies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages