Skip to content

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 | estimatedrequired
measured, or estimated (modelled).
Example
{
  "metres": 18,
  "basis": "measured"
}

ExistingSolarPanels

Whether solar panels are already on the roof, as a dated photo of the roof shows it.

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.
Example
{
  "status": "none_seen",
  "photo_date": "2022-09-08",
  "confidence": 0.988
}

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.
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
}

BuildingSummary

building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
Street and house number as recorded; null when the building has no address 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.
footprint_area_m2numberrequired
Ground footprint, in m².
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | estimatedrequired
measured, 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.
floorsinteger or nullrequired
Floors above ground; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it.
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.
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.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
app_urlstring (uri)required
The building in the baseray app.
Example
{
  "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "address": "Bulevardul 15 Noiembrie 78",
  "locality": "Brașov",
  "country": "RO",
  "latitude": 45.64988,
  "longitude": 25.61044,
  "category": "commercial",
  "footprint_area_m2": 31252,
  "height": {
    "metres": 18,
    "basis": "estimated"
  },
  "volume_m3": 562531,
  "volume_basis": "estimated",
  "floors": 16,
  "existing_solar_panels": {
    "status": "none_seen",
    "photo_date": "2022-09-08",
    "confidence": 0.988
  },
  "solar_potential": null,
  "registered_business_count": 0,
  "app_url": "https://app.baseray.ai/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720"
}

BuildingDetail

building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
Street and house number as recorded; null when the building has no address 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.
footprint_area_m2numberrequired
Ground footprint, in m².
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | estimatedrequired
measured, 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.
floorsinteger or nullrequired
Floors above ground; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it.
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.
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.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
app_urlstring (uri)required
The building in the baseray app.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
entrancesinteger or nullrequired
Entrances: each listed address of the building counts as one; null when none are listed.
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.
Example
{
  "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "address": "Bulevardul 15 Noiembrie 78",
  "locality": "Brașov",
  "country": "RO",
  "latitude": 45.64988,
  "longitude": 25.61044,
  "category": "commercial",
  "footprint_area_m2": 31252,
  "height": {
    "metres": 18,
    "basis": "estimated"
  },
  "volume_m3": 562531,
  "volume_basis": "estimated",
  "floors": 16,
  "existing_solar_panels": {
    "status": "none_seen",
    "photo_date": "2022-09-08",
    "confidence": 0.988
  },
  "solar_potential": null,
  "registered_business_count": 0,
  "app_url": "https://app.baseray.ai/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720",
  "dwellings": null,
  "entrances": null,
  "is_current": true,
  "replaced_by_building_id": 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).
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.
Example
{
  "employees": "10–49",
  "employees_stated_for": "FY 2024"
}

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
Street and house number as recorded; null when the building has no address 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.
footprint_area_m2numberrequired
Ground footprint, in m².
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | estimatedrequired
measured, 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.
floorsinteger or nullrequired
Floors above ground; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it.
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.
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.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
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",
      "locality": "Brașov",
      "country": "RO",
      "latitude": 45.64988,
      "longitude": 25.61044,
      "category": "commercial",
      "footprint_area_m2": 31252,
      "height": {
        "metres": 18,
        "basis": "estimated"
      },
      "volume_m3": 562531,
      "volume_basis": "estimated",
      "floors": 16,
      "existing_solar_panels": {
        "status": "none_seen",
        "photo_date": "2022-09-08",
        "confidence": 0.988
      },
      "solar_potential": null,
      "registered_business_count": 0,
      "app_url": "https://app.baseray.ai/?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
Street and house number as recorded; null when the building has no address 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.
footprint_area_m2numberrequired
Ground footprint, in m².
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | estimatedrequired
measured, 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.
floorsinteger or nullrequired
Floors above ground; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it.
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.
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.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
app_urlstring (uri)required
The building in the baseray app.
Example
{
  "data": [
    {
      "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
      "address": "Bulevardul 15 Noiembrie 78",
      "locality": "Brașov",
      "country": "RO",
      "latitude": 45.64988,
      "longitude": 25.61044,
      "category": "commercial",
      "footprint_area_m2": 31252,
      "height": {
        "metres": 18,
        "basis": "estimated"
      },
      "volume_m3": 562531,
      "volume_basis": "estimated",
      "floors": 16,
      "existing_solar_panels": {
        "status": "none_seen",
        "photo_date": "2022-09-08",
        "confidence": 0.988
      },
      "solar_potential": null,
      "registered_business_count": 0,
      "app_url": "https://app.baseray.ai/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720"
    }
  ]
}

BuildingDetailEnvelope

dataBuildingDetailrequired
building_idstring (uuid)required
The building's baseray id.
addressstring or nullrequired
Street and house number as recorded; null when the building has no address 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.
footprint_area_m2numberrequired
Ground footprint, in m².
heightHeight or any or nullrequired
Height; null when unknown.
metresnumberrequired
Height in metres.
basismeasured | estimatedrequired
measured, 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.
floorsinteger or nullrequired
Floors above ground; null when unknown.
existing_solar_panelsExistingSolarPanelsrequired
Whether solar panels are already on the roof, as a dated photo of the roof shows it.
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.
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.
registered_business_countintegerrequired≥ 0
Active businesses whose registered office is the building's address. Never ownership or occupancy.
app_urlstring (uri)required
The building in the baseray app.
dwellingsinteger or nullrequired
Dwellings, where known; null when unknown.
entrancesinteger or nullrequired
Entrances: each listed address of the building counts as one; null when none are listed.
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.
Example
{
  "data": {
    "building_id": "c9eefd1b-8c8d-48fe-8b72-e015374d7720",
    "address": "Bulevardul 15 Noiembrie 78",
    "locality": "Brașov",
    "country": "RO",
    "latitude": 45.64988,
    "longitude": 25.61044,
    "category": "commercial",
    "footprint_area_m2": 31252,
    "height": {
      "metres": 18,
      "basis": "estimated"
    },
    "volume_m3": 562531,
    "volume_basis": "estimated",
    "floors": 16,
    "existing_solar_panels": {
      "status": "none_seen",
      "photo_date": "2022-09-08",
      "confidence": 0.988
    },
    "solar_potential": null,
    "registered_business_count": 0,
    "app_url": "https://app.baseray.ai/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720",
    "dwellings": null,
    "entrances": null,
    "is_current": true,
    "replaced_by_building_id": 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).
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.
metaobjectrequired
totalintegerrequired≥ 0
Every business registered at the address; can exceed the businesses listed.
Example
{
  "data": [
    {
      "employees": "10–49",
      "employees_stated_for": "FY 2024"
    }
  ],
  "meta": {}
}

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 | 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"
  }
}