Skip to content
:oncoming_automobile: A Ruby gem and unofficial documentation of the Tesla JSON API
Ruby API Blueprint
Find file
Latest commit b587e8f @timdorr HVAC is a better term.


View Documentation

This is unofficial documentation of the Tesla JSON API used by the iOS and Android apps. The API provides functionality to monitor and control the Model S (and future Tesla vehicles) remotely. The project provides both a documention of the API and a Ruby library to for accessing it.

Ruby Gem Gem Version Build Status Coverage Status

This gem provides a basic wrapper around the API to easily query and command the car remotely. It also provides access to the streaming API and a means to process data coming from it.


Add this line to your application's Gemfile:

gem 'tesla_api'

Or install it yourself:

gem install tesla_api


Here's a quick example:

require 'tesla_api'

tesla_api =, client_id, client_secret)
tesla_api.login!(password) # Or tesla_api.token = token if you have an existing token.
model_s = tesla_api.vehicles.first # => <TeslaApi::Vehicle>

model_s.auto_conditioning_start unless model_s.climate_state["is_auto_conditioning_on"]


charge_state = model_s.charge_state
puts "Your Model S is #{charge_state["charging_state"]} " +
     "with a SOC of #{charge_state["battery_level"]}% " + 
     "and an estimate range of #{charge_state["est_battery_range"]} miles"


Ruby portions are Copyright (c) 2014 Tim Dorr. Released under the terms of the MIT license. See LICENSE for details.

Something went wrong with that request. Please try again.