Unofficial Lidl Plus API client
Project description
iLidl
Unofficial Python client and CLI for the Lidl Plus API. Fetch receipts, parse item details, and manage coupons.
Installation
pip install ilidl
# Or with uv
uv add ilidl
# With auth support (requires Playwright for login)
pip install "ilidl[auth]"
playwright install chromium
Authentication
ilidl login
Launches a headless browser to complete the Lidl Plus OAuth flow. You'll be prompted for your phone number and a verification code. A refresh token is saved to ~/.config/ilidl/config.toml for future use.
CLI Usage
# Receipts
ilidl receipt latest # Most recent receipt
ilidl receipt latest --json # As JSON
ilidl receipt <id> # Specific receipt
ilidl receipts # List all receipts
ilidl receipts --from 2026-03-01 # Filter by date
ilidl receipts --to 2026-03-18
# Coupons
ilidl coupons list # List available coupons
ilidl coupons activate <id> # Activate a coupon
ilidl coupons activate --all # Activate all coupons
ilidl coupons deactivate <id> # Deactivate a coupon
All commands support --json for machine-readable output.
Library Usage
from ilidl import LidlClient
client = LidlClient(refresh_token="...", country="GB", language="en")
# Get latest receipt with parsed items
receipt = client.latest_receipt()
for item in receipt.items:
print(f"{item.name}: {item.price}")
# List coupons
for coupon in client.coupons():
print(f"{coupon.title} (active: {coupon.is_activated})")
Configuration
Stored at ~/.config/ilidl/config.toml:
[auth]
refresh_token = "..."
[account]
language = "en"
country = "GB"
Notes
- UK receipts are returned as HTML by the API and parsed into structured items using
data-*attributes. - The
App-Versionheader must be a realistic value (currently16.45.5). The API rejects fake versions. - API v2 is used for receipt lists, v3 for receipt detail.
- This project replaces the upstream
lidl-pluslibrary which is broken on modern Python.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ilidl-0.1.0.tar.gz.
File metadata
- Download URL: ilidl-0.1.0.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea917c5d44052f8b4de52ba7da0bf54ef31a9c4a1576bb8beb0b064a15d1e6e8
|
|
| MD5 |
53205ab4a60cb362aa59829100d2683f
|
|
| BLAKE2b-256 |
eb0b907b9a6a0c61c17828465deb53f7f53288b28978c7896fe5fb405e4e18fe
|
Provenance
The following attestation bundles were made for ilidl-0.1.0.tar.gz:
Publisher:
publish.yml on RoryDotGG/iLidl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ilidl-0.1.0.tar.gz -
Subject digest:
ea917c5d44052f8b4de52ba7da0bf54ef31a9c4a1576bb8beb0b064a15d1e6e8 - Sigstore transparency entry: 1134287345
- Sigstore integration time:
-
Permalink:
RoryDotGG/iLidl@21be398ec08f4482c99591703d8267db8c60149b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/RoryDotGG
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21be398ec08f4482c99591703d8267db8c60149b -
Trigger Event:
push
-
Statement type:
File details
Details for the file ilidl-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ilidl-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ed7c24862021579be26292d8532c32766d91f40a005c9c8021b01052f01863a
|
|
| MD5 |
cf08c5cd5bcfb700ce8c66e99e3e0000
|
|
| BLAKE2b-256 |
24be151026538c76e7cfb4f2d174b22ff78ba6aa13ed34d6a7623c0ed35eb186
|
Provenance
The following attestation bundles were made for ilidl-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on RoryDotGG/iLidl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ilidl-0.1.0-py3-none-any.whl -
Subject digest:
0ed7c24862021579be26292d8532c32766d91f40a005c9c8021b01052f01863a - Sigstore transparency entry: 1134287381
- Sigstore integration time:
-
Permalink:
RoryDotGG/iLidl@21be398ec08f4482c99591703d8267db8c60149b -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/RoryDotGG
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21be398ec08f4482c99591703d8267db8c60149b -
Trigger Event:
push
-
Statement type: