Buildings at a point
GETapi.baseray.ai/v1/buildings/at
The buildings whose outline lies within radius_m of a point, nearest first. An area outside the countries baseray covers answers with no buildings; https://baseray.tech/countries lists them and takes requests for others.
Requires an API key. How to authenticate.
Query parameters
latnumberrequired-90–90- Latitude of the point, WGS84.
lonnumberrequired-180–180- Longitude of the point, WGS84.
radius_mnumber1–200default 25- How far from the point to look, in metres.
limitinteger1–25default 10- How many buildings to return, nearest first.
Response 200
OK
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_evidencesays which kind): street and house number, a Romanian village'snr. 350where 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 thennearest_road, never this. nearest_roadstring or nullrequired- The named road nearest the building, given only where no address of it is on record (
addressis 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
addresscomes from:address_record(an address record of the building) orbusiness_listing(a listing of a business at the building, not an address record of it). Null whenaddressis null or the kind is unknown. address_corroborationcorroborated | single_source | conflicting or nullrequired- How other records back the house number of
address, as theaddress_corroborationfilter reads it:corroborated(an independent record gives the same number),single_source(only one record) orconflicting(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;
ancillaryis an annex or outbuilding. category_evidenceconfirmed | corroborated | inferred | conflicting | unconfirmedrequired- How firmly
categoryis known:confirmed(an official register states it),corroborated(several sources agree),inferred,conflicting(sources disagree) orunconfirmed(always so forunknown). building_typestring or nullrequired- The building's granular type where a record states one, as the
building_typefilter reads it, e.g.office,warehouse,school,apartments; null when none is stated. roof_shapestring or nullrequired- The roof's shape, as the
roof_shapefilter 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_referencefootprinton 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 | estimatedrequiredmeasured(the building itself was measured),stated(a record gives it: an official building catalogue, crowd mapping or the dataset of the building's outline) orestimated(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 nullrequiredstated(a record states it for the building) orestimated(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) orgross_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
floorsis 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_presencesettles it with the registers of connected installations, which outrank a photo. statusdetected | none_seen | unclear | not_checkedrequireddetected,none_seen,unclear, ornot_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_countof 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. Thesolar_presenceandexclude_solar_presencefilters ofGET /buildingsread this field. registered_solarRegisteredSolar or any or nullrequired- The solar installations official registers state at the building's address; not null exactly when
solar_presenceisregisteredorregistered_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_storageis 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 asfirst_connected_yearalone. What it dates is inkinds: a connection certificate forgrid_connection, the start of the current holder's licence forgeneration_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_yearinkinds) it is the only date given:first_connected_onandlatest_connected_onare 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_countis 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 onlyfirst_connected_yearandlatest_connected_yearare 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 nullrequiredmeasuredwhere 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_surveysays how).measured_cut_to_outlinewhere 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.estimatedwhere 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_employeessort 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_turnoversort 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_changeis the 1-in-100-year flood under the climate the map projects. Null means outside every zone only whereflood_zone_mappedis 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) toRsIV, the urgency classesU1(the most urgent) toU3older assessments set, orconsolidated(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, orother(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.
Errors
- 400
- A parameter is missing, malformed or out of range (
invalid_parameter). - 401
- No API key, or one that does not work:
missing_api_key,invalid_api_key,revoked_api_keyorexpired_api_key. - 402
insufficient_credits: the answer's buildings need more credits than the workspace has left this month. Nothing was returned or charged.- 403
- The key may not do this:
insufficient_scope, orworkspace_access_revokedwhen the key's creator no longer belongs to its workspace. - 429
rate_limited(the key's per-minute limit) orquota_exceeded(the workspace's daily quota).- 503
- The building catalogue is unavailable right now (
upstream_unavailable); retry afterRetry-Afterseconds.
Every error has the same shape. Error codes.