Skip to main content

Implementation of the Lidl Plus mobile app api in Python.

Project description

lidlplus-api

A Python wrapper for the Lidl Plus app API.

This project is a fork of: https://github.com/Andre0512/lidl-plus


Requirements

  • Python 3.12+
  • Playwright (plus its required system dependencies)

Installation

  1. a) Install the package:

    pip install lidlplus-api[auth]
    

    b)

    If you use an OS/Distro that doesn't support playwright, and you want to use this with the refresh token, install:

    pip install lidlplus-api
    
  2. Install Playwright browsers:

    playwright install chromium
    
  3. Install system dependencies required by Playwright (varies by OS).


Quick start

from lidlplus_api import LidlPlusApi

lidl = LidlPlusApi(
    language="YOUR_LANGUAGE_CODE",
    country="YOUR_COUNTRY_CODE",
    # optional:
    refresh_token="YOUR_REFRESH_TOKEN",
)

lidl.login(email="YOUR_EMAIL", password="YOUR_PASSWORD")

Usage

  1. Import lidlplus_api in your project
  2. Use the LidlPlusApi methods below

API reference

Create client

  • Constructor

    lidl = LidlPlusApi(
        language="YOUR_LANGUAGE_CODE",
        country="YOUR_COUNTRY_CODE",
        refresh_token="YOUR_REFRESH_TOKEN",  # optional
    )
    

    Initializes the LidlPlusApi client.


Authentication

  • Login (Playwright)

    lidl.login(email="YOUR_EMAIL", password="YOUR_PASSWORD")
    

    Logs in to your Lidl Plus account using Playwright.


Receipts

  • List receipts (paged, 25 per page)

    lidl.receipts(only_favourite=False, pageNumber=1)
    
  • Get a specific receipt

    lidl.receipt(ticket_id)
    

    ticket_id comes from lidl.receipts() (id field).


Coupons

  • List coupons for a store

    lidl.coupons(store_id)
    

    store_id comes from lidl.get_stores().

  • Activate a coupon

    lidl.activate_coupon(coupon_id)
    
  • Deactivate a coupon

    lidl.deactivate_coupon(coupon_id)
    

    coupon_id comes from lidl.coupons().


Coupon Plus (experimental)

  • Start Coupon Plus

    lidl.start_couponplus()
    

    EXPERIMENTAL — probably doesn’t work.

  • Coupon Plus status/info

    lidl.couponplus(store_id)
    

    DOESN’T WORK — fetches info for the current month’s Coupon Plus (store from lidl.get_stores()).


Scratch card / Fortune wheel (purchaseLottery)

  • Promotion details

    lidl.purchaseLottery_details(coupon_id)
    
  • Redeem promotion

    lidl.redeem_purchaseLottery(coupon_id)
    
  • Promotion status

    lidl.purchaseLottery_status(coupon_id)
    

    coupon_id comes from: lidl.home(store_id)["purchaseLottery"][0]["id"]


Loyalty

  • Get loyalty id

    lidl.loyalty_id
    
  • Generate loyalty QR code

    lidl.generate_loyalty_id()
    

Stores / Offers / Brochures

  • List stores

    lidl.get_stores()
    
  • Offers for a store

    lidl.offers(store_id)
    
  • Brochures for a store

    lidl.brochures(store_id)
    

Translations

  • Get translation keys

    lidl.translations()
    

Misc

  • Active coupons count

    lidl.activecoupons_count(store_id)
    
  • Home page data

    lidl.home(store_id)
    
  • Today’s store schedule

    lidl.store_schedule(store_id)
    
  • Store details

    lidl.store_details(store_id)
    

Legal Notice

This application is an open source project written in Python, which uses the API of the Lidl Plus application, owned by Lidl Stiftung & Co. KG. The application was created solely for educational purposes and is not affiliated with Lidl Stiftung & Co. KG. The creator of the application is not affiliated with Lidl Stiftung & Co. KG. in any way and does not derive any financial benefits from this project. All trademarks, trade names, and logos are the property of their respective owners. Users use the application at their own risk.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lidlplus_api-0.0.4.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lidlplus_api-0.0.4-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file lidlplus_api-0.0.4.tar.gz.

File metadata

  • Download URL: lidlplus_api-0.0.4.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lidlplus_api-0.0.4.tar.gz
Algorithm Hash digest
SHA256 87318a1bfcf6e2d04358799de4961838a9855abd2bbbf5921d5c9ce1a443ed46
MD5 fd59792bd4a009762e3c98b8368e1a09
BLAKE2b-256 f8149ef30f2af74578047f733ddacb0f3975ba9d91c1915b1f9c34fa1dc33ee5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidlplus_api-0.0.4.tar.gz:

Publisher: publish.yml on zsobix/lidlplus-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lidlplus_api-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: lidlplus_api-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lidlplus_api-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 29137b0bcdc84c91d060bf871f49772fa0800cb0542c3a05297603f95dd5ccb8
MD5 c05c9aeff2a3e202e98348851f7f0caf
BLAKE2b-256 4f748add06d85469a5bc275d70bd69521a0549b32efade97d1bd72804a59fba7

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidlplus_api-0.0.4-py3-none-any.whl:

Publisher: publish.yml on zsobix/lidlplus-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page