Search Parcels
Search Florida property parcels by owner name or site address (fuzzy), county, DOR use code, city/zip, value ranges, last-sale filters, and PostGIS spatial predicates.
GET /api/v1/parcels/search
Search Florida statewide parcels (property-appraiser / FDOR assessment-roll data) by owner name or site address (fuzzy via pg_trgm), county, DOR use code, city/zip, just/assessed-value ranges, last-sale date/price ranges, and spatial predicates (near + radius_m, bbox, point-in-polygon). county and use_code accept repeated keys or CSV. Optional facet counts are returned when facets is set.
Authentication
Send your API key in the X-API-Key header.
curl -H "X-API-Key: fpapi_test_..." \
"https://api.floridapropertyapi.com/v1/parcels/search?county=hillsborough&query=BAYSHORE&limit=10"
Query Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
query | string (1-200 chars) | no | — | Owner name or site address (case-insensitive fuzzy match). |
county | string | string[] | no | — | County slug(s), e.g. hillsborough. Repeatable or CSV. |
use_code | string | string[] | no | — | Property use code(s). Repeatable or CSV. |
dor_use_code | string | string[] | no | — | FDOR (DOR) use code(s), e.g. 0100. Repeatable or CSV. |
city | string (≤80 chars) | no | — | Site city filter. |
zip | string (≤10 chars) | no | — | Site ZIP filter. |
just_value_min | number | no | — | Minimum just (market) value. |
just_value_max | number | no | — | Maximum just (market) value. |
assessed_min | number | no | — | Minimum assessed value. |
assessed_max | number | no | — | Maximum assessed value. |
sale_after | date (YYYY-MM-DD) | no | — | Only parcels whose last sale is on/after this date. |
sale_before | date (YYYY-MM-DD) | no | — | Only parcels whose last sale is on/before this date. |
sale_price_min | number | no | — | Minimum last-sale price. |
sale_price_max | number | no | — | Maximum last-sale price. |
sort | string | no | — | Sort key (e.g. just_value_desc, last_sale_date_desc). |
facets | string[] | no | — | Facet fields to count (e.g. county, dor_use_code). Adds facets block. |
near | string "lat,lng" | no | — | Center point for radius search. Pair with radius_m. |
radius_m | number (positive) | no | — | Radius in meters around near. |
bbox | string "minLng,minLat,maxLng,maxLat" | no | — | Bounding box filter. |
point | string "lng,lat" | no | — | Point-in-polygon: parcels whose geometry contains this point. |
limit | integer 1-500 | no | 25 | Page size. |
offset | integer ≥ 0 | no | 0 | Pagination offset. |
Response (200)
List envelope { data: ParcelHit[], pagination, meta }. geometry is null in search results (the GeoJSON polygon is only hydrated on the parcel detail read). When facets is set, a top-level facets object is appended.
{
"data": [
{
"parcel_id": "192829-5040-001000-0010",
"county_slug": "hillsborough",
"county_name": "Hillsborough",
"owner_name": "SMITH JOHN A & MARY B",
"site_address_full": "123 BAYSHORE BLVD",
"site_city": "TAMPA",
"site_state": "FL",
"site_zip": "33606",
"dor_use_code": "0100",
"property_use_code": "01",
"land_use_description": "SINGLE FAMILY",
"just_value": 485000,
"assessed_value": 412300,
"taxable_value": 387300,
"year_built": 1998,
"last_sale_date": "2021-04-15",
"last_sale_price": 460000,
"centroid_lat": 27.9221,
"centroid_lng": -82.4839,
"geometry": null
}
],
"pagination": { "limit": 25, "offset": 0, "total": 1, "has_more": false },
"meta": { "request_id": "req_1234567890abcdef12345", "dataset_status": "live" }
}
Error Responses
| Status | Code | Cause |
|---|---|---|
400 | bad_request | Invalid query parameters. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Quota or rate limit exceeded. |
500 | internal_error | Server error — retry with backoff. |
Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.