Skip to main content

Fetch receipts and more from Lidl Plus

Project description

This python package is unofficial and is not related in any way to Lidl. It was developed by reversed engineered requests and can stop working at anytime!

Python Lidl Plus API

GitHub Workflow Status PyPI PyPI - Downloads

Fetch receipts and more from Lidl Plus.

Installation

pip install lidl-plus

Authentication

To login in Lidl Plus we need to simulate the app login. This is a bit complicated, we need a web browser and some additional python packages. After we have received the token once, we can use it for further requestes and we don't need a browser anymore.

Prerequisites

  • Check you have installed one of the supported web browser
    • Chromium
    • Google Chrome
    • Mozilla Firefox
  • Install additional python packages
    pip install "lidl-plus[auth]"
    

Commandline-Tool

$ lidl-plus auth
Enter your language (DE, EN, ...): DE
Enter your country (de, at, ...): de
Enter your lidl plus username (phone number): +4915784632296
Enter your lidl plus password:
Enter the verify code you received via phone: 590287
------------------------- refresh token ------------------------
2D4FC2A699AC703CAB8D017012658234917651203746021A4AA3F735C8A53B7F
----------------------------------------------------------------

Python

from lidlplus import LidlPlusApi

lidl = LidlPlusApi(language="DE", country="de")
lidl.login(phone="+4915784632296", password="password", verify_token_func=lambda: input("Insert code: "))
print(lidl.refresh_token)

Usage

Currently, the only feature is fetching receipts

Receipts

Get your receipts as json and receive a list of bought items like:

{
    "currentUnitPrice": "2,19",
    "quantity": "1",
    "isWeight": false,
    "originalAmount": "2,19",
    "extendedAmount": "1,98",
    "description": "Vegane Frikadellen",
    "taxGroup": "1",
    "taxGroupName": "A",
    "codeInput": "4023456245134",
    "discounts": [
        {
            "description": "5€ Coupon",
            "amount": "0,21"
        }
    ],
    "deposit": null,
    "giftSerialNumber": null
},

Commandline-Tool

$ lidl-plus --country=de --language=DE --refresh-token=XXXXX receipt --all > data.json

Python

from lidlplus import LidlPlusApi

lidl = LidlPlusApi("DE", "de", refresh_token="XXXXXXXXXX")
for receipt in lidl.tickets():
    pprint(lidl.ticket(receipt["id"]))

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

lidl-plus-0.2.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

lidl_plus-0.2.1-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file lidl-plus-0.2.1.tar.gz.

File metadata

  • Download URL: lidl-plus-0.2.1.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for lidl-plus-0.2.1.tar.gz
Algorithm Hash digest
SHA256 dda76e99ebbbdb87d7921c31c04f9ddef1963ee48da8a3481a7fc236c523a2e1
MD5 9662cb7e97740c3912330571a9c911b9
BLAKE2b-256 aa988085bb3ced786bc8891637c564df40d2b247bb8377035c01c82cd0f0edfc

See more details on using hashes here.

File details

Details for the file lidl_plus-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: lidl_plus-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for lidl_plus-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ebcfbde3f1fe823dc75bad757af99a4f1f08e50f9582063269aab0def4b5b29f
MD5 57cea8d4a02790bf8ece08ac7da580a6
BLAKE2b-256 88707eac412e5b610b1153c0caceac02019b4b8e103a8d059915bf0e544ad749

See more details on using hashes here.

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