Skip to main content
GET
List companies

Authorizations

Authorization
string
header
required

An Enrik API key, sent as Authorization: Bearer <key>. A key reaches public operations only, and only those whose scopes it holds. A few parameters need a scope beyond their operation’s, which the parameter names. The scopes:

  • setup:read: Read the workspace setup and its company profile.
  • setup:run: Change the setup: confirm the company profile, authorize sponsored drafting and background company research, choose what to set up and complete setup.
  • workspace:read: Read the workspace’s own profile: its health summary and setup state.
  • crm:read: Read companies with their signals, contacts and the saved views over them.
  • crm:write: Create, update and restore companies and contacts, and create, update and delete saved views.
  • crm:delete: Delete companies and contacts.
  • twin:read: Read the Company Twin: structured company knowledge and its signals.
  • discovery:read: Read ICP profiles, ICP assessments, discovery briefs, discovery jobs, candidates and the signal library.
  • discovery:write: Create and change ICP profiles, discovery briefs and signal-definition drafts, and review discovery candidates.
  • discovery:run: Create, start and cancel discovery jobs, and edit a draft one. Uses provider budget.
  • enrichment:read: Read the enrichment configuration and its results, including a record’s enrichment, formula and custom-API cells.
  • enrichment:run: Launch and cancel enrichment. Spends enrichment credits.
  • automation:read: Read workflows and agents with their run history, including a record’s agent cells.
  • automation:run: Run existing workflows and agents.
  • exports:read: Read export jobs and the fields an export can carry.
  • exports:run: Create, preview, start, cancel and archive CSV exports of companies, contacts and candidates, and download the file. Also needs crm:read. Delivering an export to a webhook destination stays in the app.
  • integrations:read: Read connections, field mappings, CRM sync jobs and webhook destinations.
  • webhooks:read: Read webhook subscriptions, the event types they can name and their delivery log.
  • webhooks:write: Subscribe a receiver URL to webhook events; edit, test, pause, resume and archive a subscription and rotate its signing secret; redeliver an event. Only workspace owners and admins can grant it.
  • reporting:read: Read analytics and dashboards.
  • assistant:read: Read the Assistant: its threads, messages and pending approvals.
  • assistant:run: Converse with the Assistant. Uses the workspace’s AI quota.
  • assistant:write: Approve or reject the changes the Assistant proposes.

Headers

If-None-Match
string

The ETag of an answer you kept. While the answer is still the same, the API answers 304 Not Modified with no body. Several tags, separated by commas, a weak tag (W/"…") and * are accepted.

Query Parameters

cursor
string

Where to resume a list: the previous page’s pageInfo.endCursor. Opaque.

Minimum string length: 1
limit
integer
default:50

How many items to return: 1 to 200, 50 when absent.

Required range: 1 <= x <= 200
filters
string

The conditions a company must meet, as JSON text: an array of { field, operator, value } objects, every one of which must hold (AND). At most 50. The fields: name, domain, website, industry, linkedinUrl, country, city, legalForm, registerNumber and summary (text); employeeCount and annualRevenue (numbers); id and ownerUserId (ids); createdAt and updatedAt (ISO 8601 instants); and a custom field as customFields.<key>. contains and startsWith compare text only. id with in reads several records at once, at most 100 ids (with limit 100 they fit on one page): an id that is not found is left out. nameOrDomain matches the name or the domain, with contains or eq. The signal fields take eq and read the company’s active signals: hasActiveSignals (true or false); minSignalRelevanceScore (a number the highest relevance must reach); signalCategory, signalStrength and signalConfidence (a value one of the signals has); signalFreshness (fresh or stale: the latest signal is at most, or more than, 90 days old).

sort
string

The sort order. Without rankingMode: JSON text, an array of { field, direction } objects (name, domain, createdAt or updatedAt; asc or desc). With rankingMode: the plain string contextual_priority.

columns
string

The visible columns, as JSON text: an array of field paths. A display hint; it changes no result.

include
string

The per-column cell states to add to each company, comma-separated: enrichmentCells, formulaCells, customApiCells and agentCells. Other values are ignored. Each cell map is read with its own permission: an API key needs enrichment:read for the first three and automation:read for agentCells, or the whole request is refused with 403 insufficient_scope.

q
string

Search, as plain text of 1 to 200 characters, split on whitespace: every term must appear, ignoring case, in the name or the domain; different terms may match different fields. ANDed with filters. No ranking: the list keeps its sort, and a cursor is valid only with the same q (another q answers 422 with error.details.code invalid_cursor). % and _ match themselves. Not available with rankingMode.

Required string length: 1 - 200
rankingMode
enum<string>

Rank the companies by recommendation: icp_only (fit to the ideal customer profile) or contextual (fit to a discovery brief, with briefId and briefVersionId). Needs sort=contextual_priority. Ranking reads the ICP profile and the brief, so an API key also needs discovery:read.

Available options:
icp_only,
contextual
briefId
string

With rankingMode=contextual: the discovery brief.

briefVersionId
string

With rankingMode=contextual: the brief’s version.

snoozed
enum<string>

With rankingMode: exclude snoozed companies (the default), include them, or show only them.

Available options:
exclude,
include,
only
customerStatus
enum<string>

With rankingMode: only customers, not_customers, or companies with no status recorded (unavailable).

Available options:
customer,
not_customer,
unavailable
salesWorkState
enum<string>

With rankingMode: only companies in_sales_work, not_in_sales_work, or with none recorded (unavailable).

Available options:
in_sales_work,
not_in_sales_work,
unavailable

Response

A page of companies.

A page of companies.

data
object[]
required

The items on this page, in order.

pageInfo
object
required

Where this page ends, and whether another follows.

contextualRanking
object

Whether ranking by a discovery brief is available.