Skip to content
Sign in Sign up

Schemas

Every object the baseray API returns: buildings, heights, existing solar panels, solar potential, building facts, registered businesses, pagination and errors.

Height

metresnumberrequired
Height in metres.
basismeasured | stated | estimatedrequired
measured (the building itself was measured), stated (a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) or estimated (modelled).
Example
{
  "metres": 18,
  "basis": "measured"
}

FloorArea

The building's floor area as best known: the figure a record states for the building where one holds, otherwise an estimate.

square_metresnumberrequired
Floor area, in m².
basismeasured | stated | estimated or nullrequired
stated (a record states it for the building) or estimated (modelled: the footprint, or a record's built area, times the floors); null when unknown.
scopegross_whole_building | net_whole_building | gross_full_storeys | gross_above_ground or nullrequired
What the figure counts: gross_whole_building (every storey, walls included), net_whole_building (the usable area of every storey, walls excluded), gross_full_storeys (the ground floor and every full storey, walls included; the basement and the attic are not counted) or gross_above_ground (the footprint times the floors above ground, walls included); null when unknown.
Example
{
  "square_metres": 500032,
  "basis": "estimated",
  "scope": "gross_above_ground"
}

ExistingSolarPanels

Whether solar panels are already on the roof, as a dated photo of the roof shows it. This is the photo alone: solar_presence settles it with the registers of connected installations, which outrank a photo.

statusdetected | none_seen | unclear | not_checkedrequired
detected, none_seen, unclear, or not_checked (never checked, or the photo was too coarse to check).
photo_datestring (date) or nullrequired
Date of the photo checked; null when undated or never checked.
confidencenumber or nullrequired0–1
The check's confidence in its result, 0 to 1; null when not checked.
analysed_onstring (date) or nullrequired
The day the photo was checked for panels; null when never checked.
photo_resolution_cmnumber or nullrequired≥ 0
How fine the photo is, in centimetres per pixel; a photo too coarse to check is why a roof stays not_checked. Null when not known.
Example
{
  "status": "none_seen",
  "photo_date": "2022-09-08",
  "confidence": 0.988,
  "analysed_on": "2026-09-24",
  "photo_resolution_cm": 30
}

RegisteredSolar

The solar installations official registers state at the building's address: grid operators' lists of connected installations, energy regulators' generation licences and building registers' installations (kinds says which). A register names a site by its address or its building, never a roof, a person or a metering point.

installation_countintegerrequired≥ 1
Installations registered at the address.
installed_power_kwnumber or nullrequired
Installed power in kW: the installations' sum where every one states its own, null otherwise, never a partial sum.
export_power_kwnumber or nullrequired
Power approved to feed the grid, in kW: the installations' sum where every one states its own, null otherwise.
storage_capacity_kwhnumber or nullrequired
Energy storage in kWh: the sum where every installation that stores states its capacity, null otherwise; often null even where has_storage is true.
has_storageboolean or nullrequired
True where an installation is stated to store energy, false where every installation is stated to store none, null where the register does not say. A register of generation licences does not record storage.
first_connected_onstring (date) or nullrequired
The earliest date the installations state; null when not stated, or when a register states only the year (establishment_year), which is then given as first_connected_year alone. What it dates is in kinds: a connection certificate for grid_connection, the start of the current holder's licence for generation_licence, when the plant may be older.
latest_connected_onstring (date) or nullrequired
The latest date the installations state, of the same meaning as first_connected_on, and the same date for a single installation.
first_connected_yearinteger or nullrequired
The year of the earliest date the installations state, given whenever a date is. Where a register states only the year (establishment_year in kinds) it is the only date given: first_connected_on and latest_connected_on are then null. Null when nothing is stated.
latest_connected_yearinteger or nullrequired
The year of the latest date the installations state, of the same meaning as first_connected_year, and the same year for a single installation.
address_building_countintegerrequired≥ 1
Buildings holding the address the register names, this one included. Of several installations it is the fewest: one at an address the building alone holds is its own.
shares_addressbooleanrequired
True when address_building_count is above 1: the register then does not say which of the buildings carries the panels.
kindsarray of grid_connection | generation_licence | establishment_yearrequired
What the registers record, which says what the dates mean. grid_connection: a grid operator's list of connected installations, dated by the connection certificate. generation_licence: a regulator's generation licences, dated by the start of the current holder's licence, so the plant may be older and the date is never when it was installed. establishment_year: a building register's installations, dated by the year the installation was established as an owner or a municipality states it, never by its connection; only the year is stated, so the dates are null and only first_connected_year and latest_connected_year are given. Usually one kind; empty only when the kind could not be read.
reported_throughstring (date)required
The last day of the latest month the registers report: an installation entered after it is not yet listed.
Example
{
  "installation_count": 1,
  "installed_power_kw": 6,
  "export_power_kw": 5.88,
  "storage_capacity_kwh": 4.8,
  "has_storage": true,
  "first_connected_on": "2024-03-01",
  "latest_connected_on": "2024-03-01",
  "first_connected_year": 2024,
  "latest_connected_year": 2024,
  "address_building_count": 1,
  "shares_address": false,
  "kinds": [
    "grid_connection"
  ],
  "reported_through": "2026-07-31"
}

SolarPotential

Rooftop solar potential, present only where the roof has been modelled.

max_panel_countinteger or nullrequired
Solar panels that fit on the roof.
max_capacity_kwpnumber or nullrequired
Capacity of those panels, in kWp.
yearly_energy_kwhnumber or nullrequired
Energy they would produce in a year, in kWh.
usable_roof_area_m2number or nullrequired
Roof area usable for panels, in m².
co2_savings_kg_per_yearnumber or nullrequired
CO₂ the installation would save, in kg a year.
basismeasured | measured_cut_to_outline | estimated or nullrequired
measured where the figures come from the roof itself as measured: a surface model read over it, or roof planes an open survey measured on the building (roof_analysis.roof_survey says how). measured_cut_to_outline where the measured roof took in the roofs attached to the building (a terraced or semi-detached house) and was cut to the building's outline: its planes and panels were measured, but each is kept or dropped whole by where its centre lies, so the figures approximate the building's own part. estimated where they are modelled from the footprint and sunshine. Null when not said.
Example
{
  "max_panel_count": 315,
  "max_capacity_kwp": 126,
  "yearly_energy_kwh": 158019.9,
  "usable_roof_area_m2": 618.5,
  "co2_savings_kg_per_year": 36976.7,
  "basis": "measured"
}

StatedFact

One thing the building's record states, as the record words it.

factstringrequired
What the fact is, e.g. use, construction_year, completed_by_year (the year a building stood by, where it is dated only by a period ending then), floors_above_ground, floors_below_ground, built_up_area, floor_area, enclosed_volume, dwelling_count, unit_count, heating, cadastral_number or land_book_number_as_filed (a land book number as written into the register when the building was filed: unverified, never the land book in force). New kinds of fact may appear; treat an unknown one by its label.
labelstringrequired
The fact's name, for people.
valuestring or number or array of stringrequired
A number (a count, a year, or a quantity in unit), the record's wording, or its wordings.
unitstring or nullrequired
The unit of a quantity: m2 or m3; null for counts, years and wordings.
notestring or nullrequired
How the record defines or qualifies the value; null when it adds nothing.
Example
{
  "fact": "construction_year",
  "label": "Construction year",
  "value": 1974,
  "unit": null,
  "note": null
}

BuildingPart

One part a building is drawn from: a construction the national building register records, or a structure it does not record.

originregister | unregisteredrequired
register (a construction the building register records) or unregistered (a structure the register does not record; this says nothing of whether it is permitted).
record_referencestring or nullrequired
The register's own reference for the construction's record; null for a part not in the register.
labelstring or nullrequired
How the register names the construction, e.g. 62847-C1; null where it names none.
outline_referencefootprint | roof_edgerequired
What the part's outline traces: footprint (the walls where they meet the ground, as the register surveys them) or roof_edge (the roof seen from above, eaves included).
area_m2numberrequired
The area of the part's outline, in m².
Example
{
  "origin": "register",
  "record_reference": "RV63R3-04",
  "label": "62847-C1",
  "outline_reference": "footprint",
  "area_m2": 117.9
}

Turnover

A turnover from a business's latest financial statement on record.

amountintegerrequired
Turnover, in whole units of currency.
currencystring or nullrequired
ISO 4217 currency of the statement.
financial_yearinteger or nullrequired
The financial year of the statement.
Example
{
  "amount": 1250000,
  "currency": "RON",
  "financial_year": 2024
}

BuildingSummary

building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
The building's address as a record states it (address_evidence says which kind): street and house number, a Romanian village's nr. 350 where the record names no street, or a Czech municipality and number (Lhota 25), with the block where one is given. Null when no address of the building is on record; the nearest named road is then nearest_road, never this.
nearest_roadstring or nullrequired
The named road nearest the building, given only where no address of it is on record (address is then null). It helps find the building but is not its address: no house number is known.
address_evidenceaddress_record | business_listing or nullrequired
What kind of record address comes from: address_record (an address record of the building) or business_listing (a listing of a business at the building, not an address record of it). Null when address is null or the kind is unknown.
address_corroborationcorroborated | single_source | conflicting or nullrequired
How other records back the house number of address, as the address_corroboration filter reads it: corroborated (an independent record gives the same number), single_source (only one record) or conflicting (another record gives another number). Null without a house number.
postal_codestring or nullrequired
The official postcode of the building's address; null when none is on record.
localitystring or nullrequired
Town, city or village.
countrystring or nullrequired
ISO 3166-1 alpha-2 country code.
latitudenumberrequired
Latitude of the building's centre, WGS84.
longitudenumberrequired
Longitude of the building's centre, WGS84.
categoryresidential_house | apartment_block | commercial | industrial | public | agricultural | ancillary | unknownrequired
Building category; ancillary is an annex or outbuilding.
category_evidenceconfirmed | corroborated | inferred | conflicting | unconfirmedrequired
How firmly category is known: confirmed (an official register states it), corroborated (several sources agree), inferred, conflicting (sources disagree) or unconfirmed (always so for unknown).
building_typestring or nullrequired
The building's granular type where a record states one, as the building_type filter reads it, e.g. office, warehouse, school, apartments; null when none is stated.
roof_shapestring or nullrequired
The roof's shape, as the roof_shape filter reads it, e.g. gabled, hipped, flat; null when unknown.
footprint_area_m2numberrequired
Area of the building's outline, in m². It is the ground footprint only where the outline is drawn at the walls (outline_reference footprint on the building's detail); an outline drawn at the roof's edge (roof_edge) takes in the eaves and is larger.
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | stated | estimatedrequired
measured (the building itself was measured), stated (a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) or estimated (modelled).
volume_m3number or nullrequired
Volume, in m³; null when unknown.
volume_basismeasured | estimated or nullrequired
Whether the volume is measured or estimated; null with the volume.
floor_areaFloorArea or any or nullrequired
Floor area, with what it rests on and what it counts; null when unknown.
square_metresnumberrequired
Floor area, in m².
basismeasured | stated | estimated or nullrequired
stated (a record states it for the building) or estimated (modelled: the footprint, or a record's built area, times the floors); null when unknown.
scopegross_whole_building | net_whole_building | gross_full_storeys | gross_above_ground or nullrequired
What the figure counts: gross_whole_building (every storey, walls included), net_whole_building (the usable area of every storey, walls excluded), gross_full_storeys (the ground floor and every full storey, walls included; the basement and the attic are not counted) or gross_above_ground (the footprint times the floors above ground, walls included); null when unknown.
floorsinteger or nullrequired
Floors above ground; null when unknown.
floors_including_undergroundinteger or nullrequired
Only where floors is unknown: the floors above and below ground counted together, as a building register states them (Czechia's counts them so, a habitable attic as one). How many of them are above ground is not on record. Null otherwise.
construction_yearinteger or nullrequired
The year a register states the building was completed; null when none states it.
completed_by_yearinteger or nullrequired
Where a register dates the building only by a census period: the last year of that period, the year it stood by. Null otherwise.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it. This is the photo alone: solar_presence settles it with the registers of connected installations, which outrank a photo.
statusdetected | none_seen | unclear | not_checkedrequired
detected, none_seen, unclear, or not_checked (never checked, or the photo was too coarse to check).
photo_datestring (date) or nullrequired
Date of the photo checked; null when undated or never checked.
confidencenumber or nullrequired0–1
The check's confidence in its result, 0 to 1; null when not checked.
analysed_onstring (date) or nullrequired
The day the photo was checked for panels; null when never checked.
photo_resolution_cmnumber or nullrequired≥ 0
How fine the photo is, in centimetres per pixel; a photo too coarse to check is why a roof stays not_checked. Null when not known.
solar_presenceregistered | detected | registered_at_address | none_seen | unclear | unknownrequired
Whether the building carries solar panels, settled across the official registers of connected solar installations and the roof photo of existing_solar_panels. A register entry is the stronger evidence: a photo may predate an installation or miss it. registered: a register states an installation at the building's address, and the building alone holds that address or its own photo shows the panels. detected: panels are seen in the photo and no register states an installation. registered_at_address: a register states an installation at an address this building shares with others (registered_solar.address_building_count of them) and its photo shows none, so the register does not say which roof carries the panels: not a plain yes. none_seen: a photo detailed enough shows no panels and no register states an installation. unclear: the photo is unclear and no register states one. unknown: neither says. A building no register names is never thereby without solar: an installation may be off the grid, or registered under an address written otherwise. The solar_presence and exclude_solar_presence filters of GET /buildings read this field.
registered_solarRegisteredSolar or any or nullrequired
The solar installations official registers state at the building's address; not null exactly when solar_presence is registered or registered_at_address. Null says nothing of the roof.
installation_countintegerrequired≥ 1
Installations registered at the address.
installed_power_kwnumber or nullrequired
Installed power in kW: the installations' sum where every one states its own, null otherwise, never a partial sum.
export_power_kwnumber or nullrequired
Power approved to feed the grid, in kW: the installations' sum where every one states its own, null otherwise.
storage_capacity_kwhnumber or nullrequired
Energy storage in kWh: the sum where every installation that stores states its capacity, null otherwise; often null even where has_storage is true.
has_storageboolean or nullrequired
True where an installation is stated to store energy, false where every installation is stated to store none, null where the register does not say. A register of generation licences does not record storage.
first_connected_onstring (date) or nullrequired
The earliest date the installations state; null when not stated, or when a register states only the year (establishment_year), which is then given as first_connected_year alone. What it dates is in kinds: a connection certificate for grid_connection, the start of the current holder's licence for generation_licence, when the plant may be older.
latest_connected_onstring (date) or nullrequired
The latest date the installations state, of the same meaning as first_connected_on, and the same date for a single installation.
first_connected_yearinteger or nullrequired
The year of the earliest date the installations state, given whenever a date is. Where a register states only the year (establishment_year in kinds) it is the only date given: first_connected_on and latest_connected_on are then null. Null when nothing is stated.
latest_connected_yearinteger or nullrequired
The year of the latest date the installations state, of the same meaning as first_connected_year, and the same year for a single installation.
address_building_countintegerrequired≥ 1
Buildings holding the address the register names, this one included. Of several installations it is the fewest: one at an address the building alone holds is its own.
shares_addressbooleanrequired
True when address_building_count is above 1: the register then does not say which of the buildings carries the panels.
kindsarray of grid_connection | generation_licence | establishment_yearrequired
What the registers record, which says what the dates mean. grid_connection: a grid operator's list of connected installations, dated by the connection certificate. generation_licence: a regulator's generation licences, dated by the start of the current holder's licence, so the plant may be older and the date is never when it was installed. establishment_year: a building register's installations, dated by the year the installation was established as an owner or a municipality states it, never by its connection; only the year is stated, so the dates are null and only first_connected_year and latest_connected_year are given. Usually one kind; empty only when the kind could not be read.
reported_throughstring (date)required
The last day of the latest month the registers report: an installation entered after it is not yet listed.
solar_potentialSolarPotential or any or nullrequired
Rooftop solar potential; null where the roof has not been modelled.
max_panel_countinteger or nullrequired
Solar panels that fit on the roof.
max_capacity_kwpnumber or nullrequired
Capacity of those panels, in kWp.
yearly_energy_kwhnumber or nullrequired
Energy they would produce in a year, in kWh.
usable_roof_area_m2number or nullrequired
Roof area usable for panels, in m².
co2_savings_kg_per_yearnumber or nullrequired
CO₂ the installation would save, in kg a year.
basismeasured | measured_cut_to_outline | estimated or nullrequired
measured where the figures come from the roof itself as measured: a surface model read over it, or roof planes an open survey measured on the building (roof_analysis.roof_survey says how). measured_cut_to_outline where the measured roof took in the roofs attached to the building (a terraced or semi-detached house) and was cut to the building's outline: its planes and panels were measured, but each is kept or dropped whole by where its centre lies, so the figures approximate the building's own part. estimated where they are modelled from the footprint and sunshine. Null when not said.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
registered_business_employeesstring or nullrequired
The largest stated size of a business registered at the address, as the registered_business_employees sort and filters read it: an exact count (12), a band (10–49) or an open top band (1000 or more); null when none is stated.
registered_business_turnoverTurnover or any or nullrequired
The largest latest turnover of a business registered at the address, as the registered_business_turnover sort and filters read it; null when none is on record.
amountintegerrequired
Turnover, in whole units of currency.
currencystring or nullrequired
ISO 4217 currency of the statement.
financial_yearinteger or nullrequired
The financial year of the statement.
flood_zone5_year | 10_year | 20_year | 50_year | 100_year | 100_year_climate_change | 500_year | 1000_year | 10000_year or nullrequired
The most frequently flooded zone of an official flood hazard map the building lies in, named by the return period of its flood; 100_year_climate_change is the 1-in-100-year flood under the climate the map projects. Null means outside every zone only where flood_zone_mapped is true; elsewhere the zone is unknown.
flood_zone_mappedbooleanrequired
True where a served flood hazard map covers the building. Flood maps are served only where their licence allows it; where none covers the building this is false and its flood zone is unknown, never "no flood risk".
flood_zone_sourcestring or nullrequired
The credit and the reading the flood map's publisher requires wherever its zone is shown, such as Denmark's "Kilde: Kystdirektoratet, Kystplanlægger.dk" with its note that the zone is a screening, never an assessment of the property. Null where no served map covers the building, or its publisher requires none.
seismic_design_acceleration_gnumber or nullrequired
The design peak ground acceleration of the building's site, in g, as the national seismic design code maps it (P100-1/2013 in Romania); null when unknown.
seismic_risk_classRsI | RsII | RsIII | RsIV | U1 | U2 | U3 | consolidated or nullrequired
The seismic risk class an official list of technically assessed buildings gives the building: RsI (the highest risk) to RsIV, the urgency classes U1 (the most urgent) to U3 older assessments set, or consolidated (strengthened since). Null when the building is on no such list, which says nothing of its risk.
seismic_risk_assessment_yearinteger or nullrequired
The year of the assessment that set seismic_risk_class; null when not stated.
owner_typeprivate_person | social_housing | company | association | cooperative_housing | municipality | region | state | other or nullrequired
The kind of owner the building's property has on record, never who owns it: private_person (private persons or a partnership of them), social_housing (a non-profit social housing organisation), company, association (an association, foundation or self-owned institution), cooperative_housing (a housing co-operative), municipality, region, state, or other (any other owner, or owners of several of these kinds together; nothing more is on record). Null means unknown: no record states one kind for the building, as for a building divided into flats owned one by one.
app_urlstring (uri)required
The building in the baseray app.
Example
{
  "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "address": "Bulevardul 15 Noiembrie 78",
  "nearest_road": null,
  "address_evidence": "address_record",
  "address_corroboration": "single_source",
  "postal_code": null,
  "locality": "Brașov",
  "country": "RO",
  "latitude": 45.64988,
  "longitude": 25.61044,
  "category": "commercial",
  "category_evidence": "confirmed",
  "building_type": "retail",
  "roof_shape": "flat",
  "footprint_area_m2": 31252,
  "height": {
    "metres": 18,
    "basis": "estimated"
  },
  "volume_m3": 562531,
  "volume_basis": "estimated",
  "floor_area": {
    "square_metres": 500032,
    "basis": "estimated",
    "scope": "gross_above_ground"
  },
  "floors": 16,
  "floors_including_underground": null,
  "construction_year": null,
  "completed_by_year": null,
  "dwellings": null,
  "existing_solar_panels": {
    "status": "none_seen",
    "photo_date": "2022-09-08",
    "confidence": 0.988,
    "analysed_on": null,
    "photo_resolution_cm": null
  },
  "solar_presence": "none_seen",
  "registered_solar": null,
  "solar_potential": null,
  "registered_business_count": 0,
  "registered_business_employees": null,
  "registered_business_turnover": null,
  "flood_zone": null,
  "flood_zone_mapped": false,
  "flood_zone_source": null,
  "seismic_design_acceleration_g": null,
  "seismic_risk_class": null,
  "seismic_risk_assessment_year": null,
  "owner_type": null,
  "app_url": "https://app.baseray.tech/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720"
}

BuildingDetail

building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
The building's address as a record states it (address_evidence says which kind): street and house number, a Romanian village's nr. 350 where the record names no street, or a Czech municipality and number (Lhota 25), with the block where one is given. Null when no address of the building is on record; the nearest named road is then nearest_road, never this.
nearest_roadstring or nullrequired
The named road nearest the building, given only where no address of it is on record (address is then null). It helps find the building but is not its address: no house number is known.
address_evidenceaddress_record | business_listing or nullrequired
What kind of record address comes from: address_record (an address record of the building) or business_listing (a listing of a business at the building, not an address record of it). Null when address is null or the kind is unknown.
address_corroborationcorroborated | single_source | conflicting or nullrequired
How other records back the house number of address, as the address_corroboration filter reads it: corroborated (an independent record gives the same number), single_source (only one record) or conflicting (another record gives another number). Null without a house number.
postal_codestring or nullrequired
The official postcode of the building's address; null when none is on record.
localitystring or nullrequired
Town, city or village.
countrystring or nullrequired
ISO 3166-1 alpha-2 country code.
latitudenumberrequired
Latitude of the building's centre, WGS84.
longitudenumberrequired
Longitude of the building's centre, WGS84.
categoryresidential_house | apartment_block | commercial | industrial | public | agricultural | ancillary | unknownrequired
Building category; ancillary is an annex or outbuilding.
category_evidenceconfirmed | corroborated | inferred | conflicting | unconfirmedrequired
How firmly category is known: confirmed (an official register states it), corroborated (several sources agree), inferred, conflicting (sources disagree) or unconfirmed (always so for unknown).
building_typestring or nullrequired
The building's granular type where a record states one, as the building_type filter reads it, e.g. office, warehouse, school, apartments; null when none is stated.
roof_shapestring or nullrequired
The roof's shape, as the roof_shape filter reads it, e.g. gabled, hipped, flat; null when unknown.
footprint_area_m2numberrequired
Area of the building's outline, in m². It is the ground footprint only where the outline is drawn at the walls (outline_reference footprint on the building's detail); an outline drawn at the roof's edge (roof_edge) takes in the eaves and is larger.
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | stated | estimatedrequired
measured (the building itself was measured), stated (a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) or estimated (modelled).
volume_m3number or nullrequired
Volume, in m³; null when unknown.
volume_basismeasured | estimated or nullrequired
Whether the volume is measured or estimated; null with the volume.
floor_areaFloorArea or any or nullrequired
Floor area, with what it rests on and what it counts; null when unknown.
square_metresnumberrequired
Floor area, in m².
basismeasured | stated | estimated or nullrequired
stated (a record states it for the building) or estimated (modelled: the footprint, or a record's built area, times the floors); null when unknown.
scopegross_whole_building | net_whole_building | gross_full_storeys | gross_above_ground or nullrequired
What the figure counts: gross_whole_building (every storey, walls included), net_whole_building (the usable area of every storey, walls excluded), gross_full_storeys (the ground floor and every full storey, walls included; the basement and the attic are not counted) or gross_above_ground (the footprint times the floors above ground, walls included); null when unknown.
floorsinteger or nullrequired
Floors above ground; null when unknown.
floors_including_undergroundinteger or nullrequired
Only where floors is unknown: the floors above and below ground counted together, as a building register states them (Czechia's counts them so, a habitable attic as one). How many of them are above ground is not on record. Null otherwise.
construction_yearinteger or nullrequired
The year a register states the building was completed; null when none states it.
completed_by_yearinteger or nullrequired
Where a register dates the building only by a census period: the last year of that period, the year it stood by. Null otherwise.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it. This is the photo alone: solar_presence settles it with the registers of connected installations, which outrank a photo.
statusdetected | none_seen | unclear | not_checkedrequired
detected, none_seen, unclear, or not_checked (never checked, or the photo was too coarse to check).
photo_datestring (date) or nullrequired
Date of the photo checked; null when undated or never checked.
confidencenumber or nullrequired0–1
The check's confidence in its result, 0 to 1; null when not checked.
analysed_onstring (date) or nullrequired
The day the photo was checked for panels; null when never checked.
photo_resolution_cmnumber or nullrequired≥ 0
How fine the photo is, in centimetres per pixel; a photo too coarse to check is why a roof stays not_checked. Null when not known.
solar_presenceregistered | detected | registered_at_address | none_seen | unclear | unknownrequired
Whether the building carries solar panels, settled across the official registers of connected solar installations and the roof photo of existing_solar_panels. A register entry is the stronger evidence: a photo may predate an installation or miss it. registered: a register states an installation at the building's address, and the building alone holds that address or its own photo shows the panels. detected: panels are seen in the photo and no register states an installation. registered_at_address: a register states an installation at an address this building shares with others (registered_solar.address_building_count of them) and its photo shows none, so the register does not say which roof carries the panels: not a plain yes. none_seen: a photo detailed enough shows no panels and no register states an installation. unclear: the photo is unclear and no register states one. unknown: neither says. A building no register names is never thereby without solar: an installation may be off the grid, or registered under an address written otherwise. The solar_presence and exclude_solar_presence filters of GET /buildings read this field.
registered_solarRegisteredSolar or any or nullrequired
The solar installations official registers state at the building's address; not null exactly when solar_presence is registered or registered_at_address. Null says nothing of the roof.
installation_countintegerrequired≥ 1
Installations registered at the address.
installed_power_kwnumber or nullrequired
Installed power in kW: the installations' sum where every one states its own, null otherwise, never a partial sum.
export_power_kwnumber or nullrequired
Power approved to feed the grid, in kW: the installations' sum where every one states its own, null otherwise.
storage_capacity_kwhnumber or nullrequired
Energy storage in kWh: the sum where every installation that stores states its capacity, null otherwise; often null even where has_storage is true.
has_storageboolean or nullrequired
True where an installation is stated to store energy, false where every installation is stated to store none, null where the register does not say. A register of generation licences does not record storage.
first_connected_onstring (date) or nullrequired
The earliest date the installations state; null when not stated, or when a register states only the year (establishment_year), which is then given as first_connected_year alone. What it dates is in kinds: a connection certificate for grid_connection, the start of the current holder's licence for generation_licence, when the plant may be older.
latest_connected_onstring (date) or nullrequired
The latest date the installations state, of the same meaning as first_connected_on, and the same date for a single installation.
first_connected_yearinteger or nullrequired
The year of the earliest date the installations state, given whenever a date is. Where a register states only the year (establishment_year in kinds) it is the only date given: first_connected_on and latest_connected_on are then null. Null when nothing is stated.
latest_connected_yearinteger or nullrequired
The year of the latest date the installations state, of the same meaning as first_connected_year, and the same year for a single installation.
address_building_countintegerrequired≥ 1
Buildings holding the address the register names, this one included. Of several installations it is the fewest: one at an address the building alone holds is its own.
shares_addressbooleanrequired
True when address_building_count is above 1: the register then does not say which of the buildings carries the panels.
kindsarray of grid_connection | generation_licence | establishment_yearrequired
What the registers record, which says what the dates mean. grid_connection: a grid operator's list of connected installations, dated by the connection certificate. generation_licence: a regulator's generation licences, dated by the start of the current holder's licence, so the plant may be older and the date is never when it was installed. establishment_year: a building register's installations, dated by the year the installation was established as an owner or a municipality states it, never by its connection; only the year is stated, so the dates are null and only first_connected_year and latest_connected_year are given. Usually one kind; empty only when the kind could not be read.
reported_throughstring (date)required
The last day of the latest month the registers report: an installation entered after it is not yet listed.
solar_potentialSolarPotential or any or nullrequired
Rooftop solar potential; null where the roof has not been modelled.
max_panel_countinteger or nullrequired
Solar panels that fit on the roof.
max_capacity_kwpnumber or nullrequired
Capacity of those panels, in kWp.
yearly_energy_kwhnumber or nullrequired
Energy they would produce in a year, in kWh.
usable_roof_area_m2number or nullrequired
Roof area usable for panels, in m².
co2_savings_kg_per_yearnumber or nullrequired
CO₂ the installation would save, in kg a year.
basismeasured | measured_cut_to_outline | estimated or nullrequired
measured where the figures come from the roof itself as measured: a surface model read over it, or roof planes an open survey measured on the building (roof_analysis.roof_survey says how). measured_cut_to_outline where the measured roof took in the roofs attached to the building (a terraced or semi-detached house) and was cut to the building's outline: its planes and panels were measured, but each is kept or dropped whole by where its centre lies, so the figures approximate the building's own part. estimated where they are modelled from the footprint and sunshine. Null when not said.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
registered_business_employeesstring or nullrequired
The largest stated size of a business registered at the address, as the registered_business_employees sort and filters read it: an exact count (12), a band (10–49) or an open top band (1000 or more); null when none is stated.
registered_business_turnoverTurnover or any or nullrequired
The largest latest turnover of a business registered at the address, as the registered_business_turnover sort and filters read it; null when none is on record.
amountintegerrequired
Turnover, in whole units of currency.
currencystring or nullrequired
ISO 4217 currency of the statement.
financial_yearinteger or nullrequired
The financial year of the statement.
flood_zone5_year | 10_year | 20_year | 50_year | 100_year | 100_year_climate_change | 500_year | 1000_year | 10000_year or nullrequired
The most frequently flooded zone of an official flood hazard map the building lies in, named by the return period of its flood; 100_year_climate_change is the 1-in-100-year flood under the climate the map projects. Null means outside every zone only where flood_zone_mapped is true; elsewhere the zone is unknown.
flood_zone_mappedbooleanrequired
True where a served flood hazard map covers the building. Flood maps are served only where their licence allows it; where none covers the building this is false and its flood zone is unknown, never "no flood risk".
flood_zone_sourcestring or nullrequired
The credit and the reading the flood map's publisher requires wherever its zone is shown, such as Denmark's "Kilde: Kystdirektoratet, Kystplanlægger.dk" with its note that the zone is a screening, never an assessment of the property. Null where no served map covers the building, or its publisher requires none.
seismic_design_acceleration_gnumber or nullrequired
The design peak ground acceleration of the building's site, in g, as the national seismic design code maps it (P100-1/2013 in Romania); null when unknown.
seismic_risk_classRsI | RsII | RsIII | RsIV | U1 | U2 | U3 | consolidated or nullrequired
The seismic risk class an official list of technically assessed buildings gives the building: RsI (the highest risk) to RsIV, the urgency classes U1 (the most urgent) to U3 older assessments set, or consolidated (strengthened since). Null when the building is on no such list, which says nothing of its risk.
seismic_risk_assessment_yearinteger or nullrequired
The year of the assessment that set seismic_risk_class; null when not stated.
owner_typeprivate_person | social_housing | company | association | cooperative_housing | municipality | region | state | other or nullrequired
The kind of owner the building's property has on record, never who owns it: private_person (private persons or a partnership of them), social_housing (a non-profit social housing organisation), company, association (an association, foundation or self-owned institution), cooperative_housing (a housing co-operative), municipality, region, state, or other (any other owner, or owners of several of these kinds together; nothing more is on record). Null means unknown: no record states one kind for the building, as for a building divided into flats owned one by one.
app_urlstring (uri)required
The building in the baseray app.
entrancesinteger or nullrequired
Entrances: each listed address of the building counts as one; null when none are listed.
stated_factsarray of StatedFactrequired
Everything the building's record states, as it words it; empty when no record is on file. A floor area here is the record's own figure; the building's floor area is floor_area.
factstringrequired
What the fact is, e.g. use, construction_year, completed_by_year (the year a building stood by, where it is dated only by a period ending then), floors_above_ground, floors_below_ground, built_up_area, floor_area, enclosed_volume, dwelling_count, unit_count, heating, cadastral_number or land_book_number_as_filed (a land book number as written into the register when the building was filed: unverified, never the land book in force). New kinds of fact may appear; treat an unknown one by its label.
labelstringrequired
The fact's name, for people.
valuestring or number or array of stringrequired
A number (a count, a year, or a quantity in unit), the record's wording, or its wordings.
unitstring or nullrequired
The unit of a quantity: m2 or m3; null for counts, years and wordings.
notestring or nullrequired
How the record defines or qualifies the value; null when it adds nothing.
is_currentbooleanrequired
False once the building is no longer in the catalogue's current release.
replaced_by_building_idstring (uuid) or nullrequired
The building now standing on a retired building's ground, when there is one.
outline_referencefootprint | roof_edge | combined or nullrequired
What the building's outline, and so footprint_area_m2, traces where the building is drawn from parts: footprint (the walls where they meet the ground), roof_edge (the roof seen from above, eaves included) or combined (parts of both kinds); null where it is not drawn from parts.
partsarray of BuildingPartrequired
The parts the building is drawn from, register parts first, then the largest; empty where it is not drawn from parts.
originregister | unregisteredrequired
register (a construction the building register records) or unregistered (a structure the register does not record; this says nothing of whether it is permitted).
record_referencestring or nullrequired
The register's own reference for the construction's record; null for a part not in the register.
labelstring or nullrequired
How the register names the construction, e.g. 62847-C1; null where it names none.
outline_referencefootprint | roof_edgerequired
What the part's outline traces: footprint (the walls where they meet the ground, as the register surveys them) or roof_edge (the roof seen from above, eaves included).
area_m2numberrequired
The area of the part's outline, in m².
eave_height_mnumber or nullrequired≥ 0
The height of the eaves; null when unknown.
has_3d_modelboolean or nullrequired
Whether a 3D model of the building's roof is on record, reconstructed from a surface model of the roof or from the analysed roof planes; it does not say which. Null when unknown.
addressesBuildingAddresses or any or nullrequired
Every address of the building, each entrance with the dwellings behind it; null when none is on record.
confirmationconfirmed | records_disagree | single_record or nullrequired
confirmed (several records give the shown street the same number), records_disagree (they give it different numbers) or single_record; null when no number was compared.
addressesarray of BuildingAddressrequired
Every address, the shown one first.
linestringrequired
The address written the country's way: street and number, then the block (bl.) and entrance (sc.) where given.
postal_codestring or nullrequired
The address's official postcode where one is known, else the one its record writes; null when none is.
localitystring or nullrequired
The town or village.
entrancestring or nullrequired
The entrance the address names; null for an address that names none.
dwellings_at_entranceinteger or nullrequired≥ 0
The dwellings counted behind this entrance, never the building's total; null for an address that is no entrance or whose dwellings are not counted.
relationshown | same_address | different_number | other_street | another_entrance or nullrequired
shown (the address the building is shown with), same_address (another record gives the shown street the same number), different_number (another record gives the shown street a different number), other_street (the building's front on another street), another_entrance (another entrance or number of the building); null when not compared.
unitsUnitsSummary or any or nullrequired
What the building's record says of its units; null when it neither lists units nor states how many there are.
listedinteger or nullrequired≥ 1
The units the record lists; null when it lists none, which says nothing of how many there are.
listed_dwellingsinteger or nullrequired≥ 0
The dwellings among the listed units; null when none are listed.
statedinteger or nullrequired≥ 0
The units the record states the building has; null when it states no total.
stated_dwellingsinteger or nullrequired≥ 0
The dwellings the record states the building has; null when it states no total.
list_is_completebooleanrequired
True when the record lists units and its list matches every total it states: a unit missing from an incomplete list may still exist.
by_floorarray of FloorUnits or nullrequired
The listed units on each floor, bottom to top; a unit whose floor is not known is on none. Null when no units are listed, never to be read as none.
by_kindarray of UnitKindCount or nullrequired
The listed units of each kind, kinds the list holds none of left out. Null when no units are listed.
entrancesarray of stringrequired
The entrances the listed units are reached by, as the record names them, in reading order.
entrance_dwellingsarray of EntranceDwellingsrequired
The dwellings the record counts behind each entrance; empty when it counts none.
entrancestringrequired
The entrance, by its address as the record writes it.
dwellingsintegerrequired≥ 0
The dwellings counted behind it.
record_sheetRecordSheet or any or nullrequired
The building's whole record as its register lays it out; null when no register record is on file.
existsboolean or nullrequired
False when the record says the building no longer stands; null where the register keeps no such mark.
validatedboolean or nullrequired
Whether the register marks the record checked; null where it keeps no such mark.
cadastral_numberstring or nullrequired
The building's cadastral number, where the record keeps one.
property_numberstring or nullrequired
The property number, where the record keeps one.
land_book_numberstring or nullrequired
Always null: the land book in force is not known. The land book number the register holds, as it was filed, is land_book_number_as_filed.
land_book_number_as_filedstring or nullrequired
The land book number as written into the register when the building was filed, where it holds one. Free text, not checked against the land book in force: often an old paper land book's number ("447 Ocna Dej"), which may since have closed or been renumbered. Never use it to order a land book extract.
read_onstring (date) or nullrequired
The day the record was last read.
sectionsarray of RecordSheetSectionrequired
Every fact on record, by section; empty when the record states none beyond its numbers.
titlestringrequired
The section's title.
rowsarray of RecordSheetRowrequired
The facts in the section.
labelstringrequired
The fact's name, or a list entry's own wording.
valuestring or number or booleanrequired
The value as the record states it: a wording, a number in unit, or a yes or no.
unitstring or nullrequired
The unit of a quantity as written, e.g. m2, W/m2K, kWh/m2/year; null for wordings and counts.
roof_analysisRoofAnalysis or any or nullrequired
The roof analysis behind solar_potential, plane by plane; null when the roof has not been analysed.
whole_roof_area_m2number or nullrequired≥ 0
The whole roof's area.
ground_area_m2number or nullrequired≥ 0
The ground the analysed roof covers.
peak_sunshine_hours_per_yearnumber or nullrequired≥ 0
Peak sunshine hours a year at the roof.
yearly_irradiance_kwh_per_m2number or nullrequired≥ 0
The solar energy a square metre of the roof receives in a year.
imagery_datestring (date) or nullrequired
The date of the imagery the roof was read from; null when undated or assumed.
imagery_qualitystring or nullrequired
The imagery's quality as the analysis grades it.
confidencenumber or nullrequired0–1
The analysis's confidence, 0 to 1.
planes_are_assumedboolean or nullrequired
True where the planes are an estimate's assumption, false where they were measured, null where unsaid.
roof_surveylidar | image_matching or nullrequired
Where the planes were measured on the building by an open survey: how it measured them, lidar (airborne laser scanning) or image_matching (a point cloud matched from overlapping aerial photographs, which is not lidar). Null where the planes come from no such survey (read from imagery, or assumed) or from a survey baseray does not list.
panel_capacity_wnumber or nullrequired≥ 0
The power of the panel the layout assumes.
panel_width_mnumber or nullrequired≥ 0
The width of that panel.
panel_height_mnumber or nullrequired≥ 0
The height of that panel.
planesarray of RoofPlanerequired
Every plane of the roof, by its number.
planeintegerrequired≥ 1
The number the analysis gives the plane.
facingnorth | north-east | east | south-east | south | south-west | west | north-westrequired
The compass direction the plane faces.
azimuth_degreesnumberrequired
The bearing the plane faces: 0 north, 90 east, 180 south.
pitch_degreesnumberrequired
The plane's slope from the horizontal.
area_m2numberrequired≥ 0
The plane's area.
sunshine_hours_per_yearnumber or nullrequired≥ 0
The sunshine the plane gets in a year; null when not analysed.
panelsintegerrequired≥ 0
Panels the largest layout puts on the plane.
climateClimate or any or nullrequired
The local climate; null when none is on record.
periodsarray of ClimatePeriodrequired
The temperatures, frost and hot days and rainfall per period; a period with no figure on record is left out.
periodlatest_year | recent_average | current_yearrequired
latest_year (the last complete year), recent_average (yearly average over the recent years) or current_year (this year so far, preliminary).
fromstring or nullrequired
Where the period starts: a year, or a date for current_year.
tostring or nullrequired
Where the period ends: a year, or a date for current_year.
data_throughstring (date) or nullrequired
The last day the data covers.
coldest_day_cnumber or nullrequired
The lowest daily temperature, °C.
hottest_day_cnumber or nullrequired
The highest daily temperature, °C.
frost_daysnumber or nullrequired≥ 0
Days below freezing.
hot_daysnumber or nullrequired≥ 0
Hot days.
precipitation_mmnumber or nullrequired≥ 0
Rainfall over the year, mm.
wet_daysnumber or nullrequired≥ 0
Wet days.
wettest_day_mmnumber or nullrequired≥ 0
Rainfall on the wettest day, mm.
heating_degree_daysarray of HeatingDegreeDaysrequired
The heating degree-days per period, the climate normal first; a period not on record is left out.
periodstandard_normal | recent_average | latest_yearrequired
standard_normal (the climate normal), recent_average (yearly average over the recent years) or latest_year (the last complete year).
fromstringrequired
The first year of the period.
tostringrequired
The last year of the period.
degree_daysnumberrequired≥ 0
Heating degree-days, K·d.
temperature_trend_c_per_decadenumber or nullrequired
How fast the location has warmed, °C per decade; null where the trend is not on record or has no clear direction.
energy_networksarray of EnergyNetworkLevelrequired
Gas and district-heating network evidence from the locality down to the building; empty when none is on record.
networknatural_gas | district_heatingrequired
The network.
levellocality | service_area | street | address | buildingrequired
How close to the building the evidence reaches: the locality, the service area, the street, the address or the building's own connection.
presentbooleanrequired
Whether the network is on record at that level.
yearinteger or nullrequired
The year the evidence refers to.
heating_estimateHeatingEstimate or any or nullrequired
The heating estimate, a model estimate; null when the building is not modelled.
useful_heat_kwh_per_yearnumber or nullrequired
The headline: the heat the building needs in a year for space heating, as it was built (insulated or re-glazed since, it needs less).
useful_heat_low_kwh_per_yearnumber or nullrequired
Where the number of floors is not on record: the lowest need over the floor counts the building may have.
useful_heat_high_kwh_per_yearnumber or nullrequired
Where the number of floors is not on record: the highest need over the floor counts the building may have.
useful_heat_kwh_per_m2_per_yearnumber or nullrequired
The heat need per m² of heated floor area.
heated_floor_area_m2number or nullrequired
The heated floor area the need is worked out on.
heated_floor_area_basisstring or nullrequired
What the heated floor area rests on, e.g. register_heated_area or volume_share.
useful_heat_kwh_per_dwelling_per_yearnumber or nullrequired
The heat need of one dwelling on average, where the dwellings are counted.
dwelling_countinteger or nullrequired
The dwellings that figure is per.
delivered_energy_kwh_per_yearnumber or nullrequired
The energy delivered to the heating system for that need.
expected_energy_kwh_per_yearnumber or nullrequired
The energy the building is expected to use for heating.
peak_heat_load_kwnumber or nullrequired
The peak heat load.
peak_heat_load_basisstring or nullrequired
What the peak heat load rests on; screening_estimate is an order of magnitude at the standard winter design temperature of the location.
design_outdoor_temperature_cnumber or nullrequired
The outdoor temperature the peak heat load is worked out at, °C.
hot_water_heat_kwh_per_yearnumber or nullrequired
The heat in the hot water, apart from space heating and in none of the other figures.
hot_water_personsnumber or nullrequired
The people the hot water is worked out for.
hot_water_occupancy_basisstring or nullrequired
Where those people come from: counted_dwellings, one_household or heated_floor_area.
construction_period_is_on_recordboolean or nullrequired
False when the construction period behind the estimate is assumed, not read from the building's own record.
era_scenariosarray of HeatingEraScenariorequired
Where the construction year is not on record: the need under each construction period.
first_yearinteger or nullrequired
The period's first year; null for the earliest.
last_yearinteger or nullrequired
The period's last year; null for the latest.
useful_heat_kwh_per_yearnumberrequired≥ 0
The heat need under that period.
is_takenbooleanrequired
Whether the other figures assume this period.
neighbours_are_measuredboolean or nullrequired
False when the neighbouring buildings were not measured and every wall was taken to face the weather.
neighbour_wall_sharenumber or nullrequired
The share of the walls, 0 to 1, standing against neighbouring buildings; null where they were not measured.
heat_pump_scenariosarray of HeatPumpScenariorequired
The electricity a heat pump would use per seasonal performance factor.
seasonal_performance_factornumberrequired≥ 0
The seasonal performance factor assumed.
electricity_kwh_per_yearnumber or nullrequired≥ 0
The electricity a year.
Example
{
  "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "address": "Bulevardul 15 Noiembrie 78",
  "nearest_road": null,
  "address_evidence": "address_record",
  "address_corroboration": "single_source",
  "postal_code": null,
  "locality": "Brașov",
  "country": "RO",
  "latitude": 45.64988,
  "longitude": 25.61044,
  "category": "commercial",
  "category_evidence": "confirmed",
  "building_type": "retail",
  "roof_shape": "flat",
  "footprint_area_m2": 31252,
  "height": {
    "metres": 18,
    "basis": "estimated"
  },
  "volume_m3": 562531,
  "volume_basis": "estimated",
  "floor_area": {
    "square_metres": 500032,
    "basis": "estimated",
    "scope": "gross_above_ground"
  },
  "floors": 16,
  "floors_including_underground": null,
  "construction_year": null,
  "completed_by_year": null,
  "dwellings": null,
  "existing_solar_panels": {
    "status": "none_seen",
    "photo_date": "2022-09-08",
    "confidence": 0.988,
    "analysed_on": null,
    "photo_resolution_cm": null
  },
  "solar_presence": "none_seen",
  "registered_solar": null,
  "solar_potential": null,
  "registered_business_count": 0,
  "registered_business_employees": null,
  "registered_business_turnover": null,
  "flood_zone": null,
  "flood_zone_mapped": false,
  "flood_zone_source": null,
  "seismic_design_acceleration_g": null,
  "seismic_risk_class": null,
  "seismic_risk_assessment_year": null,
  "owner_type": null,
  "app_url": "https://app.baseray.tech/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "entrances": null,
  "stated_facts": [],
  "is_current": true,
  "replaced_by_building_id": null,
  "outline_reference": null,
  "parts": [],
  "eave_height_m": null,
  "has_3d_model": null,
  "addresses": null,
  "units": null,
  "record_sheet": null,
  "roof_analysis": null,
  "climate": null,
  "energy_networks": [],
  "heating_estimate": null
}

RegisteredBusiness

Registered office at this address; never ownership or occupancy.

namestringrequired
The business's registered name.
registration_numberstringrequired
Its company registration number (a CUI in Romania, an IČO in Czechia, a CVR number in Denmark).
countrystringrequired
ISO 3166-1 alpha-2 country of the registration number.
employeesstring or nullrequired
Employees as stated: an exact count (12), a band (10–49) or an open top band (1000 or more); null when not stated.
employees_stated_forstring or nullrequired
When the size was stated: a date, or a financial year such as FY 2024.
advertising_protectedboolean or nullrequired
True where the business's register protects it from direct marketing (in Denmark, reklamebeskyttelse under CVR-loven § 19: "Reklamebeskyttet – må ikke bruges til direkte markedsføring"): its data may not be used for direct marketing and may be passed on only marked as protected. False where the register states it unprotected; null where the register states nothing of the kind.
natural_personboolean or nullrequired
True where the register's legal form makes the business a person's: a sole proprietorship or personally owned small business, or the estate of a deceased person. Its name is then usually its owner's. Null where the register states no legal form.
legal_formobject or any or nullrequired
The legal form as the register codes and words it; null where it states none.
codestringrequired
The register's code for the form.
labelstringrequired
The form in the register's own words.
person_kindpersonally_owned | estate or nullrequired
For a person's business: personally_owned ("Personligt ejet virksomhed": a sole proprietorship or personally owned small business) or estate ("Dødsbo": the estate of a deceased person). Null for any other business.
ceased_onstring (date) or nullrequired
The day a person's business ceased, given only for one still served after it ceased ("Ophørt"); null while it is active.
Example
{
  "employees": "10–49",
  "employees_stated_for": "FY 2024",
  "advertising_protected": false,
  "natural_person": false,
  "legal_form": {
    "code": "80",
    "label": "Anpartsselskab"
  },
  "person_kind": "personally_owned"
}

PaginationMeta

totalintegerrequired≥ 0
Buildings matching, counted up to 10,000.
total_is_cappedbooleanrequired
True when counting stopped at 10,000; narrow the box for an exact total.
limitintegerrequired
The page size used.
offsetintegerrequired
The offset used.
sortvolume | area | height | registered_business_turnover | registered_business_employeesrequired
The ranking used.
Example
{
  "sort": "volume"
}

BuildingPage

dataarray of BuildingSummaryrequired
building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
The building's address as a record states it (address_evidence says which kind): street and house number, a Romanian village's nr. 350 where the record names no street, or a Czech municipality and number (Lhota 25), with the block where one is given. Null when no address of the building is on record; the nearest named road is then nearest_road, never this.
nearest_roadstring or nullrequired
The named road nearest the building, given only where no address of it is on record (address is then null). It helps find the building but is not its address: no house number is known.
address_evidenceaddress_record | business_listing or nullrequired
What kind of record address comes from: address_record (an address record of the building) or business_listing (a listing of a business at the building, not an address record of it). Null when address is null or the kind is unknown.
address_corroborationcorroborated | single_source | conflicting or nullrequired
How other records back the house number of address, as the address_corroboration filter reads it: corroborated (an independent record gives the same number), single_source (only one record) or conflicting (another record gives another number). Null without a house number.
postal_codestring or nullrequired
The official postcode of the building's address; null when none is on record.
localitystring or nullrequired
Town, city or village.
countrystring or nullrequired
ISO 3166-1 alpha-2 country code.
latitudenumberrequired
Latitude of the building's centre, WGS84.
longitudenumberrequired
Longitude of the building's centre, WGS84.
categoryresidential_house | apartment_block | commercial | industrial | public | agricultural | ancillary | unknownrequired
Building category; ancillary is an annex or outbuilding.
category_evidenceconfirmed | corroborated | inferred | conflicting | unconfirmedrequired
How firmly category is known: confirmed (an official register states it), corroborated (several sources agree), inferred, conflicting (sources disagree) or unconfirmed (always so for unknown).
building_typestring or nullrequired
The building's granular type where a record states one, as the building_type filter reads it, e.g. office, warehouse, school, apartments; null when none is stated.
roof_shapestring or nullrequired
The roof's shape, as the roof_shape filter reads it, e.g. gabled, hipped, flat; null when unknown.
footprint_area_m2numberrequired
Area of the building's outline, in m². It is the ground footprint only where the outline is drawn at the walls (outline_reference footprint on the building's detail); an outline drawn at the roof's edge (roof_edge) takes in the eaves and is larger.
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | stated | estimatedrequired
measured (the building itself was measured), stated (a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) or estimated (modelled).
volume_m3number or nullrequired
Volume, in m³; null when unknown.
volume_basismeasured | estimated or nullrequired
Whether the volume is measured or estimated; null with the volume.
floor_areaFloorArea or any or nullrequired
Floor area, with what it rests on and what it counts; null when unknown.
square_metresnumberrequired
Floor area, in m².
basismeasured | stated | estimated or nullrequired
stated (a record states it for the building) or estimated (modelled: the footprint, or a record's built area, times the floors); null when unknown.
scopegross_whole_building | net_whole_building | gross_full_storeys | gross_above_ground or nullrequired
What the figure counts: gross_whole_building (every storey, walls included), net_whole_building (the usable area of every storey, walls excluded), gross_full_storeys (the ground floor and every full storey, walls included; the basement and the attic are not counted) or gross_above_ground (the footprint times the floors above ground, walls included); null when unknown.
floorsinteger or nullrequired
Floors above ground; null when unknown.
floors_including_undergroundinteger or nullrequired
Only where floors is unknown: the floors above and below ground counted together, as a building register states them (Czechia's counts them so, a habitable attic as one). How many of them are above ground is not on record. Null otherwise.
construction_yearinteger or nullrequired
The year a register states the building was completed; null when none states it.
completed_by_yearinteger or nullrequired
Where a register dates the building only by a census period: the last year of that period, the year it stood by. Null otherwise.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it. This is the photo alone: solar_presence settles it with the registers of connected installations, which outrank a photo.
statusdetected | none_seen | unclear | not_checkedrequired
detected, none_seen, unclear, or not_checked (never checked, or the photo was too coarse to check).
photo_datestring (date) or nullrequired
Date of the photo checked; null when undated or never checked.
confidencenumber or nullrequired0–1
The check's confidence in its result, 0 to 1; null when not checked.
analysed_onstring (date) or nullrequired
The day the photo was checked for panels; null when never checked.
photo_resolution_cmnumber or nullrequired≥ 0
How fine the photo is, in centimetres per pixel; a photo too coarse to check is why a roof stays not_checked. Null when not known.
solar_presenceregistered | detected | registered_at_address | none_seen | unclear | unknownrequired
Whether the building carries solar panels, settled across the official registers of connected solar installations and the roof photo of existing_solar_panels. A register entry is the stronger evidence: a photo may predate an installation or miss it. registered: a register states an installation at the building's address, and the building alone holds that address or its own photo shows the panels. detected: panels are seen in the photo and no register states an installation. registered_at_address: a register states an installation at an address this building shares with others (registered_solar.address_building_count of them) and its photo shows none, so the register does not say which roof carries the panels: not a plain yes. none_seen: a photo detailed enough shows no panels and no register states an installation. unclear: the photo is unclear and no register states one. unknown: neither says. A building no register names is never thereby without solar: an installation may be off the grid, or registered under an address written otherwise. The solar_presence and exclude_solar_presence filters of GET /buildings read this field.
registered_solarRegisteredSolar or any or nullrequired
The solar installations official registers state at the building's address; not null exactly when solar_presence is registered or registered_at_address. Null says nothing of the roof.
installation_countintegerrequired≥ 1
Installations registered at the address.
installed_power_kwnumber or nullrequired
Installed power in kW: the installations' sum where every one states its own, null otherwise, never a partial sum.
export_power_kwnumber or nullrequired
Power approved to feed the grid, in kW: the installations' sum where every one states its own, null otherwise.
storage_capacity_kwhnumber or nullrequired
Energy storage in kWh: the sum where every installation that stores states its capacity, null otherwise; often null even where has_storage is true.
has_storageboolean or nullrequired
True where an installation is stated to store energy, false where every installation is stated to store none, null where the register does not say. A register of generation licences does not record storage.
first_connected_onstring (date) or nullrequired
The earliest date the installations state; null when not stated, or when a register states only the year (establishment_year), which is then given as first_connected_year alone. What it dates is in kinds: a connection certificate for grid_connection, the start of the current holder's licence for generation_licence, when the plant may be older.
latest_connected_onstring (date) or nullrequired
The latest date the installations state, of the same meaning as first_connected_on, and the same date for a single installation.
first_connected_yearinteger or nullrequired
The year of the earliest date the installations state, given whenever a date is. Where a register states only the year (establishment_year in kinds) it is the only date given: first_connected_on and latest_connected_on are then null. Null when nothing is stated.
latest_connected_yearinteger or nullrequired
The year of the latest date the installations state, of the same meaning as first_connected_year, and the same year for a single installation.
address_building_countintegerrequired≥ 1
Buildings holding the address the register names, this one included. Of several installations it is the fewest: one at an address the building alone holds is its own.
shares_addressbooleanrequired
True when address_building_count is above 1: the register then does not say which of the buildings carries the panels.
kindsarray of grid_connection | generation_licence | establishment_yearrequired
What the registers record, which says what the dates mean. grid_connection: a grid operator's list of connected installations, dated by the connection certificate. generation_licence: a regulator's generation licences, dated by the start of the current holder's licence, so the plant may be older and the date is never when it was installed. establishment_year: a building register's installations, dated by the year the installation was established as an owner or a municipality states it, never by its connection; only the year is stated, so the dates are null and only first_connected_year and latest_connected_year are given. Usually one kind; empty only when the kind could not be read.
reported_throughstring (date)required
The last day of the latest month the registers report: an installation entered after it is not yet listed.
solar_potentialSolarPotential or any or nullrequired
Rooftop solar potential; null where the roof has not been modelled.
max_panel_countinteger or nullrequired
Solar panels that fit on the roof.
max_capacity_kwpnumber or nullrequired
Capacity of those panels, in kWp.
yearly_energy_kwhnumber or nullrequired
Energy they would produce in a year, in kWh.
usable_roof_area_m2number or nullrequired
Roof area usable for panels, in m².
co2_savings_kg_per_yearnumber or nullrequired
CO₂ the installation would save, in kg a year.
basismeasured | measured_cut_to_outline | estimated or nullrequired
measured where the figures come from the roof itself as measured: a surface model read over it, or roof planes an open survey measured on the building (roof_analysis.roof_survey says how). measured_cut_to_outline where the measured roof took in the roofs attached to the building (a terraced or semi-detached house) and was cut to the building's outline: its planes and panels were measured, but each is kept or dropped whole by where its centre lies, so the figures approximate the building's own part. estimated where they are modelled from the footprint and sunshine. Null when not said.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
registered_business_employeesstring or nullrequired
The largest stated size of a business registered at the address, as the registered_business_employees sort and filters read it: an exact count (12), a band (10–49) or an open top band (1000 or more); null when none is stated.
registered_business_turnoverTurnover or any or nullrequired
The largest latest turnover of a business registered at the address, as the registered_business_turnover sort and filters read it; null when none is on record.
amountintegerrequired
Turnover, in whole units of currency.
currencystring or nullrequired
ISO 4217 currency of the statement.
financial_yearinteger or nullrequired
The financial year of the statement.
flood_zone5_year | 10_year | 20_year | 50_year | 100_year | 100_year_climate_change | 500_year | 1000_year | 10000_year or nullrequired
The most frequently flooded zone of an official flood hazard map the building lies in, named by the return period of its flood; 100_year_climate_change is the 1-in-100-year flood under the climate the map projects. Null means outside every zone only where flood_zone_mapped is true; elsewhere the zone is unknown.
flood_zone_mappedbooleanrequired
True where a served flood hazard map covers the building. Flood maps are served only where their licence allows it; where none covers the building this is false and its flood zone is unknown, never "no flood risk".
flood_zone_sourcestring or nullrequired
The credit and the reading the flood map's publisher requires wherever its zone is shown, such as Denmark's "Kilde: Kystdirektoratet, Kystplanlægger.dk" with its note that the zone is a screening, never an assessment of the property. Null where no served map covers the building, or its publisher requires none.
seismic_design_acceleration_gnumber or nullrequired
The design peak ground acceleration of the building's site, in g, as the national seismic design code maps it (P100-1/2013 in Romania); null when unknown.
seismic_risk_classRsI | RsII | RsIII | RsIV | U1 | U2 | U3 | consolidated or nullrequired
The seismic risk class an official list of technically assessed buildings gives the building: RsI (the highest risk) to RsIV, the urgency classes U1 (the most urgent) to U3 older assessments set, or consolidated (strengthened since). Null when the building is on no such list, which says nothing of its risk.
seismic_risk_assessment_yearinteger or nullrequired
The year of the assessment that set seismic_risk_class; null when not stated.
owner_typeprivate_person | social_housing | company | association | cooperative_housing | municipality | region | state | other or nullrequired
The kind of owner the building's property has on record, never who owns it: private_person (private persons or a partnership of them), social_housing (a non-profit social housing organisation), company, association (an association, foundation or self-owned institution), cooperative_housing (a housing co-operative), municipality, region, state, or other (any other owner, or owners of several of these kinds together; nothing more is on record). Null means unknown: no record states one kind for the building, as for a building divided into flats owned one by one.
app_urlstring (uri)required
The building in the baseray app.
metaPaginationMetarequired
totalintegerrequired≥ 0
Buildings matching, counted up to 10,000.
total_is_cappedbooleanrequired
True when counting stopped at 10,000; narrow the box for an exact total.
limitintegerrequired
The page size used.
offsetintegerrequired
The offset used.
sortvolume | area | height | registered_business_turnover | registered_business_employeesrequired
The ranking used.
linksLinksrequired
nextstring (uri) or nullrequired
The next page's URL; null on the last page.
Example
{
  "data": [
    {
      "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
      "address": "Bulevardul 15 Noiembrie 78",
      "nearest_road": null,
      "address_evidence": "address_record",
      "address_corroboration": "single_source",
      "postal_code": null,
      "locality": "Brașov",
      "country": "RO",
      "latitude": 45.64988,
      "longitude": 25.61044,
      "category": "commercial",
      "category_evidence": "confirmed",
      "building_type": "retail",
      "roof_shape": "flat",
      "footprint_area_m2": 31252,
      "height": {
        "metres": 18,
        "basis": "estimated"
      },
      "volume_m3": 562531,
      "volume_basis": "estimated",
      "floor_area": {
        "square_metres": 500032,
        "basis": "estimated",
        "scope": "gross_above_ground"
      },
      "floors": 16,
      "floors_including_underground": null,
      "construction_year": null,
      "completed_by_year": null,
      "dwellings": null,
      "existing_solar_panels": {
        "status": "none_seen",
        "photo_date": "2022-09-08",
        "confidence": 0.988,
        "analysed_on": null,
        "photo_resolution_cm": null
      },
      "solar_presence": "none_seen",
      "registered_solar": null,
      "solar_potential": null,
      "registered_business_count": 0,
      "registered_business_employees": null,
      "registered_business_turnover": null,
      "flood_zone": null,
      "flood_zone_mapped": false,
      "flood_zone_source": null,
      "seismic_design_acceleration_g": null,
      "seismic_risk_class": null,
      "seismic_risk_assessment_year": null,
      "owner_type": null,
      "app_url": "https://app.baseray.tech/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720"
    }
  ],
  "meta": {
    "sort": "volume"
  },
  "links": {}
}

BuildingList

dataarray of BuildingSummaryrequired
Nearest first.
building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
The building's address as a record states it (address_evidence says which kind): street and house number, a Romanian village's nr. 350 where the record names no street, or a Czech municipality and number (Lhota 25), with the block where one is given. Null when no address of the building is on record; the nearest named road is then nearest_road, never this.
nearest_roadstring or nullrequired
The named road nearest the building, given only where no address of it is on record (address is then null). It helps find the building but is not its address: no house number is known.
address_evidenceaddress_record | business_listing or nullrequired
What kind of record address comes from: address_record (an address record of the building) or business_listing (a listing of a business at the building, not an address record of it). Null when address is null or the kind is unknown.
address_corroborationcorroborated | single_source | conflicting or nullrequired
How other records back the house number of address, as the address_corroboration filter reads it: corroborated (an independent record gives the same number), single_source (only one record) or conflicting (another record gives another number). Null without a house number.
postal_codestring or nullrequired
The official postcode of the building's address; null when none is on record.
localitystring or nullrequired
Town, city or village.
countrystring or nullrequired
ISO 3166-1 alpha-2 country code.
latitudenumberrequired
Latitude of the building's centre, WGS84.
longitudenumberrequired
Longitude of the building's centre, WGS84.
categoryresidential_house | apartment_block | commercial | industrial | public | agricultural | ancillary | unknownrequired
Building category; ancillary is an annex or outbuilding.
category_evidenceconfirmed | corroborated | inferred | conflicting | unconfirmedrequired
How firmly category is known: confirmed (an official register states it), corroborated (several sources agree), inferred, conflicting (sources disagree) or unconfirmed (always so for unknown).
building_typestring or nullrequired
The building's granular type where a record states one, as the building_type filter reads it, e.g. office, warehouse, school, apartments; null when none is stated.
roof_shapestring or nullrequired
The roof's shape, as the roof_shape filter reads it, e.g. gabled, hipped, flat; null when unknown.
footprint_area_m2numberrequired
Area of the building's outline, in m². It is the ground footprint only where the outline is drawn at the walls (outline_reference footprint on the building's detail); an outline drawn at the roof's edge (roof_edge) takes in the eaves and is larger.
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | stated | estimatedrequired
measured (the building itself was measured), stated (a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) or estimated (modelled).
volume_m3number or nullrequired
Volume, in m³; null when unknown.
volume_basismeasured | estimated or nullrequired
Whether the volume is measured or estimated; null with the volume.
floor_areaFloorArea or any or nullrequired
Floor area, with what it rests on and what it counts; null when unknown.
square_metresnumberrequired
Floor area, in m².
basismeasured | stated | estimated or nullrequired
stated (a record states it for the building) or estimated (modelled: the footprint, or a record's built area, times the floors); null when unknown.
scopegross_whole_building | net_whole_building | gross_full_storeys | gross_above_ground or nullrequired
What the figure counts: gross_whole_building (every storey, walls included), net_whole_building (the usable area of every storey, walls excluded), gross_full_storeys (the ground floor and every full storey, walls included; the basement and the attic are not counted) or gross_above_ground (the footprint times the floors above ground, walls included); null when unknown.
floorsinteger or nullrequired
Floors above ground; null when unknown.
floors_including_undergroundinteger or nullrequired
Only where floors is unknown: the floors above and below ground counted together, as a building register states them (Czechia's counts them so, a habitable attic as one). How many of them are above ground is not on record. Null otherwise.
construction_yearinteger or nullrequired
The year a register states the building was completed; null when none states it.
completed_by_yearinteger or nullrequired
Where a register dates the building only by a census period: the last year of that period, the year it stood by. Null otherwise.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it. This is the photo alone: solar_presence settles it with the registers of connected installations, which outrank a photo.
statusdetected | none_seen | unclear | not_checkedrequired
detected, none_seen, unclear, or not_checked (never checked, or the photo was too coarse to check).
photo_datestring (date) or nullrequired
Date of the photo checked; null when undated or never checked.
confidencenumber or nullrequired0–1
The check's confidence in its result, 0 to 1; null when not checked.
analysed_onstring (date) or nullrequired
The day the photo was checked for panels; null when never checked.
photo_resolution_cmnumber or nullrequired≥ 0
How fine the photo is, in centimetres per pixel; a photo too coarse to check is why a roof stays not_checked. Null when not known.
solar_presenceregistered | detected | registered_at_address | none_seen | unclear | unknownrequired
Whether the building carries solar panels, settled across the official registers of connected solar installations and the roof photo of existing_solar_panels. A register entry is the stronger evidence: a photo may predate an installation or miss it. registered: a register states an installation at the building's address, and the building alone holds that address or its own photo shows the panels. detected: panels are seen in the photo and no register states an installation. registered_at_address: a register states an installation at an address this building shares with others (registered_solar.address_building_count of them) and its photo shows none, so the register does not say which roof carries the panels: not a plain yes. none_seen: a photo detailed enough shows no panels and no register states an installation. unclear: the photo is unclear and no register states one. unknown: neither says. A building no register names is never thereby without solar: an installation may be off the grid, or registered under an address written otherwise. The solar_presence and exclude_solar_presence filters of GET /buildings read this field.
registered_solarRegisteredSolar or any or nullrequired
The solar installations official registers state at the building's address; not null exactly when solar_presence is registered or registered_at_address. Null says nothing of the roof.
installation_countintegerrequired≥ 1
Installations registered at the address.
installed_power_kwnumber or nullrequired
Installed power in kW: the installations' sum where every one states its own, null otherwise, never a partial sum.
export_power_kwnumber or nullrequired
Power approved to feed the grid, in kW: the installations' sum where every one states its own, null otherwise.
storage_capacity_kwhnumber or nullrequired
Energy storage in kWh: the sum where every installation that stores states its capacity, null otherwise; often null even where has_storage is true.
has_storageboolean or nullrequired
True where an installation is stated to store energy, false where every installation is stated to store none, null where the register does not say. A register of generation licences does not record storage.
first_connected_onstring (date) or nullrequired
The earliest date the installations state; null when not stated, or when a register states only the year (establishment_year), which is then given as first_connected_year alone. What it dates is in kinds: a connection certificate for grid_connection, the start of the current holder's licence for generation_licence, when the plant may be older.
latest_connected_onstring (date) or nullrequired
The latest date the installations state, of the same meaning as first_connected_on, and the same date for a single installation.
first_connected_yearinteger or nullrequired
The year of the earliest date the installations state, given whenever a date is. Where a register states only the year (establishment_year in kinds) it is the only date given: first_connected_on and latest_connected_on are then null. Null when nothing is stated.
latest_connected_yearinteger or nullrequired
The year of the latest date the installations state, of the same meaning as first_connected_year, and the same year for a single installation.
address_building_countintegerrequired≥ 1
Buildings holding the address the register names, this one included. Of several installations it is the fewest: one at an address the building alone holds is its own.
shares_addressbooleanrequired
True when address_building_count is above 1: the register then does not say which of the buildings carries the panels.
kindsarray of grid_connection | generation_licence | establishment_yearrequired
What the registers record, which says what the dates mean. grid_connection: a grid operator's list of connected installations, dated by the connection certificate. generation_licence: a regulator's generation licences, dated by the start of the current holder's licence, so the plant may be older and the date is never when it was installed. establishment_year: a building register's installations, dated by the year the installation was established as an owner or a municipality states it, never by its connection; only the year is stated, so the dates are null and only first_connected_year and latest_connected_year are given. Usually one kind; empty only when the kind could not be read.
reported_throughstring (date)required
The last day of the latest month the registers report: an installation entered after it is not yet listed.
solar_potentialSolarPotential or any or nullrequired
Rooftop solar potential; null where the roof has not been modelled.
max_panel_countinteger or nullrequired
Solar panels that fit on the roof.
max_capacity_kwpnumber or nullrequired
Capacity of those panels, in kWp.
yearly_energy_kwhnumber or nullrequired
Energy they would produce in a year, in kWh.
usable_roof_area_m2number or nullrequired
Roof area usable for panels, in m².
co2_savings_kg_per_yearnumber or nullrequired
CO₂ the installation would save, in kg a year.
basismeasured | measured_cut_to_outline | estimated or nullrequired
measured where the figures come from the roof itself as measured: a surface model read over it, or roof planes an open survey measured on the building (roof_analysis.roof_survey says how). measured_cut_to_outline where the measured roof took in the roofs attached to the building (a terraced or semi-detached house) and was cut to the building's outline: its planes and panels were measured, but each is kept or dropped whole by where its centre lies, so the figures approximate the building's own part. estimated where they are modelled from the footprint and sunshine. Null when not said.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
registered_business_employeesstring or nullrequired
The largest stated size of a business registered at the address, as the registered_business_employees sort and filters read it: an exact count (12), a band (10–49) or an open top band (1000 or more); null when none is stated.
registered_business_turnoverTurnover or any or nullrequired
The largest latest turnover of a business registered at the address, as the registered_business_turnover sort and filters read it; null when none is on record.
amountintegerrequired
Turnover, in whole units of currency.
currencystring or nullrequired
ISO 4217 currency of the statement.
financial_yearinteger or nullrequired
The financial year of the statement.
flood_zone5_year | 10_year | 20_year | 50_year | 100_year | 100_year_climate_change | 500_year | 1000_year | 10000_year or nullrequired
The most frequently flooded zone of an official flood hazard map the building lies in, named by the return period of its flood; 100_year_climate_change is the 1-in-100-year flood under the climate the map projects. Null means outside every zone only where flood_zone_mapped is true; elsewhere the zone is unknown.
flood_zone_mappedbooleanrequired
True where a served flood hazard map covers the building. Flood maps are served only where their licence allows it; where none covers the building this is false and its flood zone is unknown, never "no flood risk".
flood_zone_sourcestring or nullrequired
The credit and the reading the flood map's publisher requires wherever its zone is shown, such as Denmark's "Kilde: Kystdirektoratet, Kystplanlægger.dk" with its note that the zone is a screening, never an assessment of the property. Null where no served map covers the building, or its publisher requires none.
seismic_design_acceleration_gnumber or nullrequired
The design peak ground acceleration of the building's site, in g, as the national seismic design code maps it (P100-1/2013 in Romania); null when unknown.
seismic_risk_classRsI | RsII | RsIII | RsIV | U1 | U2 | U3 | consolidated or nullrequired
The seismic risk class an official list of technically assessed buildings gives the building: RsI (the highest risk) to RsIV, the urgency classes U1 (the most urgent) to U3 older assessments set, or consolidated (strengthened since). Null when the building is on no such list, which says nothing of its risk.
seismic_risk_assessment_yearinteger or nullrequired
The year of the assessment that set seismic_risk_class; null when not stated.
owner_typeprivate_person | social_housing | company | association | cooperative_housing | municipality | region | state | other or nullrequired
The kind of owner the building's property has on record, never who owns it: private_person (private persons or a partnership of them), social_housing (a non-profit social housing organisation), company, association (an association, foundation or self-owned institution), cooperative_housing (a housing co-operative), municipality, region, state, or other (any other owner, or owners of several of these kinds together; nothing more is on record). Null means unknown: no record states one kind for the building, as for a building divided into flats owned one by one.
app_urlstring (uri)required
The building in the baseray app.
Example
{
  "data": [
    {
      "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
      "address": "Bulevardul 15 Noiembrie 78",
      "nearest_road": null,
      "address_evidence": "address_record",
      "address_corroboration": "single_source",
      "postal_code": null,
      "locality": "Brașov",
      "country": "RO",
      "latitude": 45.64988,
      "longitude": 25.61044,
      "category": "commercial",
      "category_evidence": "confirmed",
      "building_type": "retail",
      "roof_shape": "flat",
      "footprint_area_m2": 31252,
      "height": {
        "metres": 18,
        "basis": "estimated"
      },
      "volume_m3": 562531,
      "volume_basis": "estimated",
      "floor_area": {
        "square_metres": 500032,
        "basis": "estimated",
        "scope": "gross_above_ground"
      },
      "floors": 16,
      "floors_including_underground": null,
      "construction_year": null,
      "completed_by_year": null,
      "dwellings": null,
      "existing_solar_panels": {
        "status": "none_seen",
        "photo_date": "2022-09-08",
        "confidence": 0.988,
        "analysed_on": null,
        "photo_resolution_cm": null
      },
      "solar_presence": "none_seen",
      "registered_solar": null,
      "solar_potential": null,
      "registered_business_count": 0,
      "registered_business_employees": null,
      "registered_business_turnover": null,
      "flood_zone": null,
      "flood_zone_mapped": false,
      "flood_zone_source": null,
      "seismic_design_acceleration_g": null,
      "seismic_risk_class": null,
      "seismic_risk_assessment_year": null,
      "owner_type": null,
      "app_url": "https://app.baseray.tech/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720"
    }
  ]
}

BuildingDetailEnvelope

dataBuildingDetailrequired
building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
The building's address as a record states it (address_evidence says which kind): street and house number, a Romanian village's nr. 350 where the record names no street, or a Czech municipality and number (Lhota 25), with the block where one is given. Null when no address of the building is on record; the nearest named road is then nearest_road, never this.
nearest_roadstring or nullrequired
The named road nearest the building, given only where no address of it is on record (address is then null). It helps find the building but is not its address: no house number is known.
address_evidenceaddress_record | business_listing or nullrequired
What kind of record address comes from: address_record (an address record of the building) or business_listing (a listing of a business at the building, not an address record of it). Null when address is null or the kind is unknown.
address_corroborationcorroborated | single_source | conflicting or nullrequired
How other records back the house number of address, as the address_corroboration filter reads it: corroborated (an independent record gives the same number), single_source (only one record) or conflicting (another record gives another number). Null without a house number.
postal_codestring or nullrequired
The official postcode of the building's address; null when none is on record.
localitystring or nullrequired
Town, city or village.
countrystring or nullrequired
ISO 3166-1 alpha-2 country code.
latitudenumberrequired
Latitude of the building's centre, WGS84.
longitudenumberrequired
Longitude of the building's centre, WGS84.
categoryresidential_house | apartment_block | commercial | industrial | public | agricultural | ancillary | unknownrequired
Building category; ancillary is an annex or outbuilding.
category_evidenceconfirmed | corroborated | inferred | conflicting | unconfirmedrequired
How firmly category is known: confirmed (an official register states it), corroborated (several sources agree), inferred, conflicting (sources disagree) or unconfirmed (always so for unknown).
building_typestring or nullrequired
The building's granular type where a record states one, as the building_type filter reads it, e.g. office, warehouse, school, apartments; null when none is stated.
roof_shapestring or nullrequired
The roof's shape, as the roof_shape filter reads it, e.g. gabled, hipped, flat; null when unknown.
footprint_area_m2numberrequired
Area of the building's outline, in m². It is the ground footprint only where the outline is drawn at the walls (outline_reference footprint on the building's detail); an outline drawn at the roof's edge (roof_edge) takes in the eaves and is larger.
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | stated | estimatedrequired
measured (the building itself was measured), stated (a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) or estimated (modelled).
volume_m3number or nullrequired
Volume, in m³; null when unknown.
volume_basismeasured | estimated or nullrequired
Whether the volume is measured or estimated; null with the volume.
floor_areaFloorArea or any or nullrequired
Floor area, with what it rests on and what it counts; null when unknown.
square_metresnumberrequired
Floor area, in m².
basismeasured | stated | estimated or nullrequired
stated (a record states it for the building) or estimated (modelled: the footprint, or a record's built area, times the floors); null when unknown.
scopegross_whole_building | net_whole_building | gross_full_storeys | gross_above_ground or nullrequired
What the figure counts: gross_whole_building (every storey, walls included), net_whole_building (the usable area of every storey, walls excluded), gross_full_storeys (the ground floor and every full storey, walls included; the basement and the attic are not counted) or gross_above_ground (the footprint times the floors above ground, walls included); null when unknown.
floorsinteger or nullrequired
Floors above ground; null when unknown.
floors_including_undergroundinteger or nullrequired
Only where floors is unknown: the floors above and below ground counted together, as a building register states them (Czechia's counts them so, a habitable attic as one). How many of them are above ground is not on record. Null otherwise.
construction_yearinteger or nullrequired
The year a register states the building was completed; null when none states it.
completed_by_yearinteger or nullrequired
Where a register dates the building only by a census period: the last year of that period, the year it stood by. Null otherwise.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it. This is the photo alone: solar_presence settles it with the registers of connected installations, which outrank a photo.
statusdetected | none_seen | unclear | not_checkedrequired
detected, none_seen, unclear, or not_checked (never checked, or the photo was too coarse to check).
photo_datestring (date) or nullrequired
Date of the photo checked; null when undated or never checked.
confidencenumber or nullrequired0–1
The check's confidence in its result, 0 to 1; null when not checked.
analysed_onstring (date) or nullrequired
The day the photo was checked for panels; null when never checked.
photo_resolution_cmnumber or nullrequired≥ 0
How fine the photo is, in centimetres per pixel; a photo too coarse to check is why a roof stays not_checked. Null when not known.
solar_presenceregistered | detected | registered_at_address | none_seen | unclear | unknownrequired
Whether the building carries solar panels, settled across the official registers of connected solar installations and the roof photo of existing_solar_panels. A register entry is the stronger evidence: a photo may predate an installation or miss it. registered: a register states an installation at the building's address, and the building alone holds that address or its own photo shows the panels. detected: panels are seen in the photo and no register states an installation. registered_at_address: a register states an installation at an address this building shares with others (registered_solar.address_building_count of them) and its photo shows none, so the register does not say which roof carries the panels: not a plain yes. none_seen: a photo detailed enough shows no panels and no register states an installation. unclear: the photo is unclear and no register states one. unknown: neither says. A building no register names is never thereby without solar: an installation may be off the grid, or registered under an address written otherwise. The solar_presence and exclude_solar_presence filters of GET /buildings read this field.
registered_solarRegisteredSolar or any or nullrequired
The solar installations official registers state at the building's address; not null exactly when solar_presence is registered or registered_at_address. Null says nothing of the roof.
installation_countintegerrequired≥ 1
Installations registered at the address.
installed_power_kwnumber or nullrequired
Installed power in kW: the installations' sum where every one states its own, null otherwise, never a partial sum.
export_power_kwnumber or nullrequired
Power approved to feed the grid, in kW: the installations' sum where every one states its own, null otherwise.
storage_capacity_kwhnumber or nullrequired
Energy storage in kWh: the sum where every installation that stores states its capacity, null otherwise; often null even where has_storage is true.
has_storageboolean or nullrequired
True where an installation is stated to store energy, false where every installation is stated to store none, null where the register does not say. A register of generation licences does not record storage.
first_connected_onstring (date) or nullrequired
The earliest date the installations state; null when not stated, or when a register states only the year (establishment_year), which is then given as first_connected_year alone. What it dates is in kinds: a connection certificate for grid_connection, the start of the current holder's licence for generation_licence, when the plant may be older.
latest_connected_onstring (date) or nullrequired
The latest date the installations state, of the same meaning as first_connected_on, and the same date for a single installation.
first_connected_yearinteger or nullrequired
The year of the earliest date the installations state, given whenever a date is. Where a register states only the year (establishment_year in kinds) it is the only date given: first_connected_on and latest_connected_on are then null. Null when nothing is stated.
latest_connected_yearinteger or nullrequired
The year of the latest date the installations state, of the same meaning as first_connected_year, and the same year for a single installation.
address_building_countintegerrequired≥ 1
Buildings holding the address the register names, this one included. Of several installations it is the fewest: one at an address the building alone holds is its own.
shares_addressbooleanrequired
True when address_building_count is above 1: the register then does not say which of the buildings carries the panels.
kindsarray of grid_connection | generation_licence | establishment_yearrequired
What the registers record, which says what the dates mean. grid_connection: a grid operator's list of connected installations, dated by the connection certificate. generation_licence: a regulator's generation licences, dated by the start of the current holder's licence, so the plant may be older and the date is never when it was installed. establishment_year: a building register's installations, dated by the year the installation was established as an owner or a municipality states it, never by its connection; only the year is stated, so the dates are null and only first_connected_year and latest_connected_year are given. Usually one kind; empty only when the kind could not be read.
reported_throughstring (date)required
The last day of the latest month the registers report: an installation entered after it is not yet listed.
solar_potentialSolarPotential or any or nullrequired
Rooftop solar potential; null where the roof has not been modelled.
max_panel_countinteger or nullrequired
Solar panels that fit on the roof.
max_capacity_kwpnumber or nullrequired
Capacity of those panels, in kWp.
yearly_energy_kwhnumber or nullrequired
Energy they would produce in a year, in kWh.
usable_roof_area_m2number or nullrequired
Roof area usable for panels, in m².
co2_savings_kg_per_yearnumber or nullrequired
CO₂ the installation would save, in kg a year.
basismeasured | measured_cut_to_outline | estimated or nullrequired
measured where the figures come from the roof itself as measured: a surface model read over it, or roof planes an open survey measured on the building (roof_analysis.roof_survey says how). measured_cut_to_outline where the measured roof took in the roofs attached to the building (a terraced or semi-detached house) and was cut to the building's outline: its planes and panels were measured, but each is kept or dropped whole by where its centre lies, so the figures approximate the building's own part. estimated where they are modelled from the footprint and sunshine. Null when not said.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
registered_business_employeesstring or nullrequired
The largest stated size of a business registered at the address, as the registered_business_employees sort and filters read it: an exact count (12), a band (10–49) or an open top band (1000 or more); null when none is stated.
registered_business_turnoverTurnover or any or nullrequired
The largest latest turnover of a business registered at the address, as the registered_business_turnover sort and filters read it; null when none is on record.
amountintegerrequired
Turnover, in whole units of currency.
currencystring or nullrequired
ISO 4217 currency of the statement.
financial_yearinteger or nullrequired
The financial year of the statement.
flood_zone5_year | 10_year | 20_year | 50_year | 100_year | 100_year_climate_change | 500_year | 1000_year | 10000_year or nullrequired
The most frequently flooded zone of an official flood hazard map the building lies in, named by the return period of its flood; 100_year_climate_change is the 1-in-100-year flood under the climate the map projects. Null means outside every zone only where flood_zone_mapped is true; elsewhere the zone is unknown.
flood_zone_mappedbooleanrequired
True where a served flood hazard map covers the building. Flood maps are served only where their licence allows it; where none covers the building this is false and its flood zone is unknown, never "no flood risk".
flood_zone_sourcestring or nullrequired
The credit and the reading the flood map's publisher requires wherever its zone is shown, such as Denmark's "Kilde: Kystdirektoratet, Kystplanlægger.dk" with its note that the zone is a screening, never an assessment of the property. Null where no served map covers the building, or its publisher requires none.
seismic_design_acceleration_gnumber or nullrequired
The design peak ground acceleration of the building's site, in g, as the national seismic design code maps it (P100-1/2013 in Romania); null when unknown.
seismic_risk_classRsI | RsII | RsIII | RsIV | U1 | U2 | U3 | consolidated or nullrequired
The seismic risk class an official list of technically assessed buildings gives the building: RsI (the highest risk) to RsIV, the urgency classes U1 (the most urgent) to U3 older assessments set, or consolidated (strengthened since). Null when the building is on no such list, which says nothing of its risk.
seismic_risk_assessment_yearinteger or nullrequired
The year of the assessment that set seismic_risk_class; null when not stated.
owner_typeprivate_person | social_housing | company | association | cooperative_housing | municipality | region | state | other or nullrequired
The kind of owner the building's property has on record, never who owns it: private_person (private persons or a partnership of them), social_housing (a non-profit social housing organisation), company, association (an association, foundation or self-owned institution), cooperative_housing (a housing co-operative), municipality, region, state, or other (any other owner, or owners of several of these kinds together; nothing more is on record). Null means unknown: no record states one kind for the building, as for a building divided into flats owned one by one.
app_urlstring (uri)required
The building in the baseray app.
entrancesinteger or nullrequired
Entrances: each listed address of the building counts as one; null when none are listed.
stated_factsarray of StatedFactrequired
Everything the building's record states, as it words it; empty when no record is on file. A floor area here is the record's own figure; the building's floor area is floor_area.
factstringrequired
What the fact is, e.g. use, construction_year, completed_by_year (the year a building stood by, where it is dated only by a period ending then), floors_above_ground, floors_below_ground, built_up_area, floor_area, enclosed_volume, dwelling_count, unit_count, heating, cadastral_number or land_book_number_as_filed (a land book number as written into the register when the building was filed: unverified, never the land book in force). New kinds of fact may appear; treat an unknown one by its label.
labelstringrequired
The fact's name, for people.
valuestring or number or array of stringrequired
A number (a count, a year, or a quantity in unit), the record's wording, or its wordings.
unitstring or nullrequired
The unit of a quantity: m2 or m3; null for counts, years and wordings.
notestring or nullrequired
How the record defines or qualifies the value; null when it adds nothing.
is_currentbooleanrequired
False once the building is no longer in the catalogue's current release.
replaced_by_building_idstring (uuid) or nullrequired
The building now standing on a retired building's ground, when there is one.
outline_referencefootprint | roof_edge | combined or nullrequired
What the building's outline, and so footprint_area_m2, traces where the building is drawn from parts: footprint (the walls where they meet the ground), roof_edge (the roof seen from above, eaves included) or combined (parts of both kinds); null where it is not drawn from parts.
partsarray of BuildingPartrequired
The parts the building is drawn from, register parts first, then the largest; empty where it is not drawn from parts.
originregister | unregisteredrequired
register (a construction the building register records) or unregistered (a structure the register does not record; this says nothing of whether it is permitted).
record_referencestring or nullrequired
The register's own reference for the construction's record; null for a part not in the register.
labelstring or nullrequired
How the register names the construction, e.g. 62847-C1; null where it names none.
outline_referencefootprint | roof_edgerequired
What the part's outline traces: footprint (the walls where they meet the ground, as the register surveys them) or roof_edge (the roof seen from above, eaves included).
area_m2numberrequired
The area of the part's outline, in m².
eave_height_mnumber or nullrequired≥ 0
The height of the eaves; null when unknown.
has_3d_modelboolean or nullrequired
Whether a 3D model of the building's roof is on record, reconstructed from a surface model of the roof or from the analysed roof planes; it does not say which. Null when unknown.
addressesBuildingAddresses or any or nullrequired
Every address of the building, each entrance with the dwellings behind it; null when none is on record.
confirmationconfirmed | records_disagree | single_record or nullrequired
confirmed (several records give the shown street the same number), records_disagree (they give it different numbers) or single_record; null when no number was compared.
addressesarray of BuildingAddressrequired
Every address, the shown one first.
linestringrequired
The address written the country's way: street and number, then the block (bl.) and entrance (sc.) where given.
postal_codestring or nullrequired
The address's official postcode where one is known, else the one its record writes; null when none is.
localitystring or nullrequired
The town or village.
entrancestring or nullrequired
The entrance the address names; null for an address that names none.
dwellings_at_entranceinteger or nullrequired≥ 0
The dwellings counted behind this entrance, never the building's total; null for an address that is no entrance or whose dwellings are not counted.
relationshown | same_address | different_number | other_street | another_entrance or nullrequired
shown (the address the building is shown with), same_address (another record gives the shown street the same number), different_number (another record gives the shown street a different number), other_street (the building's front on another street), another_entrance (another entrance or number of the building); null when not compared.
unitsUnitsSummary or any or nullrequired
What the building's record says of its units; null when it neither lists units nor states how many there are.
listedinteger or nullrequired≥ 1
The units the record lists; null when it lists none, which says nothing of how many there are.
listed_dwellingsinteger or nullrequired≥ 0
The dwellings among the listed units; null when none are listed.
statedinteger or nullrequired≥ 0
The units the record states the building has; null when it states no total.
stated_dwellingsinteger or nullrequired≥ 0
The dwellings the record states the building has; null when it states no total.
list_is_completebooleanrequired
True when the record lists units and its list matches every total it states: a unit missing from an incomplete list may still exist.
by_floorarray of FloorUnits or nullrequired
The listed units on each floor, bottom to top; a unit whose floor is not known is on none. Null when no units are listed, never to be read as none.
by_kindarray of UnitKindCount or nullrequired
The listed units of each kind, kinds the list holds none of left out. Null when no units are listed.
entrancesarray of stringrequired
The entrances the listed units are reached by, as the record names them, in reading order.
entrance_dwellingsarray of EntranceDwellingsrequired
The dwellings the record counts behind each entrance; empty when it counts none.
entrancestringrequired
The entrance, by its address as the record writes it.
dwellingsintegerrequired≥ 0
The dwellings counted behind it.
record_sheetRecordSheet or any or nullrequired
The building's whole record as its register lays it out; null when no register record is on file.
existsboolean or nullrequired
False when the record says the building no longer stands; null where the register keeps no such mark.
validatedboolean or nullrequired
Whether the register marks the record checked; null where it keeps no such mark.
cadastral_numberstring or nullrequired
The building's cadastral number, where the record keeps one.
property_numberstring or nullrequired
The property number, where the record keeps one.
land_book_numberstring or nullrequired
Always null: the land book in force is not known. The land book number the register holds, as it was filed, is land_book_number_as_filed.
land_book_number_as_filedstring or nullrequired
The land book number as written into the register when the building was filed, where it holds one. Free text, not checked against the land book in force: often an old paper land book's number ("447 Ocna Dej"), which may since have closed or been renumbered. Never use it to order a land book extract.
read_onstring (date) or nullrequired
The day the record was last read.
sectionsarray of RecordSheetSectionrequired
Every fact on record, by section; empty when the record states none beyond its numbers.
titlestringrequired
The section's title.
rowsarray of RecordSheetRowrequired
The facts in the section.
roof_analysisRoofAnalysis or any or nullrequired
The roof analysis behind solar_potential, plane by plane; null when the roof has not been analysed.
whole_roof_area_m2number or nullrequired≥ 0
The whole roof's area.
ground_area_m2number or nullrequired≥ 0
The ground the analysed roof covers.
peak_sunshine_hours_per_yearnumber or nullrequired≥ 0
Peak sunshine hours a year at the roof.
yearly_irradiance_kwh_per_m2number or nullrequired≥ 0
The solar energy a square metre of the roof receives in a year.
imagery_datestring (date) or nullrequired
The date of the imagery the roof was read from; null when undated or assumed.
imagery_qualitystring or nullrequired
The imagery's quality as the analysis grades it.
confidencenumber or nullrequired0–1
The analysis's confidence, 0 to 1.
planes_are_assumedboolean or nullrequired
True where the planes are an estimate's assumption, false where they were measured, null where unsaid.
roof_surveylidar | image_matching or nullrequired
Where the planes were measured on the building by an open survey: how it measured them, lidar (airborne laser scanning) or image_matching (a point cloud matched from overlapping aerial photographs, which is not lidar). Null where the planes come from no such survey (read from imagery, or assumed) or from a survey baseray does not list.
panel_capacity_wnumber or nullrequired≥ 0
The power of the panel the layout assumes.
panel_width_mnumber or nullrequired≥ 0
The width of that panel.
panel_height_mnumber or nullrequired≥ 0
The height of that panel.
planesarray of RoofPlanerequired
Every plane of the roof, by its number.
planeintegerrequired≥ 1
The number the analysis gives the plane.
facingnorth | north-east | east | south-east | south | south-west | west | north-westrequired
The compass direction the plane faces.
azimuth_degreesnumberrequired
The bearing the plane faces: 0 north, 90 east, 180 south.
pitch_degreesnumberrequired
The plane's slope from the horizontal.
area_m2numberrequired≥ 0
The plane's area.
sunshine_hours_per_yearnumber or nullrequired≥ 0
The sunshine the plane gets in a year; null when not analysed.
panelsintegerrequired≥ 0
Panels the largest layout puts on the plane.
climateClimate or any or nullrequired
The local climate; null when none is on record.
periodsarray of ClimatePeriodrequired
The temperatures, frost and hot days and rainfall per period; a period with no figure on record is left out.
periodlatest_year | recent_average | current_yearrequired
latest_year (the last complete year), recent_average (yearly average over the recent years) or current_year (this year so far, preliminary).
fromstring or nullrequired
Where the period starts: a year, or a date for current_year.
tostring or nullrequired
Where the period ends: a year, or a date for current_year.
data_throughstring (date) or nullrequired
The last day the data covers.
coldest_day_cnumber or nullrequired
The lowest daily temperature, °C.
hottest_day_cnumber or nullrequired
The highest daily temperature, °C.
frost_daysnumber or nullrequired≥ 0
Days below freezing.
hot_daysnumber or nullrequired≥ 0
Hot days.
precipitation_mmnumber or nullrequired≥ 0
Rainfall over the year, mm.
wet_daysnumber or nullrequired≥ 0
Wet days.
wettest_day_mmnumber or nullrequired≥ 0
Rainfall on the wettest day, mm.
heating_degree_daysarray of HeatingDegreeDaysrequired
The heating degree-days per period, the climate normal first; a period not on record is left out.
periodstandard_normal | recent_average | latest_yearrequired
standard_normal (the climate normal), recent_average (yearly average over the recent years) or latest_year (the last complete year).
fromstringrequired
The first year of the period.
tostringrequired
The last year of the period.
degree_daysnumberrequired≥ 0
Heating degree-days, K·d.
temperature_trend_c_per_decadenumber or nullrequired
How fast the location has warmed, °C per decade; null where the trend is not on record or has no clear direction.
energy_networksarray of EnergyNetworkLevelrequired
Gas and district-heating network evidence from the locality down to the building; empty when none is on record.
networknatural_gas | district_heatingrequired
The network.
levellocality | service_area | street | address | buildingrequired
How close to the building the evidence reaches: the locality, the service area, the street, the address or the building's own connection.
presentbooleanrequired
Whether the network is on record at that level.
yearinteger or nullrequired
The year the evidence refers to.
heating_estimateHeatingEstimate or any or nullrequired
The heating estimate, a model estimate; null when the building is not modelled.
useful_heat_kwh_per_yearnumber or nullrequired
The headline: the heat the building needs in a year for space heating, as it was built (insulated or re-glazed since, it needs less).
useful_heat_low_kwh_per_yearnumber or nullrequired
Where the number of floors is not on record: the lowest need over the floor counts the building may have.
useful_heat_high_kwh_per_yearnumber or nullrequired
Where the number of floors is not on record: the highest need over the floor counts the building may have.
useful_heat_kwh_per_m2_per_yearnumber or nullrequired
The heat need per m² of heated floor area.
heated_floor_area_m2number or nullrequired
The heated floor area the need is worked out on.
heated_floor_area_basisstring or nullrequired
What the heated floor area rests on, e.g. register_heated_area or volume_share.
useful_heat_kwh_per_dwelling_per_yearnumber or nullrequired
The heat need of one dwelling on average, where the dwellings are counted.
dwelling_countinteger or nullrequired
The dwellings that figure is per.
delivered_energy_kwh_per_yearnumber or nullrequired
The energy delivered to the heating system for that need.
expected_energy_kwh_per_yearnumber or nullrequired
The energy the building is expected to use for heating.
peak_heat_load_kwnumber or nullrequired
The peak heat load.
peak_heat_load_basisstring or nullrequired
What the peak heat load rests on; screening_estimate is an order of magnitude at the standard winter design temperature of the location.
design_outdoor_temperature_cnumber or nullrequired
The outdoor temperature the peak heat load is worked out at, °C.
hot_water_heat_kwh_per_yearnumber or nullrequired
The heat in the hot water, apart from space heating and in none of the other figures.
hot_water_personsnumber or nullrequired
The people the hot water is worked out for.
hot_water_occupancy_basisstring or nullrequired
Where those people come from: counted_dwellings, one_household or heated_floor_area.
construction_period_is_on_recordboolean or nullrequired
False when the construction period behind the estimate is assumed, not read from the building's own record.
era_scenariosarray of HeatingEraScenariorequired
Where the construction year is not on record: the need under each construction period.
first_yearinteger or nullrequired
The period's first year; null for the earliest.
last_yearinteger or nullrequired
The period's last year; null for the latest.
useful_heat_kwh_per_yearnumberrequired≥ 0
The heat need under that period.
is_takenbooleanrequired
Whether the other figures assume this period.
neighbours_are_measuredboolean or nullrequired
False when the neighbouring buildings were not measured and every wall was taken to face the weather.
neighbour_wall_sharenumber or nullrequired
The share of the walls, 0 to 1, standing against neighbouring buildings; null where they were not measured.
heat_pump_scenariosarray of HeatPumpScenariorequired
The electricity a heat pump would use per seasonal performance factor.
seasonal_performance_factornumberrequired≥ 0
The seasonal performance factor assumed.
electricity_kwh_per_yearnumber or nullrequired≥ 0
The electricity a year.
Example
{
  "data": {
    "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
    "address": "Bulevardul 15 Noiembrie 78",
    "nearest_road": null,
    "address_evidence": "address_record",
    "address_corroboration": "single_source",
    "postal_code": null,
    "locality": "Brașov",
    "country": "RO",
    "latitude": 45.64988,
    "longitude": 25.61044,
    "category": "commercial",
    "category_evidence": "confirmed",
    "building_type": "retail",
    "roof_shape": "flat",
    "footprint_area_m2": 31252,
    "height": {
      "metres": 18,
      "basis": "estimated"
    },
    "volume_m3": 562531,
    "volume_basis": "estimated",
    "floor_area": {
      "square_metres": 500032,
      "basis": "estimated",
      "scope": "gross_above_ground"
    },
    "floors": 16,
    "floors_including_underground": null,
    "construction_year": null,
    "completed_by_year": null,
    "dwellings": null,
    "existing_solar_panels": {
      "status": "none_seen",
      "photo_date": "2022-09-08",
      "confidence": 0.988,
      "analysed_on": null,
      "photo_resolution_cm": null
    },
    "solar_presence": "none_seen",
    "registered_solar": null,
    "solar_potential": null,
    "registered_business_count": 0,
    "registered_business_employees": null,
    "registered_business_turnover": null,
    "flood_zone": null,
    "flood_zone_mapped": false,
    "flood_zone_source": null,
    "seismic_design_acceleration_g": null,
    "seismic_risk_class": null,
    "seismic_risk_assessment_year": null,
    "owner_type": null,
    "app_url": "https://app.baseray.tech/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720",
    "entrances": null,
    "stated_facts": [],
    "is_current": true,
    "replaced_by_building_id": null,
    "outline_reference": null,
    "parts": [],
    "eave_height_m": null,
    "has_3d_model": null,
    "addresses": null,
    "units": null,
    "record_sheet": null,
    "roof_analysis": null,
    "climate": null,
    "energy_networks": [],
    "heating_estimate": null
  }
}

RegisteredBusinessList

dataarray of RegisteredBusinessrequired
namestringrequired
The business's registered name.
registration_numberstringrequired
Its company registration number (a CUI in Romania, an IČO in Czechia, a CVR number in Denmark).
countrystringrequired
ISO 3166-1 alpha-2 country of the registration number.
employeesstring or nullrequired
Employees as stated: an exact count (12), a band (10–49) or an open top band (1000 or more); null when not stated.
employees_stated_forstring or nullrequired
When the size was stated: a date, or a financial year such as FY 2024.
advertising_protectedboolean or nullrequired
True where the business's register protects it from direct marketing (in Denmark, reklamebeskyttelse under CVR-loven § 19: "Reklamebeskyttet – må ikke bruges til direkte markedsføring"): its data may not be used for direct marketing and may be passed on only marked as protected. False where the register states it unprotected; null where the register states nothing of the kind.
natural_personboolean or nullrequired
True where the register's legal form makes the business a person's: a sole proprietorship or personally owned small business, or the estate of a deceased person. Its name is then usually its owner's. Null where the register states no legal form.
legal_formobject or any or nullrequired
The legal form as the register codes and words it; null where it states none.
codestringrequired
The register's code for the form.
labelstringrequired
The form in the register's own words.
person_kindpersonally_owned | estate or nullrequired
For a person's business: personally_owned ("Personligt ejet virksomhed": a sole proprietorship or personally owned small business) or estate ("Dødsbo": the estate of a deceased person). Null for any other business.
ceased_onstring (date) or nullrequired
The day a person's business ceased, given only for one still served after it ceased ("Ophørt"); null while it is active.
metaobjectrequired
totalintegerrequired≥ 0
Every business registered at the address; can exceed the businesses listed.
sourcesarray of stringrequired
The credits the registers of the businesses listed require wherever their data are passed on, such as "Indeholder data fra Det Centrale Virksomhedsregister (CVR), Erhvervsstyrelsen, via Datafordeleren (CC BY 4.0)". Empty when none is required.
Example
{
  "data": [
    {
      "employees": "10–49",
      "employees_stated_for": "FY 2024",
      "advertising_protected": false,
      "natural_person": false,
      "legal_form": {
        "code": "80",
        "label": "Anpartsselskab"
      },
      "person_kind": "personally_owned"
    }
  ],
  "meta": {
    "sources": []
  }
}

Error

errorobjectrequired
codeinvalid_parameter | missing_api_key | invalid_api_key | revoked_api_key | expired_api_key | insufficient_scope | workspace_access_revoked | not_found | rate_limited | quota_exceeded | insufficient_credits | upstream_unavailablerequired
Stable machine-readable reason.
messagestringrequired
What went wrong, for people.
parameterstring
The parameter at fault, for invalid_parameter.
Example
{
  "error": {
    "code": "invalid_parameter",
    "message": "bbox must be minLon,minLat,maxLon,maxLat.",
    "parameter": "bbox"
  }
}

PublicError

The body of every refusal (4xx and 5xx) of the public building pages.

errornot_found | invalid_parameter | rate_limited | unavailablerequired
Stable machine-readable reason.
messagestring
What is wrong with the parameter, for invalid_parameter.
Example
{
  "error": "not_found"
}

PublicBuildingAddress

The building's address, from an address record.

streetstring or nullrequired
Street name; null for a village address without streets.
numberstring or nullrequired
House number as the address record writes it.
localitystring or nullrequired
Town or village.
districtstring or nullrequired
City district or sector, where the place has them.
countystring or nullrequired
County (Romanian județ, Czech kraj).
postcodestring or nullrequired
Postcode; null when none is on record.
labelstringrequired
The full address on one line, as it is written locally.

PublicUseFact

valuestring or nullrequired
Use code, e.g. residential_multi; null when unknown.
labelstring or nullrequired
The use in the country's own words, e.g. Bytový dům.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.

PublicFloorsFact

valueinteger or nullrequired
Floors; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
includesUndergroundbooleanrequired
True when the count includes floors below ground.

PublicBuiltFact

yearinteger or nullrequired
Year of completion; null when only the era is known or nothing is.
erastring or nullrequired
The period it was built in, e.g. 1919–1945, where the record gives a period rather than a year.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.

PublicAreaFact

valuenumber or nullrequired
Area in m²; null when unknown.
unitm2required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
Example
{
  "unit": "m2"
}

PublicFloorAreaFact

valuenumber or nullrequired
Floor area in m²; null when unknown.
unitm2required
scopeusable | gross or nullrequired
usable (the usable floor area) or gross (the built floor area); null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
Example
{
  "unit": "m2",
  "scope": "usable"
}

PublicHeightFact

valuenumber or nullrequired
Height in metres; null when unknown.
unitmrequired
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
Example
{
  "unit": "m"
}

PublicVolumeFact

valuenumber or nullrequired
Volume in m³; null when unknown.
unitm3required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
Example
{
  "unit": "m3"
}

PublicTextFact

valuestring or nullrequired
The value; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.

PublicCountFact

valueinteger or nullrequired
The count; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.

PublicFloodZone

valuestringrequired
The flood zone the building lies in.
estimatefalserequired
Always false: the value is taken from an official map.
Example
{
  "estimate": false
}

PublicSeismicZone

designAccelerationGnumberrequired
The design ground acceleration of the building's seismic zone, in g.
estimatefalserequired
Always false: the value is taken from an official map.
Example
{
  "estimate": false
}

PublicCadastralReference

valuestringrequired
The building's official identifier (cadastral number or building code).
officialUrlstring or nullrequired
The register's own public page for the building, where it has one.

PublicBuildingFacts

Each fact is its value or null (unknown, never zero), and says whether it is an estimate.

usePublicUseFact or any or nullrequired
What the building is used for.
valuestring or nullrequired
Use code, e.g. residential_multi; null when unknown.
labelstring or nullrequired
The use in the country's own words, e.g. Bytový dům.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
floorsPublicFloorsFact or any or nullrequired
Floors.
valueinteger or nullrequired
Floors; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
includesUndergroundbooleanrequired
True when the count includes floors below ground.
builtPublicBuiltFact or any or nullrequired
When it was built.
yearinteger or nullrequired
Year of completion; null when only the era is known or nothing is.
erastring or nullrequired
The period it was built in, e.g. 1919–1945, where the record gives a period rather than a year.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
footprintAreaPublicAreaFact or any or nullrequired
Area of the building's footprint.
valuenumber or nullrequired
Area in m²; null when unknown.
unitm2required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
floorAreaPublicFloorAreaFact or any or nullrequired
Floor area.
valuenumber or nullrequired
Floor area in m²; null when unknown.
unitm2required
scopeusable | gross or nullrequired
usable (the usable floor area) or gross (the built floor area); null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
heightPublicHeightFact or any or nullrequired
Height.
valuenumber or nullrequired
Height in metres; null when unknown.
unitmrequired
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
volumePublicVolumeFact or any or nullrequired
Volume above ground.
valuenumber or nullrequired
Volume in m³; null when unknown.
unitm3required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
roofAreaPublicAreaFact or any or nullrequired
Roof area.
valuenumber or nullrequired
Area in m²; null when unknown.
unitm2required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
roofShapePublicTextFact or any or nullrequired
Roof shape, e.g. flat or gabled.
valuestring or nullrequired
The value; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
dwellingsPublicCountFact or any or nullrequired
Dwellings.
valueinteger or nullrequired
The count; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
floodZonePublicFloodZone or any or nullrequired
The flood zone; null when the building lies in none on record or it is unknown.
valuestringrequired
The flood zone the building lies in.
estimatefalserequired
Always false: the value is taken from an official map.
seismicZonePublicSeismicZone or any or nullrequired
The seismic zone; null where the country has no seismic zoning on record.
designAccelerationGnumberrequired
The design ground acceleration of the building's seismic zone, in g.
estimatefalserequired
Always false: the value is taken from an official map.
cadastralRefPublicCadastralReference or any or nullrequired
The building's official identifier (cadastral number or building code).
valuestringrequired
The building's official identifier (cadastral number or building code).
officialUrlstring or nullrequired
The register's own public page for the building, where it has one.
Example
{
  "use": {},
  "floors": {},
  "built": {},
  "footprintArea": {
    "unit": "m2"
  },
  "floorArea": {
    "unit": "m2",
    "scope": "usable"
  },
  "height": {
    "unit": "m"
  },
  "volume": {
    "unit": "m3"
  },
  "roofArea": {
    "unit": "m2"
  },
  "roofShape": {},
  "dwellings": {},
  "floodZone": {
    "estimate": false
  },
  "seismicZone": {
    "estimate": false
  },
  "cadastralRef": {}
}

PublicPolygon

The building's outline as a GeoJSON Polygon.

typePolygonrequired
coordinatesarray of array of array of numberrequired
GeoJSON rings of [longitude, latitude] positions in WGS84; the first ring is the outline, any further ones holes.
Example
{
  "type": "Polygon",
  "coordinates": [
    [
      []
    ]
  ]
}

PublicBuildingContext

How the building compares with its street and locality; null where too little is known.

streetBuildingsinteger or nullrequired
Buildings on the same street.
olderThanShareOnStreetnumber or nullrequired
Share (0–1) of the street's buildings with a known age that this building is older than.
tallerThanShareInLocalitynumber or nullrequired
Share (0–1) of the locality's buildings with a known height that this building is taller than.

PublicPlaceReference

countrycz | dk | rorequired
slugstringrequired
The place's slug, for /public/places/{country}/{slug}/stats.
namestringrequired
The place's name.
Example
{
  "country": "cz"
}

PublicGatedCounts

What signing in shows, as counts only.

solarCheckedbooleanrequired
True when the roof has been checked for solar panels; the verdict is shown only after signing in.
registeredCompaniesintegerrequired
Companies with their registered office at the address; who they are is shown only after signing in. A registered office is not ownership.

PublicBuilding

One building's public facts.

idstring (uuid)required
The building's baseray id, the same as in the rest of this API.
countrycz | dk | rorequired
slugstringrequired
A readable slug for the building's page URL, from its locality and address.
addressPublicBuildingAddressrequired
The building's address, from an address record.
streetstring or nullrequired
Street name; null for a village address without streets.
numberstring or nullrequired
House number as the address record writes it.
localitystring or nullrequired
Town or village.
districtstring or nullrequired
City district or sector, where the place has them.
countystring or nullrequired
County (Romanian județ, Czech kraj).
postcodestring or nullrequired
Postcode; null when none is on record.
labelstringrequired
The full address on one line, as it is written locally.
factsPublicBuildingFactsrequired
Each fact is its value or null (unknown, never zero), and says whether it is an estimate.
usePublicUseFact or any or nullrequired
What the building is used for.
valuestring or nullrequired
Use code, e.g. residential_multi; null when unknown.
labelstring or nullrequired
The use in the country's own words, e.g. Bytový dům.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
floorsPublicFloorsFact or any or nullrequired
Floors.
valueinteger or nullrequired
Floors; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
includesUndergroundbooleanrequired
True when the count includes floors below ground.
builtPublicBuiltFact or any or nullrequired
When it was built.
yearinteger or nullrequired
Year of completion; null when only the era is known or nothing is.
erastring or nullrequired
The period it was built in, e.g. 1919–1945, where the record gives a period rather than a year.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
footprintAreaPublicAreaFact or any or nullrequired
Area of the building's footprint.
valuenumber or nullrequired
Area in m²; null when unknown.
unitm2required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
floorAreaPublicFloorAreaFact or any or nullrequired
Floor area.
valuenumber or nullrequired
Floor area in m²; null when unknown.
unitm2required
scopeusable | gross or nullrequired
usable (the usable floor area) or gross (the built floor area); null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
heightPublicHeightFact or any or nullrequired
Height.
valuenumber or nullrequired
Height in metres; null when unknown.
unitmrequired
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
volumePublicVolumeFact or any or nullrequired
Volume above ground.
valuenumber or nullrequired
Volume in m³; null when unknown.
unitm3required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
roofAreaPublicAreaFact or any or nullrequired
Roof area.
valuenumber or nullrequired
Area in m²; null when unknown.
unitm2required
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
roofShapePublicTextFact or any or nullrequired
Roof shape, e.g. flat or gabled.
valuestring or nullrequired
The value; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
dwellingsPublicCountFact or any or nullrequired
Dwellings.
valueinteger or nullrequired
The count; null when unknown.
estimatebooleanrequired
True when the value is modelled rather than taken from a record or a measurement.
floodZonePublicFloodZone or any or nullrequired
The flood zone; null when the building lies in none on record or it is unknown.
valuestringrequired
The flood zone the building lies in.
estimatefalserequired
Always false: the value is taken from an official map.
seismicZonePublicSeismicZone or any or nullrequired
The seismic zone; null where the country has no seismic zoning on record.
designAccelerationGnumberrequired
The design ground acceleration of the building's seismic zone, in g.
estimatefalserequired
Always false: the value is taken from an official map.
cadastralRefPublicCadastralReference or any or nullrequired
The building's official identifier (cadastral number or building code).
valuestringrequired
The building's official identifier (cadastral number or building code).
officialUrlstring or nullrequired
The register's own public page for the building, where it has one.
outlinePublicPolygonrequired
The building's outline as a GeoJSON Polygon.
typePolygonrequired
coordinatesarray of array of array of numberrequired
GeoJSON rings of [longitude, latitude] positions in WGS84; the first ring is the outline, any further ones holes.
centroidarray of numberrequired
[longitude, latitude] of the outline's centre, WGS84.
contextPublicBuildingContextrequired
How the building compares with its street and locality; null where too little is known.
streetBuildingsinteger or nullrequired
Buildings on the same street.
olderThanShareOnStreetnumber or nullrequired
Share (0–1) of the street's buildings with a known age that this building is older than.
tallerThanShareInLocalitynumber or nullrequired
Share (0–1) of the locality's buildings with a known height that this building is taller than.
placePublicPlaceReference or any or nullrequired
The place whose statistics page the building belongs to; null when it belongs to none.
countrycz | dk | rorequired
slugstringrequired
The place's slug, for /public/places/{country}/{slug}/stats.
namestringrequired
The place's name.
streetPageobject or any or null
The page of the building's street; null where its street has none.
slugstringrequired
For /public/places/{country}/{slug}/streets/{street}, with the place's slug.
namestringrequired
gatedPublicGatedCountsrequired
What signing in shows, as counts only.
solarCheckedbooleanrequired
True when the roof has been checked for solar panels; the verdict is shown only after signing in.
registeredCompaniesintegerrequired
Companies with their registered office at the address; who they are is shown only after signing in. A registered office is not ownership.
updatedAtstring (date)required
When the building's facts last changed.
streetarray of PublicNeighbourBuilding
Other buildings with a public page on the same street of the same locality, closest house numbers first; empty without a street.
idstring (uuid)required
countrycz | dk | rorequired
slugstringrequired
Not unique: always put the id in URLs.
labelstringrequired
Its one-line address, as on its page.
numberstring or nullrequired
usestring or nullrequired
The register's own wording of its use, in the local language; null where unknown.
floorsobject or any or nullrequired
valueintegerrequired
includesUndergroundbooleanrequired
builtobject or any or nullrequired
yearinteger or nullrequired
erastring or nullrequired
distanceMnumber
Metres between the two outlines; only in nearby.
nearbyarray of PublicNeighbourBuilding
The closest other buildings with a public page off that street (within about 600 m), nearest first, each with distanceM.
idstring (uuid)required
countrycz | dk | rorequired
slugstringrequired
Not unique: always put the id in URLs.
labelstringrequired
Its one-line address, as on its page.
numberstring or nullrequired
usestring or nullrequired
The register's own wording of its use, in the local language; null where unknown.
floorsobject or any or nullrequired
valueintegerrequired
includesUndergroundbooleanrequired
builtobject or any or nullrequired
yearinteger or nullrequired
erastring or nullrequired
distanceMnumber
Metres between the two outlines; only in nearby.
surroundingsarray of PublicSurroundingOutline
Outlines of every building within about 65 m of this one, with or without a public page, nearest first.
outlinePublicPolygonrequired
The building's outline as a GeoJSON Polygon.
typePolygonrequired
coordinatesarray of array of array of numberrequired
GeoJSON rings of [longitude, latitude] positions in WGS84; the first ring is the outline, any further ones holes.
idstring (uuid) or nullrequired
Set only where that building has a public page.
slugstring or nullrequired
sameStreetbooleanrequired
Its address names the same street in the same locality.
Example
{
  "id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "country": "cz",
  "slug": "praha-vinohradska-12",
  "address": {
    "street": "Vinohradská",
    "number": "12",
    "locality": "Praha",
    "district": "Praha 2",
    "county": "Hlavní město Praha",
    "postcode": "12000",
    "label": "Vinohradská 1200/12, 120 00 Praha 2"
  },
  "facts": {
    "use": {
      "value": "residential_multi",
      "label": "Bytový dům",
      "estimate": false
    },
    "floors": {
      "value": 6,
      "estimate": false,
      "includesUnderground": false
    },
    "built": {
      "year": null,
      "era": "1919–1945",
      "estimate": false
    },
    "footprintArea": {
      "value": 412.5,
      "unit": "m2",
      "estimate": false
    },
    "floorArea": {
      "value": null,
      "unit": "m2",
      "scope": null,
      "estimate": false
    },
    "height": {
      "value": 21.4,
      "unit": "m",
      "estimate": false
    },
    "volume": {
      "value": 8800,
      "unit": "m3",
      "estimate": true
    },
    "roofArea": {
      "value": 430,
      "unit": "m2",
      "estimate": true
    },
    "roofShape": {
      "value": "flat",
      "estimate": true
    },
    "dwellings": {
      "value": 24,
      "estimate": false
    },
    "floodZone": null,
    "seismicZone": null,
    "cadastralRef": {
      "value": "1200",
      "officialUrl": "https://nahlizenidokn.cuzk.cz/"
    }
  },
  "outline": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          14.4301,
          50.0751
        ],
        [
          14.4305,
          50.0751
        ],
        [
          14.4305,
          50.0754
        ],
        [
          14.4301,
          50.0754
        ],
        [
          14.4301,
          50.0751
        ]
      ]
    ]
  },
  "centroid": [
    14.4303,
    50.07525
  ],
  "context": {
    "streetBuildings": 38,
    "olderThanShareOnStreet": 0.71,
    "tallerThanShareInLocality": 0.84
  },
  "place": {
    "country": "cz",
    "slug": "praha",
    "name": "Praha"
  },
  "gated": {
    "solarChecked": true,
    "registeredCompanies": 3
  },
  "updatedAt": "2026-10-01"
}

PublicBuildingMoved

The body of a 301: where a retired building's page moved.

movedToobjectrequired
The public page a retired building's page moved to.
idstring (uuid)required
The replacement's baseray id.
countrycz | dk | rorequired
slugstringrequired
The replacement page's slug, as its PublicBuilding gives it.
Example
{
  "movedTo": {
    "id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
    "country": "cz",
    "slug": "praha-vinohradska-12"
  }
}

PublicModel3DSource

The credit a shell measured from open data carries wherever it is drawn.

labelstringrequired
The open dataset the shell was measured from, as its credit names it.
licencestringrequired
The licence the dataset is published under, as people write it (CC BY 4.0).
urlstring (uri)required
The publisher's page of the dataset.

PublicModel3DMesh

A shell's roof and walls as triangles.

verticesarray of array of numberrequired
[x, y, z] positions in metres, in the frame of outline.
facesarray of array of integerrequired
Triangles, each three indices into vertices.
Example
{
  "vertices": [
    []
  ],
  "faces": [
    []
  ]
}

PublicBuildingModel3D

What a building's public page draws it in 3D from. Positions are in metres about the outline's centroid at ground level (x east, y north, z up), to the centimetre.

buildingIdstring (uuid)required
The building's baseray id.
kindlod2 | extruded | flatrequired
lod2: a shell measured from open data, in mesh. extruded: raise outline to heightM. flat: draw outline flat; no height is known.
heightMnumber or nullrequired
The height the building's public page shows, in metres; null where it shows none.
heightOnRecordbooleanrequired
False where heightM is an estimate, or null.
sourcePublicModel3DSource or any or nullrequired
Set for lod2 only.
labelstringrequired
The open dataset the shell was measured from, as its credit names it.
licencestringrequired
The licence the dataset is published under, as people write it (CC BY 4.0).
urlstring (uri)required
The publisher's page of the dataset.
outlinearray of array of numberrequired
The outer ring as [x, y] positions, counter-clockwise, without a closing position.
holesarray of array of array of numberrequired
Courtyards, each a clockwise ring like outline.
meshPublicModel3DMesh or any or nullrequired
Set for lod2 only.
verticesarray of array of numberrequired
[x, y, z] positions in metres, in the frame of outline.
facesarray of array of integerrequired
Triangles, each three indices into vertices.
Example
{
  "buildingId": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "kind": "extruded",
  "heightM": 21.4,
  "heightOnRecord": false,
  "source": null,
  "outline": [
    [
      -6.12,
      -4.05
    ],
    [
      6.12,
      -4.05
    ],
    [
      6.12,
      4.05
    ],
    [
      -6.12,
      4.05
    ]
  ],
  "holes": [],
  "mesh": null
}

PublicBuildingIndex

One page of a country's buildings that have a public page, in a stable order.

itemsarray of objectrequired
idstring (uuid)required
slugstringrequired
updatedAtstring (date)required
nextCursorstring or nullrequired
Pass as cursor for the next page; null on the last one.
totalintegerrequired
Buildings with a public page in the country.
Example
{
  "items": [
    {
      "id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
      "slug": "praha-vinohradska-12",
      "updatedAt": "2026-10-01"
    }
  ],
  "nextCursor": "eyJrIjoiYzllZSJ9",
  "total": 2210000
}

PublicAddressSearchResult

Up to ten addressed buildings matching the text.

itemsarray of objectrequired
idstring (uuid)required
slugstringrequired
The building's slug; its page exists only when indexable is true.
labelstringrequired
The address on one line.
indexablebooleanrequired
True when the building has a public page; otherwise its facts are shown only after signing in.
Example
{
  "items": [
    {
      "id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
      "slug": "praha-vinohradska-12",
      "label": "Vinohradská 1200/12, 120 00 Praha 2",
      "indexable": true
    }
  ]
}

PublicPlaceList

Towns of at least 2,000 inhabitants or 500 buildings; in Romania municipalities, towns and Bucharest's sectors.

itemsarray of objectrequired
slugstringrequired
namestringrequired
countystring or nullrequired
buildingsintegerrequired
Buildings in the place.
indexableBuildingsintegerrequired
Of them, buildings with a public page.
streetsintegerrequired
Streets of the place with their own page (0 without any).
Example
{
  "items": [
    {
      "slug": "iasi",
      "name": "Iași",
      "county": "Iași",
      "buildings": 61234,
      "indexableBuildings": 18000,
      "streets": 412
    }
  ]
}

PublicPlaceStatistics

One place's building statistics.

namestringrequired
countystring or nullrequired
buildingsintegerrequired
addressedintegerrequired
Buildings with an address from an address record.
builtobjectrequired
knownintegerrequired
Buildings whose construction year or era is known.
byEraarray of objectrequired
erastringrequired
countintegerrequired
before1978Sharenumber or nullrequired
Share (0–1) of buildings with a known year built before 1978.
floorsobjectrequired
knownintegerrequired
Buildings whose floors are known.
histogramarray of objectrequired
floorsstringrequired
A floor count or a range, e.g. 1 or 10+.
countintegerrequired
blocks4plusintegerrequired
Buildings of four or more floors.
tallestarray of objectrequired
idstring (uuid)required
slugstringrequired
heightnumber or nullrequired
Height in metres; null where the building is ranked by its floors because no height is measured.
labelstringrequired
solarobject or any or nullrequired
Rooftop solar counts; null where no roof in the place has been checked.
checkedRoofsintegerrequired
Roofs checked for solar panels.
withPanelsintegerrequired
Of them, roofs with panels.
imageryYearsarray of integerrequired
Years of the photos the roofs were checked on.
roofAreaTotalM2numberrequired
Total roof area in m².
registeredCompaniesintegerrequired
Companies with their registered office in the place.
updatedAtstring (date)required
Example
{
  "name": "Iași",
  "county": "Iași",
  "buildings": 61234,
  "addressed": 40211,
  "built": {
    "known": 18000,
    "byEra": [
      {
        "era": "before 1945",
        "count": 1200
      }
    ],
    "before1978Share": 0.46
  },
  "floors": {
    "known": 30000,
    "histogram": [
      {
        "floors": "1",
        "count": 21000
      }
    ],
    "blocks4plus": 3100
  },
  "tallest": [
    {
      "id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
      "slug": "iasi-palas",
      "height": 72,
      "label": "Strada Palat 1, Iași"
    }
  ],
  "solar": {
    "checkedRoofs": 9000,
    "withPanels": 1450,
    "imageryYears": [
      2023,
      2024
    ]
  },
  "roofAreaTotalM2": 5400000,
  "registeredCompanies": 15400,
  "updatedAt": "2026-10-01"
}

PublicStreetList

A place's streets where at least 3 buildings have a public page, by name.

itemsarray of objectrequired
slugstringrequired
For /public/places/{country}/{slug}/streets/{street}.
namestringrequired
The street's name as its records write it most.
localitystring or nullrequired
The town or village the street is in, where the place holds several.
buildingsintegerrequired
Buildings on the street with a public page.
updatedAtstring (date)required
When one of its buildings' facts last changed.
Example
{
  "items": [
    {
      "slug": "milevska",
      "name": "Milevská",
      "locality": "Praha",
      "buildings": 24,
      "updatedAt": "2026-09-30"
    }
  ]
}

PublicStreet

One street's page: the street, its place and its buildings.

slugstringrequired
For /public/places/{country}/{slug}/streets/{street}.
namestringrequired
The street's name as its records write it most.
localitystring or nullrequired
The town or village the street is in, where the place holds several.
buildingsintegerrequired
Buildings on the street with a public page.
updatedAtstring (date)required
When one of its buildings' facts last changed.
placePublicPlaceReferencerequired
countrycz | dk | rorequired
slugstringrequired
The place's slug, for /public/places/{country}/{slug}/stats.
namestringrequired
The place's name.
countystring or nullrequired
itemsarray of PublicNeighbourBuildingrequired
Every building on the street with a public page, by house number.
idstring (uuid)required
countrycz | dk | rorequired
slugstringrequired
Not unique: always put the id in URLs.
labelstringrequired
Its one-line address, as on its page.
numberstring or nullrequired
usestring or nullrequired
The register's own wording of its use, in the local language; null where unknown.
floorsobject or any or nullrequired
valueintegerrequired
includesUndergroundbooleanrequired
builtobject or any or nullrequired
yearinteger or nullrequired
erastring or nullrequired
distanceMnumber
Metres between the two outlines; only in nearby.
Example
{
  "slug": "milevska",
  "name": "Milevská",
  "locality": "Praha",
  "buildings": 24,
  "updatedAt": "2026-09-30",
  "place": {
    "country": "cz",
    "slug": "praha",
    "name": "Praha"
  },
  "county": "Hlavní město Praha",
  "items": [
    {
      "id": "a152dedd-bf51-4bdc-897e-98e1e5e35280",
      "country": "cz",
      "slug": "praha-milevska-2094-3",
      "label": "Milevská 2094/3, Krč, 140 00 Praha 4",
      "number": "2094/3",
      "use": "bytový dům",
      "floors": {
        "value": 33,
        "includesUnderground": true
      },
      "built": {
        "year": 2017,
        "era": null
      }
    }
  ]
}

PublicStreetIndex

One page of a country's street pages, larger places and longer streets first.

itemsarray of objectrequired
placestringrequired
The place's slug.
slugstringrequired
The street's slug.
updatedAtstring (date)required
nextCursorstring or nullrequired
Pass as cursor for the next page; null on the last one.
totalintegerrequired
Street pages in the country.
Example
{
  "items": [
    {
      "place": "praha",
      "slug": "milevska",
      "updatedAt": "2026-09-30"
    }
  ],
  "nextCursor": "10000",
  "total": 74433
}

PublicNeighbourBuilding

Another building with a public page, listed as a link: its own register facts as its page states them.

idstring (uuid)required
countrycz | dk | rorequired
slugstringrequired
Not unique: always put the id in URLs.
labelstringrequired
Its one-line address, as on its page.
numberstring or nullrequired
usestring or nullrequired
The register's own wording of its use, in the local language; null where unknown.
floorsobject or any or nullrequired
valueintegerrequired
includesUndergroundbooleanrequired
builtobject or any or nullrequired
yearinteger or nullrequired
erastring or nullrequired
distanceMnumber
Metres between the two outlines; only in nearby.
Example
{
  "country": "cz",
  "floors": {},
  "built": {}
}

PublicSurroundingOutline

The outline of a building close by, for drawing where the building stands.

outlinePublicPolygonrequired
The building's outline as a GeoJSON Polygon.
typePolygonrequired
coordinatesarray of array of array of numberrequired
GeoJSON rings of [longitude, latitude] positions in WGS84; the first ring is the outline, any further ones holes.
idstring (uuid) or nullrequired
Set only where that building has a public page.
slugstring or nullrequired
sameStreetbooleanrequired
Its address names the same street in the same locality.
Example
{
  "outline": {
    "type": "Polygon",
    "coordinates": [
      [
        []
      ]
    ]
  }
}

CountryRequest

countrystringrequired
The country asked for: an ISO 3166-1 alpha-2 code, such as DE.
emailstring (email)required
Where to write when baseray covers the country. Compared in lower case: the same address asks for a country once.
consenttruerequired
Must be true: the person agrees to be emailed about this country. Kept for 24 months at most and deleted on request (privacy@baseray.ai).
companystring or null
The person's company, up to 200 characters.
use_casesolar_prospecting | heating_upgrades | energy_efficiency | insurance_underwriting | real_estate_prospecting | market_research | other or null
What they want the buildings for.
localestring or null
The language to write back in, as a two-letter code (en, ro, cs).
attributionobject or null
Where the person came from before asking (first touch), as the website carries it.
utm_sourcestring or null
Campaign source, up to 200 characters.
utm_mediumstring or null
Campaign medium, up to 200 characters.
utm_campaignstring or null
Campaign name, up to 200 characters.
utm_contentstring or null
Campaign content, up to 200 characters.
utm_termstring or null
Campaign term, up to 200 characters.
gclidstring or null
Google Ads click id, up to 200 characters.
referrer_hoststring or null
Host of the site that sent the person, up to 255 characters.
landing_pathstring or null
The first page the person saw, up to 500 characters.
Example
{
  "country": "DE",
  "email": "ana@example.com",
  "consent": true,
  "company": "Example GmbH",
  "use_case": "insurance_underwriting",
  "locale": "en"
}

CountryRequestReceipt

The answer to a country request.

statusreceived | liverequired
received: the request is on the list (also when this address had asked before). live: baseray already covers the country; nothing was stored.
countrystringrequired
The country asked for, upper case.
Example
{
  "status": "received",
  "country": "DE"
}

RemovalRequest

countryRO | CZ | DKrequired
The country of the business's register: RO, CZ or DK.
registration_numberstringrequired
The business's number in its register: a Romanian CUI (2 to 10 digits; a leading RO is dropped), a Czech IČO or a Danish CVR number (8 digits each). Spaces, dots and hyphens are ignored.
production_unit_numbersarray of string
Denmark only: the business's production units (P-numbers, 10 digits) to remove with it.
emailstring (email) or null
Where to confirm the removal. Optional; kept only until the request is decided.
personal_safetyboolean
True when the person cites a protected address or their safety: the request is then decided within 72 hours.
localestring or null
The language to confirm in (en, ro, cs, da); English otherwise.
Example
{
  "country": "RO",
  "registration_number": "12345678",
  "production_unit_numbers": []
}

RemovalRequestReceipt

Always received, whether or not baseray holds the business, so the answer tells nobody what it holds.

statusreceivedrequired
referencestring (uuid)required
Names the request in a later message to privacy@baseray.ai.
Example
{
  "status": "received"
}

BuildingReportCheckoutRequest

A building report bought from its building's page.

buildingIdstring (uuid)required
The building's baseray id.
localeen | ro | cs | darequired
The building page's language: Checkout's, the delivery email's, and the currency the report is sold in (en EUR, ro RON, cs CZK, da DKK).
returnPathstringrequired
The building's page on baseray.tech in that language, where an abandoned Checkout returns: /building/, /ro/cladire/, /cs/budova/ or /da/bygning/, then an optional slug and the building's id.
consentobject or null
Optional: Stripe's payment page asks for both before paying. When sent (a box ticked on the website), both must be true.
withdrawalWaiverbooleanrequired
The buyer asks for the report to be delivered at once and acknowledges losing the 14-day right of withdrawal on delivery.
termsbooleanrequired
The buyer accepts the terms.
attributionobject or null
Where the buyer came from before buying (first touch), as a sign-up keeps it.
utmSourcestring or null0–200 characters
utmMediumstring or null0–200 characters
utmCampaignstring or null0–200 characters
utmContentstring or null0–200 characters
utmTermstring or null0–200 characters
gclidstring or null0–200 characters
referrerHoststring or null0–255 characters
landingPathstring or null0–500 characters
callToActionstring or null0–200 characters
analyticsAnonymousIdstring or null
The visit's product analytics anonymous id (letters, digits, dashes, up to 64); dropped in another shape.
analyticsSessionIdstring or null
The visit's product analytics session id (letters, digits, dashes, up to 64); dropped in another shape. With both ids, the report's link carries them (br_ph), so its page continues the visit.
Example
{
  "locale": "en",
  "consent": {},
  "attribution": {}
}

BuildingReportCheckout

A started report Checkout.

checkoutUrlstring (uri)required
The Stripe Checkout page to send the buyer to; it expires after an hour.
amountintegerrequired≥ 1
The total the buyer pays, tax included, in the currency's minor units (11900 is CZK 119.00).
currencyeur | ron | czk | dkkrequired
The currency of the page's language, lower-case ISO 4217: en eur, ro ron, cs czk, da dkk.
Example
{
  "checkoutUrl": "https://checkout.stripe.com/c/pay/cs_live_a1B2c3",
  "amount": 11900,
  "currency": "czk"
}

BuildingReport

A bought building report.

statuspending | paid | expiredrequired
pending while Checkout is open, paid, or expired when Checkout closed unpaid.
buildingobjectrequired
idstring (uuid)required
countrystringrequired
Lower case, as the public pages give it (cz).
titlestringrequired
The building's address as its public page writes it.
localeen | ro | cs | darequired
The language it was bought in.
paidAtstring (date-time) or nullrequired
accessUntilstring (date-time) or nullrequired
Until when the report opens its building: 12 months from payment.
Example
{
  "status": "pending",
  "building": {
    "id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
    "country": "cz",
    "title": "Vinohradská 1200/12, 120 00 Praha 2"
  },
  "locale": "cs",
  "paidAt": null,
  "accessUntil": null
}

BuildingReportError

A building report endpoint's refusal.

codeinvalid_parameter | consent_required | not_found | report_unavailable | payments_unavailable | report_not_paid | report_access_expired | route_forbidden | report_analysis_used | rate_limited | upstream_unavailablerequired
messagestringrequired
parameterstring
The body field at fault, for invalid_parameter and consent_required.
Example
{
  "code": "report_not_paid",
  "message": "This report is not paid."
}

BuildingAddress

One address of the building, written once however many records write it: the shown address, a block's entrance, or a corner building's front on another street. Which record gives it is never named.

linestringrequired
The address written the country's way: street and number, then the block (bl.) and entrance (sc.) where given.
postal_codestring or nullrequired
The address's official postcode where one is known, else the one its record writes; null when none is.
localitystring or nullrequired
The town or village.
entrancestring or nullrequired
The entrance the address names; null for an address that names none.
dwellings_at_entranceinteger or nullrequired≥ 0
The dwellings counted behind this entrance, never the building's total; null for an address that is no entrance or whose dwellings are not counted.
relationshown | same_address | different_number | other_street | another_entrance or nullrequired
shown (the address the building is shown with), same_address (another record gives the shown street the same number), different_number (another record gives the shown street a different number), other_street (the building's front on another street), another_entrance (another entrance or number of the building); null when not compared.
Example
{
  "line": "Strada Memorandumului 28, bl. A, sc. 1",
  "postal_code": "400114",
  "locality": "Cluj-Napoca",
  "entrance": "1",
  "dwellings_at_entrance": 24,
  "relation": "shown"
}

BuildingAddresses

Every address of the building, the shown one first, and whether its records agree on the shown number.

confirmationconfirmed | records_disagree | single_record or nullrequired
confirmed (several records give the shown street the same number), records_disagree (they give it different numbers) or single_record; null when no number was compared.
addressesarray of BuildingAddressrequired
Every address, the shown one first.
linestringrequired
The address written the country's way: street and number, then the block (bl.) and entrance (sc.) where given.
postal_codestring or nullrequired
The address's official postcode where one is known, else the one its record writes; null when none is.
localitystring or nullrequired
The town or village.
entrancestring or nullrequired
The entrance the address names; null for an address that names none.
dwellings_at_entranceinteger or nullrequired≥ 0
The dwellings counted behind this entrance, never the building's total; null for an address that is no entrance or whose dwellings are not counted.
relationshown | same_address | different_number | other_street | another_entrance or nullrequired
shown (the address the building is shown with), same_address (another record gives the shown street the same number), different_number (another record gives the shown street a different number), other_street (the building's front on another street), another_entrance (another entrance or number of the building); null when not compared.
Example
{
  "confirmation": "confirmed",
  "addresses": [
    {
      "line": "Strada Memorandumului 28, bl. A, sc. 1",
      "postal_code": "400114",
      "locality": "Cluj-Napoca",
      "entrance": "1",
      "dwellings_at_entrance": 24,
      "relation": "shown"
    }
  ]
}

FloorUnits

The units the building's record lists on one floor.

floor_kindbasement | semi_basement | ground | upper | atticrequired
Which kind of floor: basement, semi_basement, ground, upper or attic.
floor_numberinteger or nullrequired
Basements and upper floors only, counted from 1; null for the others.
unitsintegerrequired≥ 0
The listed units of every kind on the floor.
dwellingsintegerrequired≥ 0
The listed dwellings among them.
Example
{
  "floor_kind": "upper",
  "floor_number": 4,
  "units": 23,
  "dwellings": 23
}

UnitKindCount

How many of the units the building's record lists are of one kind.

kinddwelling | commercial | parking | storage | otherrequired
dwelling, commercial (a shop, an office or other business premises), parking, storage or other; a unit the record gives no kind is other.
unitsintegerrequired≥ 1
The listed units of that kind.
Example
{
  "kind": "parking",
  "units": 94
}

EntranceDwellings

The dwellings the building's record counts behind one of its entrances.

entrancestringrequired
The entrance, by its address as the record writes it.
dwellingsintegerrequired≥ 0
The dwellings counted behind it.
Example
{
  "entrance": "Strada Memorandumului 28, sc. 1",
  "dwellings": 24
}

UnitsSummary

What the building's record says of its units: the units and dwellings it lists, floor by floor and kind by kind, against the totals it states of itself, and the dwellings it counts behind each entrance. The units themselves are read with GET /buildings/{building_id}/units.

listedinteger or nullrequired≥ 1
The units the record lists; null when it lists none, which says nothing of how many there are.
listed_dwellingsinteger or nullrequired≥ 0
The dwellings among the listed units; null when none are listed.
statedinteger or nullrequired≥ 0
The units the record states the building has; null when it states no total.
stated_dwellingsinteger or nullrequired≥ 0
The dwellings the record states the building has; null when it states no total.
list_is_completebooleanrequired
True when the record lists units and its list matches every total it states: a unit missing from an incomplete list may still exist.
by_floorarray of FloorUnits or nullrequired
The listed units on each floor, bottom to top; a unit whose floor is not known is on none. Null when no units are listed, never to be read as none.
by_kindarray of UnitKindCount or nullrequired
The listed units of each kind, kinds the list holds none of left out. Null when no units are listed.
entrancesarray of stringrequired
The entrances the listed units are reached by, as the record names them, in reading order.
entrance_dwellingsarray of EntranceDwellingsrequired
The dwellings the record counts behind each entrance; empty when it counts none.
entrancestringrequired
The entrance, by its address as the record writes it.
dwellingsintegerrequired≥ 0
The dwellings counted behind it.
Example
{
  "listed": 118,
  "listed_dwellings": 96,
  "stated": 118,
  "stated_dwellings": 96,
  "list_is_complete": true,
  "by_floor": [
    {
      "floor_kind": "ground",
      "floor_number": null,
      "units": 22,
      "dwellings": 0
    },
    {
      "floor_kind": "upper",
      "floor_number": 1,
      "units": 24,
      "dwellings": 24
    }
  ],
  "by_kind": [
    {
      "kind": "dwelling",
      "units": 96
    },
    {
      "kind": "commercial",
      "units": 4
    },
    {
      "kind": "storage",
      "units": 18
    }
  ],
  "entrances": [
    "A",
    "B"
  ],
  "entrance_dwellings": []
}

BuildingUnit

One unit the building's record lists, as the record words it.

designationstring or nullrequired
The unit's number, name or door as the record writes it, e.g. 275, Parcare 12.
floorstring or nullrequired
The floor as the record words it, e.g. P, ETAJ 7; null when the record names none for the unit.
floor_kindbasement | semi_basement | ground | upper | attic or nullrequired
Which kind of floor it is on; null when not known.
floor_numberinteger or nullrequired
Basements and upper floors only, counted from 1.
entrancestring or nullrequired
The entrance the unit is reached by, as the record names it.
kinddwelling | commercial | parking | storage | other or nullrequired
dwelling, commercial, parking, storage or other; null when the record gives none.
usestring or nullrequired
The use the record states for the unit, in its wording.
area_m2number or nullrequired≥ 0
The unit's area as the record states it.
roomsinteger or nullrequired≥ 0
The rooms the record states.
cadastral_numberstring or nullrequired
The unit's own cadastral number, where the record keeps one.
Example
{
  "designation": "275",
  "floor": "ETAJ 7",
  "floor_kind": "upper",
  "floor_number": 7,
  "entrance": "B",
  "kind": "dwelling",
  "use": "locuinta",
  "area_m2": 54.2,
  "rooms": 2,
  "cadastral_number": null
}

BuildingUnitPageMeta

How the page stands against the building's whole list of units.

listedintegerrequired≥ 0
The units the record lists; 0 when it lists none, which says nothing of how many there are.
statedinteger or nullrequired≥ 0
The units the record states the building has; null when it states no total.
list_is_completebooleanrequired
True when the record lists units and its list matches every total it states.
matchedintegerrequired≥ 0
The listed units the answer is about: every one, or those unit finds.
limitintegerrequired≥ 1
The page size asked for.
offsetintegerrequired≥ 0
The matched units skipped.
Example
{
  "listed": 736,
  "stated": 736,
  "list_is_complete": true,
  "matched": 1,
  "limit": 200,
  "offset": 0
}

BuildingUnitPage

One page of the units a building's record lists.

dataarray of BuildingUnitrequired
The page of matched units, by number, then by name.
designationstring or nullrequired
The unit's number, name or door as the record writes it, e.g. 275, Parcare 12.
floorstring or nullrequired
The floor as the record words it, e.g. P, ETAJ 7; null when the record names none for the unit.
floor_kindbasement | semi_basement | ground | upper | attic or nullrequired
Which kind of floor it is on; null when not known.
floor_numberinteger or nullrequired
Basements and upper floors only, counted from 1.
entrancestring or nullrequired
The entrance the unit is reached by, as the record names it.
kinddwelling | commercial | parking | storage | other or nullrequired
dwelling, commercial, parking, storage or other; null when the record gives none.
usestring or nullrequired
The use the record states for the unit, in its wording.
area_m2number or nullrequired≥ 0
The unit's area as the record states it.
roomsinteger or nullrequired≥ 0
The rooms the record states.
cadastral_numberstring or nullrequired
The unit's own cadastral number, where the record keeps one.
metaBuildingUnitPageMetarequired
How the page stands against the building's whole list of units.
listedintegerrequired≥ 0
The units the record lists; 0 when it lists none, which says nothing of how many there are.
statedinteger or nullrequired≥ 0
The units the record states the building has; null when it states no total.
list_is_completebooleanrequired
True when the record lists units and its list matches every total it states.
matchedintegerrequired≥ 0
The listed units the answer is about: every one, or those unit finds.
limitintegerrequired≥ 1
The page size asked for.
offsetintegerrequired≥ 0
The matched units skipped.
linksLinksrequired
nextstring (uri) or nullrequired
The next page's URL; null on the last page.
Example
{
  "data": [
    {
      "designation": "275",
      "floor": "ETAJ 7",
      "floor_kind": "upper",
      "floor_number": 7,
      "entrance": "B",
      "kind": "dwelling",
      "use": "locuinta",
      "area_m2": 54.2,
      "rooms": 2,
      "cadastral_number": null
    }
  ],
  "meta": {
    "listed": 736,
    "stated": 736,
    "list_is_complete": true,
    "matched": 1,
    "limit": 200,
    "offset": 0
  },
  "links": {
    "next": null
  }
}

RecordSheetRow

One fact of the building's record, as the record words it.

labelstringrequired
The fact's name, or a list entry's own wording.
valuestring or number or booleanrequired
The value as the record states it: a wording, a number in unit, or a yes or no.
unitstring or nullrequired
The unit of a quantity as written, e.g. m2, W/m2K, kWh/m2/year; null for wordings and counts.
Example
{
  "label": "Heated floor area",
  "value": 2410.5,
  "unit": "m2"
}

RecordSheetSection

One section of the building's record, as its register lays it out.

titlestringrequired
The section's title.
rowsarray of RecordSheetRowrequired
The facts in the section.
labelstringrequired
The fact's name, or a list entry's own wording.
valuestring or number or booleanrequired
The value as the record states it: a wording, a number in unit, or a yes or no.
unitstring or nullrequired
The unit of a quantity as written, e.g. m2, W/m2K, kWh/m2/year; null for wordings and counts.
Example
{
  "title": "Performance",
  "rows": [
    {
      "label": "Heated floor area",
      "value": 2410.5,
      "unit": "m2"
    }
  ]
}

RecordSheet

The building's whole record as its register lays it out: its identity numbers, then every fact it states, by section (such as use, areas, storeys, construction, heating and utilities, energy certificate, accessibility). The facts are the record's own, as it words them.

existsboolean or nullrequired
False when the record says the building no longer stands; null where the register keeps no such mark.
validatedboolean or nullrequired
Whether the register marks the record checked; null where it keeps no such mark.
cadastral_numberstring or nullrequired
The building's cadastral number, where the record keeps one.
property_numberstring or nullrequired
The property number, where the record keeps one.
land_book_numberstring or nullrequired
Always null: the land book in force is not known. The land book number the register holds, as it was filed, is land_book_number_as_filed.
land_book_number_as_filedstring or nullrequired
The land book number as written into the register when the building was filed, where it holds one. Free text, not checked against the land book in force: often an old paper land book's number ("447 Ocna Dej"), which may since have closed or been renumbered. Never use it to order a land book extract.
read_onstring (date) or nullrequired
The day the record was last read.
sectionsarray of RecordSheetSectionrequired
Every fact on record, by section; empty when the record states none beyond its numbers.
titlestringrequired
The section's title.
rowsarray of RecordSheetRowrequired
The facts in the section.
labelstringrequired
The fact's name, or a list entry's own wording.
valuestring or number or booleanrequired
The value as the record states it: a wording, a number in unit, or a yes or no.
unitstring or nullrequired
The unit of a quantity as written, e.g. m2, W/m2K, kWh/m2/year; null for wordings and counts.
Example
{
  "exists": true,
  "validated": true,
  "cadastral_number": "262812-C1",
  "property_number": null,
  "land_book_number": null,
  "land_book_number_as_filed": "1997/N",
  "read_on": "2026-10-06",
  "sections": [
    {
      "title": "Performance",
      "rows": [
        {
          "label": "Heated floor area",
          "value": 2410.5,
          "unit": "m2"
        }
      ]
    }
  ]
}

RoofPlane

One plane of the analysed roof.

planeintegerrequired≥ 1
The number the analysis gives the plane.
facingnorth | north-east | east | south-east | south | south-west | west | north-westrequired
The compass direction the plane faces.
azimuth_degreesnumberrequired
The bearing the plane faces: 0 north, 90 east, 180 south.
pitch_degreesnumberrequired
The plane's slope from the horizontal.
area_m2numberrequired≥ 0
The plane's area.
sunshine_hours_per_yearnumber or nullrequired≥ 0
The sunshine the plane gets in a year; null when not analysed.
panelsintegerrequired≥ 0
Panels the largest layout puts on the plane.
Example
{
  "plane": 1,
  "facing": "south",
  "azimuth_degrees": 181.4,
  "pitch_degrees": 32,
  "area_m2": 64.3,
  "sunshine_hours_per_year": 1412,
  "panels": 28
}

RoofAnalysis

The roof analysis behind the building's solar potential (solar_potential): the roof's areas and sunshine, the photo it was read from, the panel its layout assumes and the roof plane by plane. Where planes_are_assumed is true the planes are an estimate's assumption, not a measurement.

whole_roof_area_m2number or nullrequired≥ 0
The whole roof's area.
ground_area_m2number or nullrequired≥ 0
The ground the analysed roof covers.
peak_sunshine_hours_per_yearnumber or nullrequired≥ 0
Peak sunshine hours a year at the roof.
yearly_irradiance_kwh_per_m2number or nullrequired≥ 0
The solar energy a square metre of the roof receives in a year.
imagery_datestring (date) or nullrequired
The date of the imagery the roof was read from; null when undated or assumed.
imagery_qualitystring or nullrequired
The imagery's quality as the analysis grades it.
confidencenumber or nullrequired0–1
The analysis's confidence, 0 to 1.
planes_are_assumedboolean or nullrequired
True where the planes are an estimate's assumption, false where they were measured, null where unsaid.
roof_surveylidar | image_matching or nullrequired
Where the planes were measured on the building by an open survey: how it measured them, lidar (airborne laser scanning) or image_matching (a point cloud matched from overlapping aerial photographs, which is not lidar). Null where the planes come from no such survey (read from imagery, or assumed) or from a survey baseray does not list.
panel_capacity_wnumber or nullrequired≥ 0
The power of the panel the layout assumes.
panel_width_mnumber or nullrequired≥ 0
The width of that panel.
panel_height_mnumber or nullrequired≥ 0
The height of that panel.
planesarray of RoofPlanerequired
Every plane of the roof, by its number.
planeintegerrequired≥ 1
The number the analysis gives the plane.
facingnorth | north-east | east | south-east | south | south-west | west | north-westrequired
The compass direction the plane faces.
azimuth_degreesnumberrequired
The bearing the plane faces: 0 north, 90 east, 180 south.
pitch_degreesnumberrequired
The plane's slope from the horizontal.
area_m2numberrequired≥ 0
The plane's area.
sunshine_hours_per_yearnumber or nullrequired≥ 0
The sunshine the plane gets in a year; null when not analysed.
panelsintegerrequired≥ 0
Panels the largest layout puts on the plane.
Example
{
  "whole_roof_area_m2": 182.4,
  "ground_area_m2": 151,
  "peak_sunshine_hours_per_year": 1390,
  "yearly_irradiance_kwh_per_m2": 1310,
  "imagery_date": "2023-06-14",
  "imagery_quality": "HIGH",
  "confidence": 0.92,
  "planes_are_assumed": false,
  "roof_survey": null,
  "panel_capacity_w": 400,
  "panel_width_m": 1.045,
  "panel_height_m": 1.879,
  "planes": [
    {
      "plane": 1,
      "facing": "south",
      "azimuth_degrees": 181.4,
      "pitch_degrees": 32,
      "area_m2": 64.3,
      "sunshine_hours_per_year": 1412,
      "panels": 28
    }
  ]
}

ClimatePeriod

The local climate at the building over one period.

periodlatest_year | recent_average | current_yearrequired
latest_year (the last complete year), recent_average (yearly average over the recent years) or current_year (this year so far, preliminary).
fromstring or nullrequired
Where the period starts: a year, or a date for current_year.
tostring or nullrequired
Where the period ends: a year, or a date for current_year.
data_throughstring (date) or nullrequired
The last day the data covers.
coldest_day_cnumber or nullrequired
The lowest daily temperature, °C.
hottest_day_cnumber or nullrequired
The highest daily temperature, °C.
frost_daysnumber or nullrequired≥ 0
Days below freezing.
hot_daysnumber or nullrequired≥ 0
Hot days.
precipitation_mmnumber or nullrequired≥ 0
Rainfall over the year, mm.
wet_daysnumber or nullrequired≥ 0
Wet days.
wettest_day_mmnumber or nullrequired≥ 0
Rainfall on the wettest day, mm.
Example
{
  "period": "recent_average",
  "from": "2016",
  "to": "2025",
  "data_through": "2025-12-31",
  "coldest_day_c": -14.2,
  "hottest_day_c": 36.8,
  "frost_days": 92.4,
  "hot_days": 31.5,
  "precipitation_mm": 612.3,
  "wet_days": 104.2,
  "wettest_day_mm": 48.6
}

HeatingDegreeDays

The heating degree-days of the building's location over one period.

periodstandard_normal | recent_average | latest_yearrequired
standard_normal (the climate normal), recent_average (yearly average over the recent years) or latest_year (the last complete year).
fromstringrequired
The first year of the period.
tostringrequired
The last year of the period.
degree_daysnumberrequired≥ 0
Heating degree-days, K·d.
Example
{
  "period": "standard_normal",
  "from": "1991",
  "to": "2020",
  "degree_days": 3202
}

Climate

The local climate at the building, from gridded climate data for its location, never an on-site measurement.

periodsarray of ClimatePeriodrequired
The temperatures, frost and hot days and rainfall per period; a period with no figure on record is left out.
periodlatest_year | recent_average | current_yearrequired
latest_year (the last complete year), recent_average (yearly average over the recent years) or current_year (this year so far, preliminary).
fromstring or nullrequired
Where the period starts: a year, or a date for current_year.
tostring or nullrequired
Where the period ends: a year, or a date for current_year.
data_throughstring (date) or nullrequired
The last day the data covers.
coldest_day_cnumber or nullrequired
The lowest daily temperature, °C.
hottest_day_cnumber or nullrequired
The highest daily temperature, °C.
frost_daysnumber or nullrequired≥ 0
Days below freezing.
hot_daysnumber or nullrequired≥ 0
Hot days.
precipitation_mmnumber or nullrequired≥ 0
Rainfall over the year, mm.
wet_daysnumber or nullrequired≥ 0
Wet days.
wettest_day_mmnumber or nullrequired≥ 0
Rainfall on the wettest day, mm.
heating_degree_daysarray of HeatingDegreeDaysrequired
The heating degree-days per period, the climate normal first; a period not on record is left out.
periodstandard_normal | recent_average | latest_yearrequired
standard_normal (the climate normal), recent_average (yearly average over the recent years) or latest_year (the last complete year).
fromstringrequired
The first year of the period.
tostringrequired
The last year of the period.
degree_daysnumberrequired≥ 0
Heating degree-days, K·d.
temperature_trend_c_per_decadenumber or nullrequired
How fast the location has warmed, °C per decade; null where the trend is not on record or has no clear direction.
Example
{
  "periods": [
    {
      "period": "recent_average",
      "from": "2016",
      "to": "2025",
      "data_through": "2025-12-31",
      "coldest_day_c": -14.2,
      "hottest_day_c": 36.8,
      "frost_days": 92.4,
      "hot_days": 31.5,
      "precipitation_mm": 612.3,
      "wet_days": 104.2,
      "wettest_day_mm": 48.6
    }
  ],
  "heating_degree_days": [
    {
      "period": "standard_normal",
      "from": "1991",
      "to": "2020",
      "degree_days": 3202
    }
  ],
  "temperature_trend_c_per_decade": 0.48
}

EnergyNetworkLevel

Whether a gas or district-heating network is on record at one level, from the locality down to the building.

networknatural_gas | district_heatingrequired
The network.
levellocality | service_area | street | address | buildingrequired
How close to the building the evidence reaches: the locality, the service area, the street, the address or the building's own connection.
presentbooleanrequired
Whether the network is on record at that level.
yearinteger or nullrequired
The year the evidence refers to.
Example
{
  "network": "natural_gas",
  "level": "street",
  "present": true,
  "year": 2024
}

HeatingEraScenario

The heat the building would need for space heating had it been built in one construction period.

first_yearinteger or nullrequired
The period's first year; null for the earliest.
last_yearinteger or nullrequired
The period's last year; null for the latest.
useful_heat_kwh_per_yearnumberrequired≥ 0
The heat need under that period.
is_takenbooleanrequired
Whether the other figures assume this period.
Example
{
  "first_year": 1961,
  "last_year": 1980,
  "useful_heat_kwh_per_year": 182000,
  "is_taken": true
}

HeatPumpScenario

The electricity a heat pump would use for the building's space heating at one seasonal performance factor.

seasonal_performance_factornumberrequired≥ 0
The seasonal performance factor assumed.
electricity_kwh_per_yearnumber or nullrequired≥ 0
The electricity a year.
Example
{
  "seasonal_performance_factor": 3,
  "electricity_kwh_per_year": 60667
}

HeatingEstimate

The building's heating estimate. Every figure is a model estimate, never a metered value, an energy certificate or a sizing.

useful_heat_kwh_per_yearnumber or nullrequired
The headline: the heat the building needs in a year for space heating, as it was built (insulated or re-glazed since, it needs less).
useful_heat_low_kwh_per_yearnumber or nullrequired
Where the number of floors is not on record: the lowest need over the floor counts the building may have.
useful_heat_high_kwh_per_yearnumber or nullrequired
Where the number of floors is not on record: the highest need over the floor counts the building may have.
useful_heat_kwh_per_m2_per_yearnumber or nullrequired
The heat need per m² of heated floor area.
heated_floor_area_m2number or nullrequired
The heated floor area the need is worked out on.
heated_floor_area_basisstring or nullrequired
What the heated floor area rests on, e.g. register_heated_area or volume_share.
useful_heat_kwh_per_dwelling_per_yearnumber or nullrequired
The heat need of one dwelling on average, where the dwellings are counted.
dwelling_countinteger or nullrequired
The dwellings that figure is per.
delivered_energy_kwh_per_yearnumber or nullrequired
The energy delivered to the heating system for that need.
expected_energy_kwh_per_yearnumber or nullrequired
The energy the building is expected to use for heating.
peak_heat_load_kwnumber or nullrequired
The peak heat load.
peak_heat_load_basisstring or nullrequired
What the peak heat load rests on; screening_estimate is an order of magnitude at the standard winter design temperature of the location.
design_outdoor_temperature_cnumber or nullrequired
The outdoor temperature the peak heat load is worked out at, °C.
hot_water_heat_kwh_per_yearnumber or nullrequired
The heat in the hot water, apart from space heating and in none of the other figures.
hot_water_personsnumber or nullrequired
The people the hot water is worked out for.
hot_water_occupancy_basisstring or nullrequired
Where those people come from: counted_dwellings, one_household or heated_floor_area.
construction_period_is_on_recordboolean or nullrequired
False when the construction period behind the estimate is assumed, not read from the building's own record.
era_scenariosarray of HeatingEraScenariorequired
Where the construction year is not on record: the need under each construction period.
first_yearinteger or nullrequired
The period's first year; null for the earliest.
last_yearinteger or nullrequired
The period's last year; null for the latest.
useful_heat_kwh_per_yearnumberrequired≥ 0
The heat need under that period.
is_takenbooleanrequired
Whether the other figures assume this period.
neighbours_are_measuredboolean or nullrequired
False when the neighbouring buildings were not measured and every wall was taken to face the weather.
neighbour_wall_sharenumber or nullrequired
The share of the walls, 0 to 1, standing against neighbouring buildings; null where they were not measured.
heat_pump_scenariosarray of HeatPumpScenariorequired
The electricity a heat pump would use per seasonal performance factor.
seasonal_performance_factornumberrequired≥ 0
The seasonal performance factor assumed.
electricity_kwh_per_yearnumber or nullrequired≥ 0
The electricity a year.
Example
{
  "useful_heat_kwh_per_year": 182000,
  "useful_heat_low_kwh_per_year": null,
  "useful_heat_high_kwh_per_year": null,
  "useful_heat_kwh_per_m2_per_year": 75.5,
  "heated_floor_area_m2": 2410.5,
  "heated_floor_area_basis": "register_heated_area",
  "useful_heat_kwh_per_dwelling_per_year": 7583,
  "dwelling_count": 24,
  "delivered_energy_kwh_per_year": 214000,
  "expected_energy_kwh_per_year": 196000,
  "peak_heat_load_kw": 96.4,
  "peak_heat_load_basis": "screening_estimate",
  "design_outdoor_temperature_c": -15,
  "hot_water_heat_kwh_per_year": 41000,
  "hot_water_persons": 52.8,
  "hot_water_occupancy_basis": "counted_dwellings",
  "construction_period_is_on_record": true,
  "era_scenarios": [],
  "neighbours_are_measured": true,
  "neighbour_wall_share": 0.18,
  "heat_pump_scenarios": [
    {
      "seasonal_performance_factor": 3,
      "electricity_kwh_per_year": 60667
    }
  ]
}