The SphereScout REST API gives you programmatic access to the contact database. Use it to search and filter millions of business contacts by location, category, and contact method; stream results into your CRM; trigger CSV exports; and manage API credentials — all over standard HTTPS with JSON request and response bodies.Documentation Index
Fetch the complete documentation index at: https://docs.spherescout.io/llms.txt
Use this file to discover all available pages before exploring further.
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 a two-step process: you first run a search to define the result set, then trigger an asynchronous CSV export against that search and poll until the file is ready.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, a paginated preview of results, and a search_id that uniquely identifies this query.Use the search_id to drive the export — there is no need to re-send the filters.Response
Initiate the CSV export
Call
GET /api/download-csv?search_id={search_id} to enqueue the export. This endpoint is asynchronous: it returns immediately with a task_id that identifies the background job — it does not return the CSV itself.Response
Poll for completion
Call
GET /api/download-status/{task_id} periodically until status becomes ready. 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:| Status | Meaning |
|---|---|
pending | Job is queued, not yet started. Keep polling. |
processing | Job is running. Keep polling. |
ready | CSV is ready. Response includes a download_url. |
failed | Job failed. Response includes an error message; do not retry without investigating. |
Ready response
Download the CSV
Fetch the file from the
download_url returned in the previous step. Links remain valid for 30 days; after that, regenerate the export from your search history.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
| Method | Path | Description |
|---|---|---|
POST | /api/auth/login | Obtain JWT access and refresh tokens |
POST | /api/token/refresh | Exchange a refresh token for a new access token |
Account
| Method | Path | Description |
|---|---|---|
GET | /api/user/profile | Retrieve account details and remaining credit balance |
API key management
| Method | Path | Description |
|---|---|---|
GET | /api/user/api-keys | List all API keys on your account |
POST | /api/user/api-keys | Create a new API key |
DELETE | /api/user/api-keys/{key_id} | Permanently revoke an API key |
Contact search
| Method | Path | Description |
|---|---|---|
GET | /api/companies | Search and filter business contacts (authenticated) |
GET | /api/public/companies | Preview contacts without authentication (limited results) |
Reference data
| Method | Path | Description |
|---|---|---|
GET | /api/categories | List all business categories and their IDs |
GET | /api/locations/countries | List available countries |
GET | /api/locations/search | Search for locations by query string |
GET | /api/professions/summary | Retrieve profession and subcategory data |
Exports
| Method | Path | Description |
|---|---|---|
GET | /api/download-csv | Initiate an async CSV export for a given search_id; returns a task_id |
GET | /api/download-status/{task_id} | Poll the status of an export job and retrieve the download URL when ready |
Export history
| Method | Path | Description |
|---|---|---|
GET | /api/user/search-history | List all past exports on your account |
GET | /api/user/search-history/{id}/freshness | Check whether new contacts match a past search |
GET | /api/user/search-history/{id}/download-delta | Download only the new contacts since a previous export |
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.