Authentication
Authenticate your API requests with an API key.
API Keys
All API requests require an API key passed via the X-API-Key header.
bashcurl -X POST https://api.fingerprintiq.com/v1/identify \ -H "Content-Type: application/json" \ -H "X-API-Key: fiq_live_your_api_key" \ -d '{"signals": {...}}'
Key Types
Your API key. Two formats are supported:
fiq_live_— Live key for production traffic. Counts toward your monthly quota.fiq_test_— Test key for development and staging. Full functionality, excluded from monthly quota.
Use test keys (fiq_test_) in your CI/CD pipeline, staging environments, and local development. This keeps your production quota clean and makes it easy to distinguish production traffic in your dashboard.
Creating API Keys
Sign in to the dashboard
Go to fingerprintiq.com/dashboard and sign in.
Navigate to API Keys
Select API Keys from the left sidebar.
Create a new key
Click Create Key, give it a descriptive name (e.g., "Production Web App"), and select the key type.
Copy the key immediately
The full key value is shown only once at creation. Copy it to your secrets manager before closing the dialog.
API keys are shown only once at creation time. If you lose a key, revoke it and create a new one — there is no way to retrieve the original value.
Rate Limits
| Plan | Requests/second | Monthly limit |
|---|---|---|
| Free | 10 | 10,000 |
| Builder | 1,000 | 50,000 |
| Growth | 1,000 | 250,000 |
| Scale | 1,000 | 2,000,000 |
When rate limited, the API returns 429 Too Many Requests with a JSON body describing the limit:
json{ "error": "Monthly API call limit exceeded", "usage": 10001, "limit": 10000 }
The per-second rate limit applies to burst traffic. If your application generates identification requests in bursts (e.g., page load events), implement exponential backoff on 429 responses.
Security Best Practices
Never expose your API key in client-side JavaScript, public repositories, or build artifacts. Use environment variables on your server and NEXT_PUBLIC_ / Vite import.meta.env.VITE_ prefixes only for public keys used directly in the browser SDK.
- Server-side keys — Use for calling the visits API (
/v1/demo/visits/:id). These keys must never reach the browser. - Client-side keys — The SDK uses your key to call
/v1/identify. This endpoint enforces domain allowlisting, so even if the key is visible in source, it cannot be used from unauthorized domains. - Key rotation — Rotate keys periodically (every 90 days) and immediately if you suspect exposure.