<aside> <img src="https://beestat.io/img/notion/support.svg" alt="https://beestat.io/img/notion/support.svg" width="40px" /> If you like this documentation and want to support beestat, sign up for Notion using this referral link to give me $10 in credit. This pays for two months of this service which hosts the beestat API documentation, the help & support guide, and my own ecobee wiki.

</aside>

Introduction

The beestat API gives you full access to many of the things you can access from the official ecobee API, plus all of the extra beestat data like temperature profiles, home comparisons, and long-term history.

This documentation describes all of the available API calls and properties of the returned objects. If you have any questions, please reach out to [email protected].

<aside> <img src="https://beestat.io/img/notion/info.svg" alt="https://beestat.io/img/notion/info.svg" width="40px" /> At this time the beestat API is unstable. This means that the way it works and the data it returns may change at any time. Breaking changes are rare, but do happen. Proper versioning will be introduced in a future release.

</aside>

Getting Started

Obtaining an API Key

You can get an API Key by authorizing at beestat.io, then emailing [email protected] with your thermostat serial number. The email address you send from must match the email address registered on your ecobee account. Turnaround for API Keys is typically under 24 hours.

<aside> <img src="https://beestat.io/img/notion/info.svg" alt="https://beestat.io/img/notion/info.svg" width="40px" /> Anyone with this API Key can use the beestat API as you. If it is compromised, please send an email and it can be deactivated or changed.

</aside>

Sending your first API call

There are four properties that you must include in every API call.

  1. api_key ****A 40-character alpha-numeric string that gives you access to use the API.
  2. resource ****Any one of the items listed below in the API Reference.
  3. method ****An actions you can perform on a resource.
  4. arguments ****JSON-encoded values sent to the method, sometimes optional.

With that in mind, the next step is to send a POST or GET request to api.beestat.io with the appropriate values set.

A good first API call would be thermostat.read_id. Fill in your API key, then paste this string into a web browser. Notice the arguments parameter is missing; that's because it's not required for this API call.

<https://api.beestat.io/?api_key=>{YOUR API KEY}&resource=thermostat&method=read_id

<aside> <img src="https://beestat.io/img/notion/lightbulb.svg" alt="https://beestat.io/img/notion/lightbulb.svg" width="40px" /> You can send API calls directly in your web browser, using cURL from a command line, or with your programming language of choice. You can also use the Postman Collection.

</aside>