Florida Tax Certificate API
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

NameTypeRequiredDefaultDescription
countystringyesCounty slug to scope the lookup.
parcel_idstringyesCounty-assigned parcel id.
limitintegerno25Page size.
offsetintegerno0Pagination 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

StatusCodeCause
400bad_requestMissing county or parcel_id.
401unauthorizedMissing or invalid API key.
429rate_limitedRate limit exceeded.
500internal_errorServer error — retry with backoff.

On this page