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.5.tar.gz (21.4 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.5-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lidlplus_api-0.0.5.tar.gz
  • Upload date:
  • Size: 21.4 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.5.tar.gz
Algorithm Hash digest
SHA256 48e9e26971334a030cba891925c3658c58ca407011f3755461e452c334fea884
MD5 d475d5249723c491bbc55a5eaf3ef7d4
BLAKE2b-256 d01c446dedf337af532fc32e30c065cee07f614315c8331345be0a03171083c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidlplus_api-0.0.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: lidlplus_api-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 20.0 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d0cc5fb2fc88926ff8d1de8ce6953fe647e6049a1818643edcac8935f35ea9e9
MD5 550db24af5ca3037a29016c6ce168c0e
BLAKE2b-256 bb9b70d3f42c7ae99a147cb909cc30df4ce62a74528a0558965b93df5983e4ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidlplus_api-0.0.5-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