# Florida Properties API reference Use this as compact context for the live bluedoor Florida Properties API. Primary URLs: - API base URL: https://api.bluedoor.sh/florida-properties/v1 - OpenAPI JSON: https://bluedoor.sh/apis/florida-properties/docs/openapi.json - Upstream OpenAPI JSON: https://api.bluedoor.sh/florida-properties/v1/openapi.json - Docs: https://bluedoor.sh/apis/florida-properties/docs - Landing page: https://bluedoor.sh/apis/florida-properties Authentication: - An API key is optional. Anonymous requests work at lower rate limits. - Pass a key as "x-api-key: " or "Authorization: Bearer " to raise limits. - A 401 is returned only when a key is supplied and it is invalid; omit the key to use the anonymous tier. Conventions: - Every success is an envelope: {"data": ..., "meta": {...}}. - meta always has api_version, request_id, generated_at, product; lists add count, limit, next_cursor, and sources. - Lists paginate with an opaque cursor echoed back as meta.next_cursor. limit defaults to 50, max 500 (100 for address/owner search, 250 for facets). - Errors are {"error": {"code", "message", "details"?}, "meta": {...}} with codes like parcel_not_found, query_too_short, unsupported_county, unsupported_facet, validation_error, rate_limited. - Dollar values are integers; dates are YYYY-MM-DD. Coverage is currently fl-martin (Martin County, FL) only. Coverage (live stats, capture date 2026-06-07): 98,772 parcels, 75,149 owners, 473,654 transfers, 193,932 tax notices, 319,830 permits, 202,608 mortgage documents across 13 cities and 1,699 subdivisions. Important routes: - GET /v1 (service index, public) - GET /v1/openapi.json (contract, public) - GET /v1/stats - GET /v1/counties, GET /v1/counties/{county_id} - GET /v1/sources, GET /v1/sources/{source_id} - GET /v1/source-artifacts, GET /v1/source-artifacts/{artifact_id} - GET|POST /v1/parcels/search - GET /v1/parcels/{parcel_id} (include=valuation,transfers,tax_notices,permits,mortgages) - GET /v1/parcels/{parcel_id}/valuations - GET /v1/parcels/{parcel_id}/transfers - GET /v1/parcels/{parcel_id}/tax-notices - GET /v1/parcels/{parcel_id}/permits - GET /v1/parcels/{parcel_id}/mortgages - GET /v1/addresses/search - GET /v1/owners/search - GET /v1/cities, GET /v1/cities/{city_id}/parcels - GET /v1/zips, GET /v1/zips/{zip_code}/parcels - GET /v1/subdivisions, GET /v1/subdivisions/{subdivision_id}/parcels - GET /v1/sales/search - GET /v1/permits/search - GET /v1/mortgages/search - GET /v1/tax-notices/search - GET /v1/facets Examples: ```bash curl "https://api.bluedoor.sh/florida-properties/v1/parcels/search?q=ocean&limit=2" curl "https://api.bluedoor.sh/florida-properties/v1/parcels/13-37-41-000-000-00080-2?include=valuation,transfers,permits,mortgages" curl "https://api.bluedoor.sh/florida-properties/v1/sales/search?min_sale_price=500000&limit=2" curl "https://api.bluedoor.sh/florida-properties/v1/facets?field=city&limit=5" curl "https://api.bluedoor.sh/florida-properties/v1/stats" ```