Authentication
Learn about API keys, JWT tokens, and how to securely access the ABM.dev API.
Authentication Methods
ABM.dev supports two authentication methods depending on your use case:
API Keys
Best for server-to-server integrations and backend services.
RecommendedJWT Tokens
For user-authenticated sessions via the portal dashboard.
Portal OnlyAPI Keys
API keys are the primary way to authenticate with the ABM.dev API. They are scoped to your organization and can be managed from your dashboard.
Creating an API Key
- Go to your API Keys page
- Click "Create New Key"
- Give your key a descriptive name (e.g., "Production Server")
- Copy and securely store the key - it won't be shown again
Using API Keys
Include your API key in the Authorization header:
curl https://api.abm.dev/v1/enrich \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'Security
Alternative: X-API-Key Header
You can also use the x-api-key header:
curl https://api.abm.dev/v1/enrich \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'Organization Context
All API requests are scoped to your organization. Your API key is linked to your organization, so all enrichment data and usage is tracked at the organization level.
What's tracked per organization:
- API usage and rate limits
- API keys and permissions
- CRM integrations (HubSpot, etc.)
- Encrypted credentials for integrations
Rate Limits
API requests are rate-limited based on your subscription plan:
| Plan | Requests/Min | Monthly Limit |
|---|---|---|
| Free | 10 | 100 enrichments |
| Starter | 60 | 1,000 enrichments |
| Pro | 300 | 10,000 enrichments |
| Enterprise | Custom | Unlimited |
Rate Limit Headers
X-RateLimit-Remaining and X-RateLimit-Reset response headers to monitor your usage.Authentication Errors
401 UnauthorizedMissing or invalid API key. Check that your key is correctly formatted.
403 ForbiddenYour API key doesn't have permission for this resource or your plan doesn't include this feature.
429 Too Many RequestsRate limit exceeded. Wait for the reset time indicated in the response headers.