Endpoints
Certificates by Parcel
All tax certificates for a single county parcel id. Returns an empty list (not 404) when the parcel has no certificates or the county is uncovered.
GET /api/v1/certificates/by-parcel
Return every tax certificate tied to a single county parcel id, across tax years. This endpoint never 404s or 500s on a coverage gap: it returns an empty data array when the county has no certificate feed, or when the parcel has no certificates on file.
Authentication
curl -H "X-API-Key: fltc_test_..." \
"https://fltaxcerts.com/api/v1/certificates/by-parcel?county=polk&parcel_id=262813-000000-012345"
Query Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
county | string | yes | — | County slug to scope the lookup. |
parcel_id | string | yes | — | County-assigned parcel id. |
limit | integer | no | 25 | Page size. |
offset | integer | no | 0 | Pagination offset. |
Response (200)
List envelope { data: Certificate[], pagination, meta } — same row shape as Search Certificates.
{
"data": [
{
"id": "cert_7a3f29b1",
"certificate_number": "2024-04821",
"county_slug": "polk",
"county_name": "Polk",
"parcel_id": "262813-000000-012345",
"tax_year": 2023,
"status": "sold",
"face_amount": 3512.44,
"delinquent_amount": 3284.17,
"interest_rate": 5.25,
"sale_date": "2024-06-01",
"holder_id": "hld_3c19a7",
"holder_name": "MAGNOLIA TAX FUND LLC",
"vendor": "lienhub",
"redeemed": false,
"redeemed_date": null,
"redemption_amount": null,
"tax_deed_application_date": null,
"owner_name": "DOE JANE",
"site_address_full": "456 ORANGE AVE, LAKELAND FL 33801",
"parcel_url": "https://floridapropertyapi.com/parcels/polk/262813-000000-012345"
}
],
"pagination": { "limit": 25, "offset": 0, "total": 1, "has_more": false },
"meta": { "request_id": "req_1234567890abcdef12345", "dataset_status": "live" }
}
A parcel with no certificates (or an uncovered county) returns { "data": [], "pagination": { "limit": 25, "offset": 0, "total": 0, "has_more": false }, "meta": { ... } }.
Error Responses
| Status | Code | Cause |
|---|---|---|
400 | bad_request | Missing county or parcel_id. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Rate limit exceeded. |
500 | internal_error | Server error — retry with backoff. |