Features
This Python package manages the communication with the private Renault API used by the official MyRenault application.
The client is able to read various vehicle attributes, such as:
mileage
GPS location
fuel autonomy (for fuel vehicles)
battery autonomy (for electric vehicles)
contracts associated to the vehicle (warranty and connected services)
For some vehicles, it is also possible to manage:
hvac/pre-conditionning of the vehicle
charge schedule
This package has been developed to be used with Home-Assistant, but it can be used in other contexts
Requirements
Python (>= 3.10)
API Usage
You can install Renault API via pip from PyPI:
$ pip install renault-api
import aiohttp
import asyncio
from renault_api.renault_client import RenaultClient
async def main():
async with aiohttp.ClientSession() as websession:
client = RenaultClient(websession=websession, locale="fr_FR")
await client.session.login('email', 'password')
print(f"Accounts: {await client.get_person()}") # List available accounts, make a note of kamereon account id
account_id = "Your Kamereon account id"
account = await client.get_api_account(account_id)
print(f"Vehicles: {await account.get_vehicles()}") # List available vehicles, make a note of vehicle VIN
vin = "Your vehicle VIN"
vehicle = await account.get_api_vehicle(vin)
print(f"Cockpit information: {await vehicle.get_cockpit()}")
print(f"Battery status information: {await vehicle.get_battery_status()}")
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Avoiding password storage
The password is only needed once: session.login exchanges it for a Gigya login token, which acts as a refresh token used to mint access tokens (JWTs). Read it from session.login_token after login, store it securely instead of the password, and restore it on the next session with session.set_login_token:
await client.session.login('email', 'password')
login_token = client.session.login_token # persist this, not the password
# later, in a new session:
client.session.set_login_token(login_token) # no password required
CLI Usage
The renault-api is also available through a CLI, which requires additional dependencies. For the added dependencies, you can install Renault API via pip from PyPI:
$ pip install renault-api[cli]
Once installed, the following command prompts for credentials and settings, displays basic vehicle status information, and generates traces:
$ renault-api --log status
Credentials will automatically be stored in the user home directory (~/.credentials/renault-api.json)
Logs will automatically be generated in logs subfolder
It is also possible to use raw http GET/POST commands, for example to get odometer and others data on a Windows machine:
C:> renault-api http get /commerce/v1/accounts/{account_id}/kamereon/kca/car-adapter/v1/cars/{vin}/cockpit
Or to request a battery status refresh on a Windows Machine (internal quotes escaped, whole payload enclosed in un-escaped quotes):
C:> renault-api http post /commerce/v1/accounts/{account_id}/kamereon/kca/car-adapter/v1/cars/{vin}/actions/refresh-battery-status "{\\"data\\": {\\"type\\": \\"RefreshBatteryStatus\\"}}"
Please see the Command-line Reference for full details.
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the MIT license, Renault API is free and open source software.
Disclaimer
This project is not affiliated with, endorsed by, or connected to Renault. I accept no responsibility for any consequences, intended or accidental, as a as a result of interacting with Renault’s API using this project.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Credits
This project was generated from @cjolowicz’s Hypermodern Python Cookiecutter template. This project was heavily based on @jamesremuscat’s PyZE python client for the Renault ZE API.
Release files for renault-api 0.5.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| renault_api-0.5.13.tar.gz | 40.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| renault_api-0.5.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.0 kB
Release files / renault_api-0.5.13.tar.gz
| Download URL | renault_api-0.5.13.tar.gz |
|---|---|
| Size | 40.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01c1cd7c290a1860f7cca993d00557cc3b6ce419894b41dccb26f2add8213398
|
|
BLAKE2b-256 checksum How to use checksums |
8c8e682008b0f533feb819ecea8272b2b947a0872914b7cd73bc1e9468b973fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 27, 2026.
Transparency logRelease files / renault_api-0.5.13-py3-none-any.whl
| Download URL | renault_api-0.5.13-py3-none-any.whl |
|---|---|
| Size | 52.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aaa1ca2ff3f24d8e1a405faaa5104fdc7e2df0460da1cb3d1b8af4ab8ff3922f
|
|
BLAKE2b-256 checksum How to use checksums |
59087bf4d80ea73ddbcbd121b70b72adef3d369d7ff2141cbf7d86039911ff42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 27, 2026.
Transparency log