The DataInside REST API. All endpoints return JSON (except CSV exports). The base URL is https://datainside.ai.
Authorization: Bearer <key> or an x-api-key header. Keys are metered and rate-limited per minute — exceeding the limit returns 429 with Retry-After and X-RateLimit-* headers. create & manage keys./api/enrichCompany + contact intelligence for a domain.
curl "/api/enrich?domain=acme.example"/api/enrich?domain=&email=&name=&company=Resolve a weak identifier into a company + contact record with a match confidence.
curl "https://datainside.ai/api/enrich?domain=acme.example"
/api/enrichBatch enrich up to 25 records. Body: { "records": [{ "domain": "acme.example" }, …] }.
curl -X POST https://datainside.ai/api/enrich \
-H 'Content-Type: application/json' \
-d '{"records":[{"domain":"acme.example"}]}'/api/enrich/bulkAsync bulk enrich up to 500 records. Returns 202 with a jobId immediately; processes in the background and (optionally) POSTs a bulk.completed event to webhookUrl. Body: { "records": [...], "webhookUrl"?: "…" }.
curl -X POST https://datainside.ai/api/enrich/bulk \
-H 'Content-Type: application/json' \
-d '{"records":[{"domain":"acme.example"}],"webhookUrl":"https://you.example/hook"}'/api/enrich/bulk/:idPoll a bulk job: status (queued|processing|done|failed), processed/matched counts, and results once done.
/api/companies/:idFetch a full company record as JSON.
curl https://datainside.ai/api/companies/{id}/api/contacts/:idFetch a full contact record as JSON.
curl https://datainside.ai/api/contacts/{id}/api/quicksearch?q=Typeahead across companies and people (top 6 each).
curl "https://datainside.ai/api/quicksearch?q=acme"
/api/listsList all prospect lists with counts.
/api/listsCreate a list. Body: { "name": "…" }.
/api/lists/:idRename or edit a list.
/api/lists/:idDelete a list (items cascade).
/api/lists/:id/itemsAdd an item. Body: { "kind": "company"|"contact", "id": "…" }.
/api/lists/:id/items?itemId=Remove an item from a list.
/api/export?type=&<filters>CSV of a company/people search result set. Add &format=xlsx or &crm=salesforce|hubspot for CRM-ready columns.
/api/export?listId=CSV of a saved list. Supports &format=xlsx|vcard and &crm=salesforce|hubspot.
/api/export?companyId=CSV of a company's people (also &crm= for Salesforce/HubSpot import fields).
/api/keysList API keys with per-key usage & rate limit (prefix + last four only — the full key is never returned).
/api/keysCreate a key. Body: { "name": "…", "rateLimit"?: 60 }. The plaintext key is returned once and never again.
curl -X POST https://datainside.ai/api/keys \
-H 'Content-Type: application/json' \
-d '{"name":"Production","rateLimit":120}'/api/keys/:idUpdate a key. Body: { "rateLimit"?: n (per minute, 0 = unlimited), "active"?: bool }.
/api/keys/usageRecent API activity + per-endpoint totals and 24h / rate-limited counts.
/api/keys/:idRevoke a key.
/api/webhooksList webhook subscriptions.
/api/webhooksCreate a subscription. Body: { url, event }. Fires on company.ingested / contact.ingested with a DataInside-Signature: t=<unix>,v1=<hmac> header — HMAC-SHA256 of `<t>.<rawBody>` (reject if the timestamp is >5 min old).
/api/webhooks/:idDelete a subscription.
/api/notes?entityKind=&entityId=List notes for a company or contact.
/api/notesCreate a note. Body: { "entityKind", "entityId", "body" }.
/api/notes/:idDelete a note.
/api/saved-searchesList saved searches.
/api/saved-searchesCreate a saved search (snapshots its result count).
/api/saved-searches/:idMark seen — re-baseline the new-results count.
/api/saved-searches/:idDelete a saved search.