PyCupra
A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app.
Fork of https://github.com/Farfar/seatconnect which in turn is a fork of: Fork of https://github.com/lendy007/skodaconnect which in turn is a fork of: https://github.com/robinostlund/volkswagencarnet
!!! Important information !!!
Due to the API changes on June 8th 2026, PyCupra is blocked by most of the API endpoints, because it is lacking an appcheck_token, that it cannot generate itself. The pycupra package catches the http-403 error and raises an exception.
As long as that happens, you cannot use the pycupra package.
What's the main functionality of PyCupra?
Retrieve information about your Cupra/Seat vehicle from the Cupra/Seat portal.
Breaking changes
-
The method vehicle.update(updateType) supports 3 different update types:
- updateType=0: Small update (=only get_basiccardata() and get_statusreport are called). If the last full update is more than 1100 seconds ago, then a full update is performed.
- updateType=1: Full update (nearly all get-methods are called. The model images and the capabilitites are refreshed only every 2 hours.)
- updateType=2: Like updateType=0, but ignoring the nightly update reduction
-
Nightly update reduction: If nightly reduction is activated and the current time is within the time frame between 22:00 and 05:00, then vehicle.update(0) performs a full update, if the last full update is more than 1700 seconds ago. If that's not the case, vehicle.update(0) does nothing.
-
PyCupra can ask the Cupra/Seat portal to send push notifications to PyCupra if the charging status or the climatisation status has changed or when the API has finished a request like lock or unlock vehicle, start or stop charging or change departure timers or ....
-
PyCupra read files from the EUDA portal of VW group, if the user has registered there and set up an ongoing data request. (This is still experimental.)
-
As the API no longer provides the complete tripstatistics history, PyCupra builds its own history and stores it in the pycupra_data folder.
Thanks to
- RobinostLund for initial project for Volkswagen Carnet I was able to fork
- Farfar for modifications related to electric engines
- tanelvakker for modifications related to correct SPIN handling for various actions and using correct URLs also for MY2021
- sdb9696 for the firebase-messaging package that is used in PyCupra with only minor modifications
Example
For an extensive example, please use the code found in example/PyCupra.py. Use the doLogin method, and it will sign in with the credentials used for the class constructor. After a successful login, the tokens are stored in a json file. Later doLogin calls can use the token file instead of the credentials. When logged in, the method get_vehicles will fetch vehicle basic information and create Vehicle class objects for all associated vehicles in account. To update all available data use the update_all method of the Connect class. This will call the update function for all registered vehicles, which in turn will fetch data from all available API endpoints.
The file pycupra_credentials.json.demo explains the data structure of the credentials file.
Release files for pycupra 0.2.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pycupra-0.2.37.tar.gz | 125.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pycupra-0.2.37-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 257.5 kB
Release files / pycupra-0.2.37.tar.gz
| Download URL | pycupra-0.2.37.tar.gz |
|---|---|
| Size | 125.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0205b517f2ec1d3c423bd7986b5291c818b1d6f7eb907033e12ba128247256e7
|
|
BLAKE2b-256 checksum How to use checksums |
c25690a335571c4d9054323eaf7cf9b9d230a2331bd9bc22203d48b7f66b080d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / pycupra-0.2.37-py3-none-any.whl
| Download URL | pycupra-0.2.37-py3-none-any.whl |
|---|---|
| Size | 131.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9ec805d725eb1f927a4bc9257af318fc4b0e4daf60dc1f7c0e319260569ae79
|
|
BLAKE2b-256 checksum How to use checksums |
9e8c13feeb9d976769575ffb3a68c33ce77e5befe489dbda9dbf804c2cda77af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|