Allianz BonusDrive Client
API Client to query your BonusDrive data.
BonusDrive is a vehicle telematics application used by Allianz Germany to track driving behavior and routes. The code probably works similarily for every customer of IMS Driving Change (such as ADAC, Zurich, Aviva, etc., ), but you'll have to find that out for yourself.
The project is still in development.
Features
- Authentication: Log in with your credentials.
- Latest Trip Query: Retrieve information about your most recent trip.
- Badges: Get your recent badges, either daily or monthly
- Scores: Get more detailed scores per trip (overall and subscores)
- Trip details: All the info you can get about your latest trip, including scores, map geometry, distance, speed, ...
- Photon lookup: Specify the URL to a Photon database to get a lookup on your start and end address
- ... more soonTM, probably
Getting Started
You can use this either as a stand-alone cli client or as a library for use in other programs.
Library
Either get the latest from git:
pip install git+https://github.com/xathon/Allianz-Bonusdrive-Client.git
Or use PyPI:
pip install allianz-bonusdrive-client
As a library, you can just do:
from allianz_bonusdrive_client import BonusdriveAPIClient
base_url = "https://example.com" # Replace with the actual base URL
email = "user@example.com" # Replace with the user's email
password = "securepassword" # Replace with the user's password. Optional if TGT is provided.
tgt = None # Optional: Provide a TGT if available
# Create an instance of the client
client = BonusdriveAPIClient(base_url, email, password, tgt)
# Authenticate the client
client.authenticate()
# do whatever you want
CLI
From PyPI:
pip install allianz-bonusdrive-client[cli]
Then you can run the client:
$ python3 -m allianz_bonusdrive_client.cli -h
usage: Allianz BonusDrive Client [-h] [--geo-lookup] [--raw] [-v] {last-trip,badges-daily,badges-monthly,scores,details,trips}
On first start, the client should ask you for your BonusDrive email (use the one you tracked the trips with, that's not necessarily the same as the car owner's account!) and password. It then requests a TGT and stores it in .env, it will be used in the future. Alternatively, provide a TGT by setting the environment variable.
Disclaimers
- This project pretends to be the BonusDrive app, using HTTP headers. This a) may break at any point and b) is very much not intended behavior and might be against ToS, no idea. Try to keep your API requests low. I'm not responsible if anything happens to your account, insurance contract, Club Penguin membership, yada yada.
- I haven't yet found out how long a TGT is valid, or if it expires at any point. STs are invalidated after each use (successful or not), good job!
- LLMs have been involved in creating and debugging this program. I mostly know what I'm doing, so that should be fine? See above for my responsibilities.
- This program, unfortunately, is written in Python. The only reason for this is because I want to integrate it into Home Assistant/HACS at some point. Once this is complete. Probably. (Update: done!)
License
This project is licensed under the MIT License.
Release files for allianz-bonusdrive-client 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| allianz_bonusdrive_client-0.7.0.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| allianz_bonusdrive_client-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.8 kB
Release files / allianz_bonusdrive_client-0.7.0.tar.gz
| Download URL | allianz_bonusdrive_client-0.7.0.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cec66b9000743633cc372fb27a7aaba9dea2829e95933000ecc39bd09d74ddcc
|
|
BLAKE2b-256 checksum How to use checksums |
a57d54eb2915f4823e95f035669ec6f447070ed242e4d254df1ba19956ca1055
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 5, 2026.
Transparency logRelease files / allianz_bonusdrive_client-0.7.0-py3-none-any.whl
| Download URL | allianz_bonusdrive_client-0.7.0-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
80323bd37338ce1c282fac5df828c2162cb5294464b50cff749cea0f6be09e37
|
|
BLAKE2b-256 checksum How to use checksums |
113b401e84f6de4ecb931613f24af4744f7527b39bf06f9c006026193d44c423
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 5, 2026.
Transparency log