Skip to main content
Kernel turns messy company records into a clean, verified dataset. It works out which real-world company each record represents, enriches it with firmographics and corporate parentage, and flags duplicates so your data stays accurate over time.

Base URL

All requests must be sent to this base URL over HTTPS.

Authentication

All endpoints are authenticated using an API key in the x-api-key header:
Generate and manage API keys from Settings > API keys in the Kernel app.
Store your API key in an environment variable and never commit it to source control.

What is entity resolution?

Entity resolution is the reasoning-based process Kernel uses to decide which real-world company a record represents. It uses names, websites, addresses, email domains, and other signals — not just a simple name lookup — to match the record to a canonical entity in Kernel’s database. Each resolved entity gets a stable Kernel ID and a structured identity result with confidence levels, legal and trading information, and entity classification.

What is Alignment?

Alignment is the recommended way to use Kernel. You send a company record with your own external_id, and Kernel returns everything in one result:
  • Identity — entity resolution links the record to its Kernel ID.
  • Firmographics — operational status, location, headcount, revenue, and industry. For the full schema, see Firmographic result.
  • Parentage — the parent, top parent, and top operating parent, linked to your own records where they exist in your dataset.
  • Alignment outcome — a recommended action and the duplicate group, checked against the rest of your dataset.
Aligning first catches duplicates and wrong parents before they spread through your data, so you avoid cleaning them up later. Repeat calls keep each record’s Kernel ID, so duplicate groups and recommended actions stay stable as your data refreshes.
Alignment is available to tracked-usage customers. See Alignment for the request and response details.

Async workflow

Alignment runs asynchronously. Each request returns an id you poll until the result is ready, or you can provide a webhook_url to receive a callback instead.
  1. Start — call Alignment with your external_id and the company details.
  2. Poll — call Get alignment result with the id. Use exponential backoff between requests (start at 2 seconds, max 30 seconds).
  3. Read result — when status is completed, the record object is included with the identity, firmographics, parentage, and alignment outcome. When status is failed, record is null.
Jobs transition linearly: pending → processing → completed | failed. Terminal states do not change.

Data formats

The API uses the following standards for structured fields:

Errors

The API uses standard HTTP status codes:

Rate limits

Rate limiting is not currently enforced but will be added in a future update. We recommend building retry logic with exponential backoff and respecting 429 responses and Retry-After headers when they are introduced.

Versioning

The current API version is v1. We will give at least 6 months notice before deprecating a version. Breaking changes will always be introduced under a new path prefix (e.g. /v2/).

API keys

Create and manage API keys for authentication.

Webhooks

Receive HTTP callbacks when jobs complete or fail.