Loading...
Loading...
Integrate Florida business data directly into your applications with our
RESTful API. Data is updated daily.
Subscribe to the Professional plan ($49/mo), then create API keys from your dashboard under the API Keys section.
Use your API key to authenticate and start accessing business data.
Build powerful applications with up-to-date Florida business data.
curl "https://api.sneyk.com/api/v1/businesses/search?q=tech&city=Miami&limit=10&sort=-filing_date" \ -H "Authorization: Bearer YOUR_API_KEY"
Note: Use your API key (starts with sk_) or JWT token from POST /api/auth/login for authentication.
All API requests must include your API key in the Authorization header:
Create and manage API keys from your dashboard under the API Keys section. API keys start with sk_ and support granular permissions, allowed origin restrictions, and customizable rate limits. Alternatively, authenticate with a JWT token from POST /api/auth/login.
/api/v1/businesses/searchSearch Florida business records with advanced filtering, sorting, and pagination. Supports full-text search, geographic filters, entity type filters, and date range queries. Returns comprehensive business data including names, addresses, status, and filing dates.
| Name | Type | Description |
|---|---|---|
| q | string | Search query for business name (minimum 3 characters, e.g., 'acme', 'consulting') |
| city | string | Filter by city (e.g., 'Miami', 'Tampa', 'Jacksonville') |
| county | string | Filter by county (e.g., 'Miami-Dade', 'Broward', 'Orange') |
| zip | string | Filter by ZIP code (5 digits, e.g., '33101') |
| entity_type | string | Filter by entity type (e.g., 'Florida Limited Liability Company', 'Florida Profit Corporation') |
| status | string | Filter by business status: 'Active' or 'Inactive' |
| filing_date_from | string | Filter by filing date from (YYYY-MM-DD, e.g., '2024-01-01') |
| filing_date_to | string | Filter by filing date to (YYYY-MM-DD, e.g., '2024-12-31') |
| page | number | Page number (default: 1) |
| limit | number | Results per page (max 100, default: 25) |
| sort | string | Sort field with - for descending: business_name, -business_name, filing_date, -filing_date |
/api/v1/businesses/{id}Get detailed business information by document number including entity status, filing dates, and related filing records.
| Name | Type | Description |
|---|---|---|
| id | string | Business document number (e.g., 'P12000123456' for corporations, 'L12000123456' for LLCs) |
/api/v1/businesses/autocompleteFast autocomplete search optimized for typeahead functionality. Returns business name suggestions with minimal latency (<100ms typical response time).
| Name | Type | Description |
|---|---|---|
| q | string | Search query (minimum 2 characters, e.g., 'ac' for 'acme') |
| limit | number | Maximum suggestions to return (max 20, default: 10) |
/api/v1/exports/availableRequires an API-enabled plan (Professional or trial). List all pre-generated daily export files available for download. Files are organized by entity type, data type, format, and date. Refreshed with each daily import. Use this to discover what data is available before downloading.
| Name | Type | Description |
|---|---|---|
| entity_type | string | Filter by entity type: corporate, federal_lien, fictitious_name, general_partnership, mark |
| data_type | string | Filter by data type: filings, events, debtors, secured |
| format | string | Filter by file format: csv, xlsx, json |
| date | string | Filter by specific date (YYYYMMDD format, e.g., 20241002) |
/api/v1/exports/downloadRequires an API-enabled plan (Professional or trial). Generate a secure pre-signed URL for downloading a specific export file using its S3 key. URLs are time-limited and automatically expire. Use this after getting the s3_key from /api/v1/exports/available.
| Name | Type | Description |
|---|---|---|
| s3_key | string | Full S3 key from /api/v1/exports/available response (e.g., 'raw/record_type=data_exports/state=FL/corporate/filings/csv/corporate_filings_20241002.csv') |
| expires_in | number | URL expiration in seconds (60-604800, default: 3600 = 1 hour) |
/api/v1/exports/datesRequires an API-enabled plan (Professional or trial). Get a list of all available export dates for a specific entity type, data type, and format combination. Returns dates in YYYYMMDD format sorted newest first. Useful for discovering historical data availability.
| Name | Type | Description |
|---|---|---|
| entity_type | string | Entity type: corporate, federal_lien, fictitious_name, general_partnership, mark - REQUIRED |
| data_type | string | Data type: filings, events, debtors, secured - REQUIRED |
| format | string | File format: csv, xlsx, json - REQUIRED |
/api/v1/combined/searchSearch every record type in a single call (corporate filings, fictitious names (DBAs), federal tax liens, and general partnerships) with an event-derived status. Returns paginated, cross-referenced results. Scope: search:execute:advanced.
| Name | Type | Description |
|---|---|---|
| q | string | Free-text search across primary name, responsible party, and document number (e.g., 'acme') |
| recordType | string | Limit to one type: all, corporate, fictitious_name, federal_tax_lien, general_partnership (default: all) |
| status | string | Event-derived status, e.g. ACTIVE, DISSOLVED |
| county | string | Filter by Florida county (e.g., 'Orange') |
| city | string | Filter by city (e.g., 'Orlando') |
| dateFrom | string | Filing date from (YYYY-MM-DD) |
| dateTo | string | Filing date to (YYYY-MM-DD) |
| hasEvents | boolean | Only records that have (true) or lack (false) events |
| page | number | Page number (default: 1) |
| limit | number | Results per page (max 100, default: 50) |
| sortBy | string | Sort field: filing_date, primary_name, status, county, total_events (default: filing_date) |
| sortOrder | string | asc or desc (default: desc) |
/api/v1/combined/{recordType}/{documentNumber}Full detail for a single combined record, including its event history and derived status. Scope: search:execute:advanced.
| Name | Type | Description |
|---|---|---|
| recordType | string | corporate, fictitious_name, federal_tax_lien, or general_partnership |
| documentNumber | string | Document / corporation / lien number (e.g., 'P12000123456') |
/api/v1/entity/{documentNumber}/timelineA single chronological stream of every event across an entity's lifecycle (filings, corporate events, federal tax liens, and DBAs) plus related entities discovered along the way. Scope: events:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
| order | string | asc (oldest first) or desc (newest first, default) |
| categories | string | Comma-separated event categories to include |
| entityTypes | string | Comma-separated entity types to include |
| dateFrom | string | Only events on/after this date (YYYY-MM-DD) |
| dateTo | string | Only events on/before this date (YYYY-MM-DD) |
/api/v1/graph/officer/{normalizedName}Relationship graph centred on an officer: officer → entities → co-officers. Returns { root, nodes, edges, stats } for network visualization or traversal. Every hop is bounded; stats.truncated flags a partial view. Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| normalizedName | string | Normalized (lowercase) officer name, as returned by /api/v1/officer/search (e.g., 'john smith') |
| includeNeighbors | boolean | Expand the second hop of co-officers (default: true) |
| limit | number | First-hop cap: entities (default: 100, max 250) |
| neighborLimit | number | Second-hop cap: co-officers (default: 300, max 1000) |
/api/v1/graph/entity/{documentNumber}Relationship graph centred on an entity: its officers, then the other entities those officers are tied to. Returns { root, nodes, edges, stats, provenance }. Every edge includes a sourceDocumentNumber so it can be traced to the filing that evidences it. Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
| includeNeighbors | boolean | Expand the second hop of related entities (default: true) |
| limit | number | First-hop cap: officers (default: 100, max 250) |
| neighborLimit | number | Second-hop cap: related entities (default: 300, max 1000) |
/api/v1/enrichment/address-cluster/{documentNumber}How many entities share this entity's normalized principal address, a mass-registration / shell-cluster signal. Returns the count, a massRegistration flag, and a source field ('mv' or 'live') for traceability. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/enrichment/registered-agent/{documentNumber}How many entities this entity's registered agent represents, with an isCommercialAgent flag. Useful for distinguishing commercial registered-agent firms from individuals. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/enrichment/lien-exposure/{documentNumber}Federal-tax-lien exposure for one entity: whether it carries liens, how many are still active, and when the most recent was filed. De-duplicated by lien. An entity-level due-diligence indicator, not a consumer report. Scope: legal:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Corporate document/registration number (e.g., 'L26000287451') |
/api/v1/combined/filtersAvailable filter values (record types, statuses, counties, states) for the combined-records search UI. Scope: search:execute:advanced.
| Name | Type | Description |
|---|
/api/v1/combined/statsAggregate counts across the unified record set, by record type and event-derived status. Scope: search:execute:advanced.
| Name | Type | Description |
|---|
/api/v1/entity/searchSearch corporate entities by name or document number, county, and filing type. Paginated. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| q | string | Name (partial match) or exact document number (min 2 chars) |
| county | string | Filter by Florida county |
| type | string | Filing type code (e.g., 'FLAL') |
| page | number | Page number (default: 1) |
| limit | number | Results per page (max 100, default: 25) |
/api/v1/entity/{documentNumber}Core entity record by document number, from the corporate search materialized view. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/entity/{documentNumber}/fullOne comprehensive profile composing entity, lifecycle, enrichment, officers, registered agent, annual reports, events, liens, DBA names, partnerships, trademarks, and due-diligence indicators. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/entity/{documentNumber}/eventsRaw corporate-event history for a single entity (filings, dissolutions, reinstatements, name changes, mergers). Paginated. Scope: events:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
| page | number | Page number (default: 1) |
| limit | number | Results per page (max 100, default: 25) |
/api/v1/entity/{documentNumber}/risk-signalsComputed risk indicators for an entity (public-record due-diligence signals; not a consumer report). Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/entity/{documentNumber}/verifyThe single 'is this entity safe to transact with?' call: entity + liens + status history + risk indicators + a green/yellow/red verdict and a provenance block. Entity (business) verification, not a consumer report. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/entity/{documentNumber}/pdfGenerate and download a verification PDF for an entity. Returns application/pdf. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| documentNumber | string | Entity document number (e.g., 'P12000123456') |
/api/v1/officer/searchFind officers by name (returns normalized officer names plus velocity metrics, for use with the velocity and relationship-graph endpoints). Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| name | string | Officer name (partial match, min 2 chars) |
| limit | number | Maximum results (max 100, default: 25) |
/api/v1/officer/{normalizedName}Officer profile plus every linked entity (per-corporation relationships). Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| normalizedName | string | Normalized (lowercase) officer name from /api/v1/officer/search |
| timeRange | string | Optional: day, week, month, quarter, halfyear, year, max |
/api/v1/officer/topTop officers ranked by number of associated entities. Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| limit | number | Maximum results (max 500, default: 100) |
| activeOnly | boolean | Only officers with active businesses (default: false) |
| timeRange | string | Optional: day, week, month, quarter, halfyear, year, max |
/api/v1/officer/velocity/topOfficers with the most recent filing activity (90-day velocity), with geographic spread and entity-type metrics. Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| limit | number | Maximum results (max 100, default: 25) |
/api/v1/officer/velocity/searchFuzzy-search officers and return their velocity / geographic-spread metrics. Scope: officers:read.
| Name | Type | Description |
|---|---|---|
| name | string | Officer name (min 2 chars) |
| limit | number | Maximum results (max 100, default: 25) |
/api/v1/liens/searchSearch federal tax lien filings, optionally filtered by county (joined via debtors) and status. Paginated. Scope: legal:read.
| Name | Type | Description |
|---|---|---|
| county | string | Filter by Florida county |
| status | string | Filter by lien status |
| page | number | Page number (default: 1) |
| limit | number | Results per page (max 100, default: 25) |
/api/v1/trademarks/searchSearch registered marks (trademarks) by name and/or class code. Scope: corporate:read.
| Name | Type | Description |
|---|---|---|
| name | string | Trademark name (min 2 chars) |
| class | string | Trademark class code |
| limit | number | Maximum results (max 100, default: 25) |
/api/v1/filings/newNew corporate filings for a given date (defaults to today), optionally filtered by county and filing type. Includes the lead officer name from the cross-reference. Scope: filings:read.
| Name | Type | Description |
|---|---|---|
| date | string | Filing date (YYYY-MM-DD); defaults to today |
| county | string | Filter by Florida county |
| type | string | Filing type code |
| limit | number | Maximum results (max 1000, default: 100) |
/api/v1/analytics/county/{countyName}County-level filing analytics for a valid Florida county. Scope: data:filings:access.
| Name | Type | Description |
|---|---|---|
| countyName | string | Florida county name, URL-encoded (e.g., 'Orange') |
/api/v1/analytics/new-filings-summary7-day new-filing counts (total / brand-new / new) plus the top counties. Scope: filings:read.
| Name | Type | Description |
|---|
/api/v1/search/advancedProgrammatic advanced search over filings. JSON body with optional query, structured filters, and pagination. Subject to the regular API rate limit. Scope: search:execute:advanced.
| Name | Type | Description |
|---|---|---|
| query | string | Free-text query (optional, in JSON body) |
| filters | object | { state, entityType, status, dateFrom, dateTo } |
| pagination | object | { limit (max 100, default 100), offset (default 0) } |
/api/v1/data/filingsQuery filings programmatically with structured filters and pagination in the JSON body. Regular API rate limit (this is a query, not an export). Scope: data:filings:access.
| Name | Type | Description |
|---|---|---|
| filters | object | { state, entityType, status, documentNumber, name, dateFrom, dateTo } |
| pagination | object | { limit (default 100), offset (default 0) } |
/api/v1/data/eventsQuery corporate events programmatically with structured filters and pagination in the JSON body. Regular API rate limit. Scope: data:events:access.
| Name | Type | Description |
|---|---|---|
| filters | object | { state, eventType, dateFrom, dateTo } |
| pagination | object | { limit (default 100), offset (default 0) } |
/api/v1/download/filings/csvGenerate and stream a CSV of filings for a required date range. Subject to the export-specific rate limit (separate from regular API calls). Scope: filings:download:csv.
| Name | Type | Description |
|---|---|---|
| query | string | Free-text query (optional, in JSON body) |
| filters | object | { state, entityType, status } |
| dateRange | object | { from, to } (YYYY-MM-DD) - REQUIRED |
/api/v1/download/events/xlsxGenerate and stream an XLSX of events for a required date range. Subject to the export-specific rate limit. Scope: events:download:xlsx.
| Name | Type | Description |
|---|---|---|
| filters | object | { state, eventType } |
| dateRange | object | { from, to } (YYYY-MM-DD) - REQUIRED |
/api/v1/leads/exportStream a CSV lead list filtered by county, filing type, lifecycle stage, and date range. Counts toward your per-tier export quota. Scope: filings:export.
| Name | Type | Description |
|---|---|---|
| county | string | Filter by Florida county |
| filingType | string | Florida SOS filing type code (e.g., 'FLAL') |
| lifecycleStage | string | Comma-separated: brand_new, new, young, established, mature, legacy |
| fromDate | string | Start date (YYYY-MM-DD) |
| toDate | string | End date (YYYY-MM-DD) |
| limit | number | Maximum records (max 10000, default: 10000) |
/api/v1/alerts/filingList the authenticated user's saved new-filing alert preferences. Scope: filings:read.
| Name | Type | Description |
|---|
/api/v1/alerts/filingCreate a new-filing alert preference. Frequency is fixed to weekly; notifications are email-only. Scope: filings:read.
| Name | Type | Description |
|---|---|---|
| counties | array | Florida county names |
| entityTypes | array | Filing type codes |
| metroAreas | array | Metro area names |
| notifyEmail | string | Email address to notify |
/api/v1/alerts/filing/{prefId}Update a saved alert preference (frequency and notifyInApp are ignored, fixed to weekly, email-only). Scope: filings:read.
| Name | Type | Description |
|---|---|---|
| prefId | string | Alert preference ID |
/api/v1/alerts/filing/{prefId}Delete a saved alert preference. Scope: filings:read.
| Name | Type | Description |
|---|---|---|
| prefId | string | Alert preference ID |
/api/v1/usageAPI usage statistics for the authenticated user, defaulting to the current billing cycle. Requires a Professional plan.
| Name | Type | Description |
|---|---|---|
| period | string | billing_cycle (default), day, or month |
| start_date | string | Start date (YYYY-MM-DD) |
| end_date | string | End date (YYYY-MM-DD) |
/api/v1/api-keys/userList API keys for the authenticated user. Requires a JWT (dashboard) session. Not available to API-key auth. Key hashes are never returned.
| Name | Type | Description |
|---|
/api/v1/api-keys/permissions/availableThe scopes your plan can grant to a new API key (tier-capped), plus a least-privilege default selection. Requires a JWT session.
| Name | Type | Description |
|---|
/api/v1/api-keysCreate a new API key. Requested scopes are capped to your tier entitlement; when none are supplied the full tier set is granted. The plaintext key is returned once. Requires a JWT session.
| Name | Type | Description |
|---|---|---|
| name | string | Key name (letters, numbers, spaces, hyphens, underscores, periods, parentheses) |
| permissions | array | Requested scopes (capped to tier; defaults to full tier set if omitted) |
| expiresAt | string | Optional ISO-8601 expiry |
| rateLimitPerMinute | number | Per-minute limit (default: 100) |
| rateLimitPerHour | number | Per-hour limit (default: 1000) |
| rateLimitPerDay | number | Per-day limit (default: 10000) |
| allowedOrigins | array | Optional allowed origin URLs (max 10) |
/api/v1/api-keys/{id}Revoke one of your API keys by ID. Requires a JWT session; the key must belong to you.
| Name | Type | Description |
|---|---|---|
| id | string | API key ID |
Rate limits are customizable per API key from your dashboard.
Need higher limits? Contact our team
RateLimitModern RFC format with remaining quota and reset time
X-RateLimit-*Legacy headers for backward compatibility
Retry-AfterSeconds to wait when rate limited (429 response)
Get started with our API today and integrate Florida business data into your applications.
Get Your API Key