Buildings

Buildings in an area, ranked

One ranked page of the buildings inside bbox that pass every filter given. Filters of different names combine with AND; the values of one list filter combine with OR. An area outside the countries baseray covers answers with no buildings; https://baseray.ai/countries lists them and takes requests for others.

get/buildings

Request

  • Base URL: https://api.baseray.ai/v1
  • URL: https://api.baseray.ai/v1/buildings
  • Auth: HTTP bearer

Query parameters

bboxstring required

The area to search: minLon,minLat,maxLon,maxLat in WGS84 degrees. Each side may span at most 3 degrees; search a county, city or district.

sort'volume' | 'area' | 'height' | 'registered_business_turnover' | 'registered_business_employees'

Ranking, largest first: volume (m³), area (footprint, m²), height (m), registered_business_turnover (the largest latest turnover of a business registered at the address, in registered_business_turnover_currency, which it requires) or registered_business_employees (the largest stated size; a band ranks where it starts, so 10–19 ranks as 10).

limitinteger

Buildings per page, 1 to 100.

offsetinteger

Buildings to skip, for the next page. offset + limit must be at most 10,000; past that, narrow bbox.

categorystring[]

Keep buildings of any of these categories. Repeat the parameter or give a comma list: category=commercial,industrial. ancillary is an annex or outbuilding.

building_typestring[]

Keep buildings of any of these granular types, combined with category by OR: e.g. office, warehouse, school, apartments, garage. Repeatable or a comma list.

roof_shapestring[]

Keep buildings with any of these roof shapes. Repeatable or a comma list.

min_floorsinteger

At least this many floors above ground. Buildings where this value is unknown are left out.

max_floorsinteger

At most this many floors above ground. Buildings where this value is unknown are left out.

min_dwellingsinteger

At least this many dwellings, where known. Buildings where this value is unknown are left out.

max_dwellingsinteger

At most this many dwellings, where known. Buildings where this value is unknown are left out.

min_entrancesinteger

At least this many entrances (each listed address of the building counts as one). Buildings where this value is unknown are left out.

max_entrancesinteger

At most this many entrances. Buildings where this value is unknown are left out.

address_corroborationstring[]

Keep buildings whose shown address is graded any of: corroborated (an independent record gives the same house number), single_source (only one record), conflicting (another record gives another number). Buildings shown without a house number match none.

min_area_m2number

Minimum ground footprint, in square metres.

max_area_m2number

Maximum ground footprint, in square metres.

min_height_mnumber

Minimum height, in metres. Buildings where this value is unknown are left out.

max_height_mnumber

Maximum height, in metres. Buildings where this value is unknown are left out.

min_volume_m3number

Minimum volume, in cubic metres. Buildings where this value is unknown are left out.

max_volume_m3number

Maximum volume, in cubic metres. Buildings where this value is unknown are left out.

measured_height_onlyboolean

Keep only buildings whose volume comes from a measurement of the building itself: a survey, or a surface model measured over its roof. Despite its name this filter reads the volume, not the height, and a volume integrated under a measured roof still has volume_basis estimated, since its heights, not its solid, were measured.

solar_presencestring[]

Keep buildings whose settled solar answer, their solar_presence, is any of these. registered and detected together are the buildings known to carry panels; registered_at_address is an installation registered at an address the building shares with others; none_seen is a roof photo showing none with no register entry; unknown is neither a register entry nor a usable photo. Repeatable or a comma list.

exclude_solar_presencestring[]

Leave out buildings whose solar_presence is any of these, for example registered,detected to leave out the buildings known to carry panels. An answer may not be both kept by solar_presence and left out here. Repeatable or a comma list.

existing_solar_panelsstring[]

Keep buildings whose roof photo was checked for solar panels with any of these results. This reads the photo alone, whatever a register states: none_seen keeps a building with a registered installation its photo does not show. Use solar_presence for the settled answer. Buildings never checked, or whose photo was too coarse to check, match none. Repeatable or a comma list.

registered_solarboolean

true keeps buildings at whose address an official register (a grid operator's list of connected installations, or the energy regulator's licence register) states a solar installation: those whose registered_solar is not null. false keeps buildings no register states one for, which says nothing of their roofs: a register lists only what was connected to the grid, and only where its address is one a building holds. Leave it out to keep both.

registered_solar_storageboolean

Among buildings with a registered solar installation: true keeps those a register states store energy (a battery), false those stated to store none. A building whose register does not say matches neither. Not accepted with registered_solar=false.

min_registered_solar_kwnumber

