Tax-Delinquency Sources
Per-county tax-delinquency / certificate-sale feed sources — vendor, sale URL, source kind, login requirement, and last-success timestamps.
GET /api/v1/tax-delinquencies/sources
List the delinquent-tax / certificate-sale feed sources the platform tracks, one row per county + tax year. Each row records the source vendor (LienHub / RealAuction, RealTaxLien, TaxCertSale, WFBS, PacificBlue, …), the certificate-sale portal URL, the source kind, whether it requires a login, and the last check / last-success timestamps. This is how you see which counties have delinquency coverage and where the data came from.
Authentication
curl -H "X-API-Key: fpapi_test_..." \
"https://api.floridapropertyapi.com/v1/tax-delinquencies/sources?county=polk&active=true"
There is also a per-county convenience route:
curl -H "X-API-Key: fpapi_test_..." \
"https://api.floridapropertyapi.com/v1/tax-delinquencies/sources/polk"
// JavaScript (fetch)
const res = await fetch(
"https://api.floridapropertyapi.com/v1/tax-delinquencies/sources?county=polk&active=true",
{ headers: { "X-API-Key": "fpapi_test_..." } },
);
const body = await res.json();
console.log(body.data);
# Python (requests)
import requests
res = requests.get(
"https://api.floridapropertyapi.com/v1/tax-delinquencies/sources",
params={"county": "polk", "active": "true"},
headers={"X-API-Key": "fpapi_test_..."},
)
res.raise_for_status()
print(res.json()["data"])
Query Parameters (/sources)
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
county | string | no | — | County slug filter. |
vendor | string | no | — | Vendor name (case-insensitive contains). |
source_kind | string | no | — | Source kind (e.g. cert_sale_portal, bulk_download). |
active | boolean | no | — | true/false — only active (or inactive) sources. |
limit | integer | no | 100 | Page size. |
offset | integer | no | 0 | Pagination offset. |
The /sources/{county} route takes the county slug as a path parameter and returns every source row for that county (newest tax year first).
Response (200)
List envelope { data: TaxDelinquencySource[], pagination, meta }.
{
"data": [
{
"id": "src_polk_2024",
"countyId": "ckpolk0001",
"countySlug": "polk",
"taxYear": 2024,
"vendor": "LienHub",
"saleUrl": "https://polk.realtaxlien.com/",
"downloadUrl": null,
"sourceKind": "cert_sale_portal",
"requiresLogin": true,
"lastCheckedAt": "2026-06-27T06:00:00.000Z",
"lastSuccessAt": "2026-06-27T06:00:00.000Z",
"lastError": null,
"active": true,
"notes": "Annual certificate sale via LienHub / RealAuction.",
"createdAt": "2026-01-12T00:00:00.000Z",
"updatedAt": "2026-06-27T06:00:00.000Z"
}
],
"pagination": { "limit": 1, "offset": 0, "total": 1, "has_more": false },
"meta": { "request_id": "req_1234567890abcdef12345", "dataset_status": "live" }
}
Dataset freshness
GET /api/v1/tax-delinquencies/freshness returns a small object summarizing the delinquency dataset: total record count, latest tax year, last ingested timestamp, and last source-success timestamp. Use it to decide whether to re-pull.
Error Responses
| Status | Code | Cause |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Rate limit exceeded. |
500 | internal_error | Server error — retry with backoff. |
Data Coverage
This endpoint is the source of truth for which counties have delinquency coverage — tax-delinquency / certificate coverage is rolling out county by county, and each row records the vendor, source kind, and last-success timestamp. Counties without a row have no feed loaded yet.
Rate Limits
Every /api/v1/* response (including 429) carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers, plus the IETF RateLimit structured field. See Rate Limits for per-tier quotas and backoff guidance.