Data API overview
What is the Tibber Data API and what can it do for me?
The Tibber Data API lets you (a Tibber customer) access raw-ish data from third‑party IoT devices you have paired to Tibber. Think of it as an export‑friendly, developer‑friendly view of (some of) the same underlying device data that powers the Tibber app and its automations.
It deliberately does not expose Tibber proprietary logic such as smart schedules or orchestration decisions; it focuses on device state, attributes, capabilities and history (where available).
Core concepts
Homes
A home is the same home you see inside the Tibber app. Except for electric vehicles*, devices are always associated with a home. Listing homes is usually your first API call.
Vehicles
Electric vehicles are not associated with a home because they are ambulatory. Instead, they will appear on every home you have access to (if you have the required scopes).
Devices
Devices originate from Tibber integrations, such as:
- electric vehicles
- vehicle chargers (EVSEs)
- thermostats / heat pumps / space heaters
- solar inverters
- home batteries
Device data model (high level)
- identity
- stable Tibber device id (API‑only)
- external id (often vendor id or QR code)
- basic static info (brand, model, name)
- attributes
- seldom changing properties (connectivity status, firmware versions, enumerations, etc.)
- capabilities
- current state values (numbers, enums) with units / allowed values
Device history time series
Some devices expose historical data at one or more resolutions (e.g. 15‑minute, hour, day, month);. Pagination is cursor based. See Device history.
Scopes & access
Access is controlled by OAuth2 scopes. You grant scopes to an OAuth2 client you control; the issued tokens then determine what device categories you can query. See Scopes.
What you can do right now
- Create an OAuth2 client (or multiple) in the management UI at Manage clients
- Perform an Authorization Code Flow to obtain an access token (and refresh token)
- List your homes:
GET /v1/homes - For a home, list devices:
GET /v1/homes/{homeId}/devices - Fetch device details:
GET /v1/homes/{homeId}/devices/{deviceId} - Fetch history for supported devices:
GET /v1/homes/{homeId}/devices/{deviceId}/history
Not in scope
- Tibber price data (available in the Tibber API. See docs at developer.tibber.com).
- Tibber Pulse live-streaming data (available in the Tibber API. See docs at developer.tibber.com).
- Proprietary optimization logic or schedules
Stability & versioning
- Base path:
/v1(future breaking changes will use/v2, etc.) - Additive fields may appear without notice; code defensively against unknown properties
- Preview / experimental endpoints will be clearly marked
OpenAPI & Playground
- Interactive Playground: allows in‑browser auth + requests and further code examples
- Downloadable schema (OpenAPI 3.1): available in the Playground as a download in either JSON or YAML format
Next steps
Jump to the Quick start or read about Authentication.