At least this much installed power, in kW, registered at the building's address, counting the installations that state theirs. Where only some state it a building can match on those while its registered_solar.installed_power_kw, which is given only for a whole sum, is null. Buildings with no registered installation, or none stating its power, are left out. Not accepted with registered_solar=false.

has_solar_potentialboolean

Keep only buildings whose roof has a solar-potential estimate.

min_panel_countinteger

At least this many solar panels fit on the roof. Buildings where this value is unknown are left out.

max_panel_countinteger

At most this many solar panels fit on the roof. Buildings where this value is unknown are left out.

min_capacity_kwpnumber

Minimum rooftop solar capacity, in kWp. Buildings where this value is unknown are left out.

max_capacity_kwpnumber

Maximum rooftop solar capacity, in kWp. Buildings where this value is unknown are left out.

min_yearly_energy_kwhnumber

Minimum yearly rooftop solar energy, in kWh. Buildings where this value is unknown are left out.

max_yearly_energy_kwhnumber

Maximum yearly rooftop solar energy, in kWh. Buildings where this value is unknown are left out.

min_co2_savings_kg_per_yearnumber

Minimum CO₂ a rooftop solar installation would save, in kg a year. Buildings where this value is unknown are left out.

max_co2_savings_kg_per_yearnumber

Maximum CO₂ a rooftop solar installation would save, in kg a year. Buildings where this value is unknown are left out.

has_3d_modelboolean

Keep only buildings with a reconstructed 3D model of their roof.

has_registered_businessboolean

Keep only buildings with at least one active business whose registered office is the building's address. A registered office is never ownership or occupancy.

registered_business_namestring

Keep buildings where the name of a business registered at the address contains this text.

min_registered_business_turnoverinteger

Minimum latest turnover of a business registered at the address, in whole units of registered_business_turnover_currency (required with it).

max_registered_business_turnoverinteger

Maximum latest turnover of a business registered at the address, in whole units of registered_business_turnover_currency (required with it).

registered_business_turnover_currencystring

ISO 4217 currency of the turnover bounds and of the turnover sort, e.g. RON, CZK, EUR. Required with a turnover bound or sort=registered_business_turnover.

registered_business_financial_yearinteger

Keep buildings whose registered business's latest financial statement is for this year.

min_registered_business_employeesinteger

At least this many employees in one business registered at the address, reading its whole stated size: a band counts only when all of it is at or above the value (10–19 matches 10, not 15). A business whose size is not stated never matches.

max_registered_business_employeesinteger

At most this many employees in every business registered at the address whose size is stated; an open-ended top band never matches.

has_annual_heating_estimateboolean

Keep only buildings with an annual heating-demand estimate for the local climate.

has_thermal_assessmentboolean

Keep only buildings with a building-specific thermal assessment (energy certificate, audit, as-built model or survey).

has_peak_heat_loadboolean

Keep only buildings whose thermal assessment supplies the design temperatures a peak heat load needs.

has_recent_climate_trendboolean

Keep only buildings with a recent rolling climate average and trend at their location.

has_recent_temperature_extremesboolean

Keep only buildings with a complete recent temperature-extremes profile at their location.

has_recent_precipitationboolean

Keep only buildings with a complete recent precipitation profile at their location.

min_recent_frost_daysnumber

At least this many frost days a year, averaged over recent complete years. Buildings where this value is unknown are left out.

max_recent_minimum_daily_temperature_cnumber

The coldest daily minimum of recent complete years is at most this, in °C. Buildings where this value is unknown are left out.

min_recent_hot_daysnumber

At least this many hot days a year, averaged over recent complete years. Buildings where this value is unknown are left out.

min_recent_max_one_day_precipitation_mmnumber

The wettest single day of recent complete years brought at least this much precipitation, in mm. Buildings where this value is unknown are left out.

flood_zonestring[]

Keep buildings whose flood_zone, the most frequently flooded zone of an official flood hazard map they lie in, is any of these: zones are named by the return period of their flood, and 100_year_climate_change is the 1-in-100-year flood under the climate the map projects. Flood maps are served only where their licence allows it, and cover only the areas they were drawn for: a building whose zone is unknown matches none, so an empty result is not evidence of low flood risk. Repeatable or a comma list.

seismic_risk_classstring[]

Keep buildings an official list of technically assessed buildings gives any of these seismic risk classes: RsI (the highest risk) to RsIV, the urgency classes U1 (the most urgent) to U3 older assessments set, or consolidated (strengthened since). Only buildings on such a list, such as Bucharest's, have a class: a building on no list matches none, which says nothing of its risk. Repeatable or a comma list.

Response

OK

Example response

{
  "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,
      "app_url": "https://app.baseray.ai/?building=c9eefd1b-8c8d-48fe-8b72-e015374d7720"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.