Endpoints
Search Entities
Fuzzy-search Florida business entities by name, status, or type. Ranked exact -> prefix -> trigram similarity -> recent filings.
GET /api/v1/entities/search
Search Florida business entities by name (fuzzy match via pg_trgm), status, or entity type. Results are ranked: exact name match (1.0) > prefix match (0.9) > trigram similarity > recent filings as the secondary sort key.
Authentication
Send your API key in the X-API-Key header.
curl -H "X-API-Key: fbapi_live_..." \
"https://api.floridabusinessapi.com/v1/entities/search?name=ACME&limit=10"
Query Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | string (1-200 chars) | no | — | Entity name (case-insensitive fuzzy match). |
status | enum (active, inactive) | no | — | Filter by registration status. |
entity_type | string (1-20 chars) | no | — | FL entity type code, e.g. FLAL. Send UPPERCASE (Pitfall 4-G). |
limit | integer 1-500 | no | 25 | Page size. |
offset | integer ≥ 0 | no | 0 | Pagination offset. |
Response (200)
List envelope { data: EntityHit[], pagination, meta }. Example:
{
"data": [
{
"document_number": "L26000123456",
"entity_name": "ACME LOGISTICS LLC",
"status": "active",
"entity_type": "FLAL",
"filing_date": "2026-06-24",
"principal_city": "TAMPA",
"principal_state": "FL",
"principal_zip": "33602"
}
],
"pagination": { "limit": 25, "offset": 0, "total": 1, "has_more": false },
"meta": { "request_id": "req_1234567890abcdef12345" }
}
The runtime response shape is validated against the live Zod schema in tests/integration/docs-examples.test.ts — drift fails CI.
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.