Authentication
Every request uses the X-API-Key header with a key shaped like ovk_live_….
Generate keys from Settings → API. Keys are scoped to a single workspace and
shown only once at creation — copy them immediately.
curl https://ovalead.com/api/v1/me \
-H "X-API-Key: ovk_live_YOUR_KEY"
The API is available on Trial, Pro and Enterprise plans. The Free plan returns 402 Payment Required.
Quickstart
1. Verify identity and plan
curl https://ovalead.com/api/v1/me \
-H "X-API-Key: ovk_live_…"
# → { "org_id": "…", "org_name": "Acme", "plan": "pro", "auth_method": "api_key" }
2. List your enrichment jobs
curl "https://ovalead.com/api/v1/jobs?limit=10" \
-H "X-API-Key: ovk_live_…"
3. Fetch a job's contacts
curl "https://ovalead.com/api/v1/jobs/47/contacts?status=success&limit=50" \
-H "X-API-Key: ovk_live_…"
4. Look up whether a contact is still current
curl -X POST https://ovalead.com/api/v1/contacts/lookup \
-H "X-API-Key: ovk_live_…" \
-H "Content-Type: application/json" \
-d '{"linkedin_url": "https://linkedin.com/in/jane-doe"}'
Endpoint reference
Base URL: https://ovalead.com/api/v1
GET/me
Workspace identity, active plan, auth method.
GET/quota
Monthly quota: plan, used, limit, period_end.
GET/jobs
Paginated list of jobs. Params: status, limit (1-200), offset.
GET/jobs/{id}
Job detail with progress and counters (success / failed / changes detected).
GET/jobs/{id}/contacts
Enriched contacts in the job. Filters: status, change_detected (yes/no/unknown). Pagination: limit (1-500), offset.
GET/contacts/{id}
Full enriched contact (current title, company, email, change detection).
POST/contacts/lookup
Look up a contact by linkedin_url or email. Returns the most recently processed match.
Errors
Every error response uses the same envelope:
{
"detail": {
"error": {
"code": "contact_not_found",
"message": "No matching contact",
"details": {}
}
}
}
401 — missing, invalid, or revoked key.
402 — Free plan: upgrade to Pro to enable the API.
404 — resource not found or outside your workspace.
400 — invalid payload (e.g. lookup with no criterion).
Zapier, n8n, Make
The API is shaped for no-code tools. Configure an HTTP action with:
- URL:
https://ovalead.com/api/v1/...
- Headers:
X-API-Key: ovk_live_…
- Response format: JSON
Common patterns: trigger a webhook when change_detected = yes,
sync enriched contacts into Notion / Airtable, push a weekly Slack report.
Need a packaged integration?
Email us — we'll prioritize an official Zapier or n8n connector based on demand.
contact@ovalead.com