Your building data is scattered.
ninezero collects it all.

Utility portals, meter vendors, manual spreadsheets — building energy data lives in dozens of disconnected systems. ninezero connects them into a single, structured, queryable layer you control.

Ingest

Connected to the Danish utility landscape

Pre-built adapters for the systems Danish municipalities actually use — Energinet DataHub (Eloverblik), Kamstrup READy, eForsyning (150+ utilities), Kredsløb and Aalborg Forsyning — plus MQTT/M-Bus for gateways. We handle the protocol differences so you don't have to.

Missing your utility?

Your provider has an API but no ninezero adapter yet? Tell us — connecting new Danish sources is what we do.

Supported integrations
Energinet DataHubDK
Kamstrup READyDK
eForsyning150+
KredsløbDK
Aalborg ForsyningDK
MQTT / M-BusProtocol
Data Ingestion Sources Live
Open items
3
Rådhuset · District heating
+38% vs. last winter (weather-normalized)
Vestre Skole · Electricity
No readings for 4 days — silent meter
Svømmehallen · Water
Baseline exceeded overnight
Attention

Know when a building misbehaves

ninezero watches every meter and surfaces abnormal consumption, data gaps and dead meters as concrete action items — an inbox, not another dashboard you have to remember to check. Weather-normalized baselines separate a real problem from a cold week.

Anomaly inbox
Year-over-year regressions, silent meters and reporting gaps become a prioritized, deduplicated to-do list.
Weather-normalized
Degree-day (HDD/CDD) correction so heating buildings aren't flagged just because it got colder.
Data integrity
Cross-meter sanity checks and freshness monitoring catch broken feeds before they corrupt your reports.
Cost / year
1.24M kr.
CO₂ / year
312 t
ESEF / CSRD export
JSON-LD
Compliance

Prove you’re compliant — EPBD & EED

See exactly where your public buildings fall short of EPBD 2024 and EED — expired energy labels, the label-B-by-2040 gap, the 3%/yr renovation rate, savings vs a 2021 baseline — each with a recommended action, a deadline, and the meter data that proves it.

Gap → action
Every non-compliant building gets a costed, deadline-aware fix: order an energy label, commission an energy audit (energisyn), plan the renovation.
Backed by measurements
Meter-readiness checks confirm the right meters sit in the right buildings, so each status carries a data-confidence signal — proven, not assumed.
Auditor-ready report
Export a per-building compliance report — statuses, evidence and the action plan — as a single workbook. CSRD/ESRS export is on the roadmap.
Live Event Stream
Hourly
Native meter resolution
3 media
One unified data model
Store

Built for consumption data

A purpose-built time-series warehouse (ClickHouse) optimized for utility data. Columnar, partitioned by time, pre-aggregated hourly to yearly — designed for the read patterns that matter: aggregation across meters, buildings and time ranges.

Electricity
Water
Heat
Own

Portable by design

Run ninezero EU-hosted in Denmark or on your own infrastructure, under your full control. Standard formats, open APIs, complete data export at any time. Your data never gets locked in.

🏠
On-Premise Deployment
Run on your own infrastructure with full control
☁️
EU-hosted
Hosted in the EU, or deployed on your own infrastructure
📤
Full Data Export
Standard formats, no restrictions, no exit fees
How it runs
EU-hosted
On-premise
Docker
PostgreSQL
ClickHouse
Full export

Developed and operated from Aarhus, Denmark, and hosted within the EU — keeping your data in-region and under your control.

Structure

Semantically classified, not just stored

Every entity in ninezero — organizations, properties, buildings, meters — is classified with a Brick Schema URI, an open standard instead of a proprietary one. JSON-LD (REC/Brick) export is available today; broader ecosystem tooling on top of it is still early.

URI
Brick Schema Classification
Every meter, building and property has a standard Brick URI — enabling machine-readable semantic queries across your portfolio.
REL
Validated Relationships
Every meter traces to a building, property and organization. Referential integrity is enforced, not assumed.
INT
Open Interoperability
Your entity data is structured around an open standard, not a proprietary schema — so it's already in the right shape for analytics, carbon reporting and facility-management tools. No migration required.
Entity model
Organizationbrick:Organization
2 entities
Sitebrick:Site
4 entities
Buildingbrick:Building
12 entities
Meterbrick:Electrical_Meter
47 entities
RDF/OWL exportable · Brick 1.3
200 OK
GET /api/meters/1042/measurements?from=2026-01-01
Authorization: Bearer nz_...

{
  "meter": {
    "id": 1042,
    "meterType": "electricity",
    "brickClassUri": "https://brickschema.org/schema/Brick#Electrical_Meter",
    "building": { "id": 87, "name": "Rådhuset" },
    "property": { "id": 12, "name": "Rådhuskvarteret" }
  },
  "measurements": [
    { "timestamp": "2026-01-01T00:00:00Z", "value": 42.7, "unit": "kWh" }
  ]
}
Query

Agent-ready API

A documented REST API for developers — structured JSON with an OpenAPI spec and interactive docs at /docs. Every response carries Brick URI references, so your own tooling can build on an open standard instead of a proprietary one.

/docs
OpenAPI documented
Brick URIs
Brick URIs in responses
Who builds on this
Energy Analytics
Carbon Reporting
Facility Management

The same API that powers your dashboards is available to every tool in your stack.

Electricity Water Heat
Real-time
Pulse AI

Ask your buildings anything

Pulse answers in plain language, grounded in your actual meter data — never invented. It reads energy reports and operations documents too, so building facts fill themselves in instead of being typed by hand.

Grounded answers
Every response is backed by read-only, org-scoped queries against your own data — no hallucinated numbers.
Document intelligence
Upload an energy report or invoice; ninezero extracts the figures and proposes the building fields to update.
Weekly insights
A digest of what changed across your portfolio — deterministic facts, explained in your site language.
Pulse
Which schools used more heat than last winter?

Three schools are up year-over-year, weather-corrected:

Vestre Skole+18%
Nørre Skole+11%
Søndre Skole+6%

See where your portfolio stands

Book a demo to see your own buildings scored against EPBD and EED, or explore the live platform.