Building Third-Party Apps

Guidance for developers building apps that connect to their users' Teslemetry accounts

You can build your own app, including a commercial one, on top of Teslemetry. Your users sign in with their own Teslemetry account and keep their own Teslemetry subscription, and your app reads their vehicle data and sends commands through the Teslemetry API.

Sign in with Teslemetry OAuth

Use Teslemetry OAuth to connect a user's account. Never ask users for their Tesla credentials or to paste an access token into your app.

Teslemetry supports OAuth with PKCE, so native mobile and desktop apps can sign in without a client secret. The authorization server metadata, including the authorization and token endpoints, is published at https://api.teslemetry.com/.well-known/oauth-authorization-server.

Become a trusted OAuth client

When a user signs in, Teslemetry shows a consent screen that names the app asking for access. To show your app as a trusted connection on that screen, email support with:

  • Your app's logo.
  • Every redirect URL your app uses.

Commercial apps

Commercial apps built on Teslemetry are permitted, including free apps with paid upgrades. Teslemetry does not ask for a revenue share or a license fee.

If you need written confirmation that your app is authorized to use the Teslemetry service, for example for App Store review, email support.

This permission is not exclusive. Teslemetry can authorize other developers to build similar apps, and Teslemetry may build its own app in the future.

If you want to sell your own subscription and own the customer relationship yourself, look at Teslemetry Pro instead.

Branding

Describe your app as "Works with Teslemetry".

To use the Teslemetry wordmark or brandmark inside your app, see the Teslemetry brand page. Teslemetry can share these assets, or create versions to suit your requirements. Please send a screenshot of how your app uses them to support.

Beta testing

Beta invites are welcome. When your app is in TestFlight or another beta program, send an invite to support.

Commands cost credits

Vehicle commands use your user's credits, and so does waking a sleeping vehicle. See Handling Sleep for command and wake-up costs, and Polling and Credits for what data requests cost.

Tell users about credits
Tell your users that commands cost credits, at least the first time they send a command from your app.

Reading vehicle data

Prefer streaming

Read vehicle data from the /sse streaming endpoint where you can. Read the streaming endpoint spec and filter the stream to the data your app actually needs. See Telemetry for how streaming works, and Telemetry Fields for the available fields.

You can change a vehicle's streaming configuration to stream the fields your app needs. Each vehicle has a streaming budget that limits this configuration, and some Teslemetry plans have larger streaming budgets.

Polling fallback

If your app cannot use streaming, use the vehicle telemetry endpoint. It supports a cursor, so each poll returns only the data since your last poll.