Skip to main content
GET
Get Property By Address
The address is geocoded, then matched against parcel geometry. A 404 means the address could not be geocoded; a 200 with an empty array means the address could not be matched to a property.

Properties without a boundary

PropertyLayer does not hold a boundary for every address. Where the address resolves to a property but no boundary covers it, the property is still returned, with geom, bpd_uuid, latitude and longitude all null. Everything the county recorded comes back as usual: owner, valuation, taxes, sale history.
Guard reads of geom and bpd_uuid on this endpoint rather than assuming both are present. bpd_uuid is the key for Query and building footprints, so a property returned this way cannot be looked up again by ID.
This only ever applies to a single, unambiguous match. If the address does not identify exactly one property, the response is empty rather than a nearby property.

Condominiums and other multi-unit parcels

A condominium is one parcel boundary and many assessor records: the building’s master parcel, plus one record per unit carrying that unit’s owner, valuation, taxes and sale history. The units have no boundary of their own, so a lookup on the building’s address returns the master parcel, with unit_records_count set to the number of unit records filed at that address. Counties often file the master as a placeholder (“REFERENCE ONLY” in Miami-Dade) with every value zero.
  • Address with a unit (4747 Collins Ave Apt 701, Miami Beach, FL 33140, or #701): the response is that unit’s record alone, served on the building’s boundary. geom, bpd_stack_uuid, latitude and longitude are the building’s; bpd_uuid is null because the unit has no boundary identity of its own.
  • Address without a unit: the master parcel, with unit_records_count. Add include_units=true to also receive the unit records, after the master and in parcel id order, up to 500 per request; page with units_offset.
Every property in the response is metered, so a building with 260 units costs 261 properties with include_units=true and one without.

Enrichments

Every property carries the county tax assessor record as top-level sections: ownership, situs_address, valuation_current, transfers, buildings, taxes and more. No flag required. See Data fields. Set include_buildings=true to also attach ORNL footprint geometry as building_footprints.
building_footprints is omitted unless include_buildings=true. It has nothing to do with buildings, which is the assessor’s per-structure detail.

Response

Every endpoint returns the same object. The Property model has the full field reference: tax assessor sections, parcel geometry, and enrichments.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

address
string
required

Full address (e.g. '123 Main St, Springfield, IL 62701')

include_buildings
boolean
default:false

Include building footprints for each property

include_units
boolean
default:false

For a condominium or other multi-unit parcel, also return the unit-level assessor records filed at the address, after the parcel itself. Up to 500 per request; see units_offset. Each unit returned is metered as a property.

units_offset
integer
default:0

Skip this many units when include_units is set

Required range: x >= 0

Response

Successful Response

A Property object. See the Property model for the full response shape — tax assessor sections, parcel geometry, and enrichment fields.