Overview
Each BPD parcel record contains 100+ fields sourced from county assessors and enriched with external datasets. All fields are optional; availability varies by county. A null value means the county did not provide that data, not that the parcel doesn’t exist.
Core parcel fields
Ownership
| Field | Description |
|---|
owner | Full owner name |
owner_first_name | Owner first name (where parsed) |
owner_last_name | Owner last name (where parsed) |
owner_2 | Secondary owner name |
owner_type | Owner classification (individual, corporate, government, etc.) |
mail_addr | Owner mailing address |
Location & identity
| Field | Description |
|---|
parcel_id | County assessor parcel ID (APN) |
situs | Property street address |
city | City |
postal | ZIP code |
state | Two-letter state abbreviation |
state_fp | State FIPS code |
county | County name |
county_fp | County FIPS code |
latitude | Parcel centroid latitude |
longitude | Parcel centroid longitude |
Valuation
| Field | Description |
|---|
parcel_value | Total assessed value (USD) |
land_value | Land assessed value (USD) |
improvements_value | Improvements assessed value (USD) |
agricultural_value | Agricultural assessed value (USD) |
building_value | Building assessed value (USD) |
sale_price | Most recent recorded sale price (USD) |
sale_date | Most recent sale date |
tax_amount | Annual property tax (USD) |
tax_year | Tax year for the tax amount |
Physical characteristics
| Field | Description |
|---|
acres | Parcel area (county-reported) |
acres_calc | Parcel area calculated from geometry by BPD |
sq_feet | Parcel area in square feet |
year_built | Year the primary structure was built |
num_stories | Number of stories |
num_units | Number of units |
num_rooms | Number of rooms |
Land use & zoning
| Field | Description |
|---|
land_use | Land use classification (raw, as provided by county) |
land_use_code | Land use code |
zoning | Zoning code (raw, as provided by county) |
zoning_description | Zoning description where available |
Zoning data is raw and county-specific. BPD collects the zoning code exactly as the county reports it but does not standardize it across counties. A code of A-1 means different things in different counties. Cross-county zoning comparisons require your own normalization layer.
Legal description
| Field | Description |
|---|
legal | Legal description |
legal_2 | Additional legal description |
legal_3 | Additional legal description |
plat | Plat name |
book / page | Deed book and page |
block / lot | Block and lot number |
unit_number | Unit number |
plss_section | PLSS section |
plss_township | PLSS township |
plss_range | PLSS range |
Stack & parcel identity
| Field | Description |
|---|
bpd_uuid | Unique BPD identifier for this parcel record |
bpd_stack_uuid | Groups parcels that share the same geometry (e.g. condos) |
alt_parcel_id | Alternate parcel ID |
account_number | Tax account number |
Enriched external data
In addition to county assessor data, each parcel is enriched with several external datasets.
USDA Cropland Data Layer (CDL)
| Field | Description |
|---|
cdl_majority_category | Dominant crop or land cover type (e.g. Corn, Soybeans, Developed) |
cdl_majority_value | Numeric USDA CDL category code |
cdl_majority_percent | Percentage of parcel area covered by the majority CDL category |
The CDL is updated annually by USDA and covers all US agricultural land. Useful for filtering parcels by crop type or identifying agricultural versus developed land at scale.
Elevation
| Field | Description |
|---|
elevation | Centroid elevation in meters above sea level |
Adjacent acreage
| Field | Description |
|---|
adjacent_acreage_sameowner | Total contiguous acreage owned by the same owner |
Useful for identifying large contiguous landholdings that may be split across multiple parcel records.
Additional county-specific fields
| Field | Description |
|---|
additional | JSON object containing county-specific fields not mapped to standard columns |
Null values
A null value on any field means the county did not publish that data. BPD does not estimate, impute, or infer missing values.
This is by design: a null sale_price means no sale was recorded by the county, not that the parcel has never sold. A null zoning means the county GIS did not include zoning in its parcel dataset.
BPD retains all parcel records regardless of data completeness. Some competitors remove parcels that fall below a minimum field threshold, which makes their counts appear lower while BPD’s count reflects the true universe of recorded parcels.