Base URL
All API endpoints are served from a single origin:/api/ path prefix. For example, the company search endpoint is:
Authentication methods
The API supports two ways to authenticate requests. Both use the sameAuthorization: Bearer header format.
- API keys (recommended)
- JWT bearer tokens
API keys are long-lived credentials you generate in the Dashboard. They do not expire by default, making them the right choice for server-to-server integrations and automation scripts.See API keys for how to create and manage your keys.
Request format
All requests that include a body (POST, PATCH) must send JSON and set theContent-Type header accordingly:
"true" and "false".
Quick example
The following request searches for contacts in France who have an email address on file:Search and export flow
Exporting contacts is asynchronous. Preview the result set, start an export with the same filters, poll itssearch_id, then request the completed file.
1
Run a search
Call
GET /api/companies with the filters that describe the contacts you want (country, category, contact method, etc.). The response includes a totalCount and a paginated preview of results. Previewing does not create a search ID.Permanently closed businesses are excluded by default. Set include_closed_businesses=true here and on the export request if you want to include them. Using the same value on both requests keeps the preview count and export credit cost aligned.Response
2
Initiate the CSV export
Call
GET /api/download-csv with the same filters to enqueue the export. This endpoint returns a numeric search_id. That value is the only identifier used for the rest of the export workflow.Response
3
Poll for completion
Call
GET /api/download-status/{search_id} periodically until status becomes completed or failed. We recommend polling every 2–5 seconds with exponential backoff; most exports complete in under a minute, but large result sets can take longer.Possible status values:Completed response
4
Download the CSV
Call
GET /api/download-completed-csv/{search_id} with the same search_id. The response contains a time-limited download_url; fetch that URL to download the file.Response
Optional export fields
Both export options default tofalse, so existing integrations keep the same result set and column layout.
For example:
Rate limits
The API enforces rate limits to ensure availability for all users. Specific thresholds depend on your plan. Contact support for rate limit details relevant to your account.Endpoint reference
The table below groups the public API surface by category.Authentication
Account
API key management
Contact search
Reference data
Exports
Export history
Next steps
API keys
Generate and manage long-lived API credentials for server integrations.
Authentication
Learn the full JWT login flow and token-refresh cycle.