Tibber LogoData API

FAQ

Frequently asked questions

Why another API instead of extending the old one?

The old GraphQL API at api.tibber.com serves prices, consumption and production reasonably well, but it became hard to extend cleanly with diverse device data without major breaking changes. Historical schema decisions, accumulated complexity, and harder-to-maintain tech made iteration slow. Non-developers (and some developers) also found the GraphQL mental model and tooling intimidating for what-should-be simple queries. This Data API gives a focused, easier surface purpose-built for device data.

What data is intentionally excluded?

Anything proprietary (smart schedules, orchestration decisions, internal heuristics). Focus is on device identity, state and history.

Do I need separate OAuth2 clients per environment?

Recommended. It isolates redirect URIs and lets you test new scopes without impacting production tokens.

Can I call the API from a browser-only SPA?

Use a backend (or backend-for-frontend (BFF)) if you can. The flow requires a client secret for the token exchange. Public flows without a secret are not supported.

How stable is the schema?

Path stability is high (/v1). Fields can be added. Unknown attributes or capabilities may appear at any time; ignore what you do not recognize.

Will rate limits be enforced?

Behave as if they exist: implement backoff for 429 / 5xx and adaptive polling. See Rate limiting.

How do devices map to scopes?

A device category requires its category scope (see Scopes). Without that scope the device simply will not appear.

How do I page through device history?

Request the first page with explicit since or until timestamp and resolution, then follow next/prev cursor links. Do not attempt to build cursors manually.

Can new device categories and integrations appear without notice?

Yes. Your client should ignore unknown keys and tolerate newly appearing categories.

How do I rotate a client secret?

Create a new client, migrate usage, then delete the old one. Existing tokens from the old client expire naturally.

Where is the OpenAPI schema?

Available via the Playground and downloadable in either JSON or YAML format.

Something is missing or not quite right — how do I give feedback?

Use your normal Tibber developer feedback channel or support. Include endpoint, home/device id (if possible), and approximate timestamps. If you can, example code or minimally reproducible cURL requests are also very helpful.

On this page