API review

Cognism API review

B2B sales-intelligence database (strong in Europe/UK) with phone-verified mobiles, DNC screening, Bombora intent and job-change/funding/hiring events, exposed through a new OAuth REST 'Connect API' and a remote MCP server. Best for EMEA/UK prospecting where phone-verified mobile numbers and DNC masking matter.

Verified 25 Oct 2026 · 13 endpoints listed · Official MCP server

What a call costs

The actions you pay for, as Cognism prices them in credits.

ActionCostPer
Reveal, enrich or export a contact (platform, Enrich, API, MCP, browser extension share one pool)1 creditper revealed contact; re-viewing a revealed contact is free for the contract; re-charged only if the contact changes jobs
API search row returned1 search tokenper record in data[] (empty page free)
API count call0 credits; search tokens: 1 per call per the credits page, free per endpoints/MCP pages (the count reference lists a 402 insufficient_budget response, which supports the token charge)per call

Pricing, plan by plan

US dollars, as Cognism's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier None. No self-serve account, trial or pay-as-you-go: cognism.com/free-trial returns 404, app sign-in is for existing customers only, and the only free offer is a sales-led 'Free data sample' form.

Standard (Sales prospecting)

5 seats included; each seat includes a credit allocation (amount not published); search-token allotment set by subscription

API included
Plan details

Additional credits can be purchased at any point (price not published)

Pro (Sales prospecting)

5 seats included; adds premium mobile filter, on-demand mobile verification, intent data

API included
Plan details

Additional credits can be purchased at any point (price not published)

CRM Enrichment (add-on or standalone)

Credits included in the subscription to enrich new records; maintenance included; credits used again only when key details change (e.g. job move).

Plan details

Shown as an add-on on Standard and Pro and also sold standalone.

Additional credits can be added

Rate limits

Per account, per operation class, fixed 60-second window: search 500/min, count 500/min, dictionary 500/min; /health unlimited.

Limits are set per subscription package; above 500 req/min per operation needs the account team
More on limitsLess

IETF RateLimit-* headers; 429 rate_limit_exceeded with Retry-After (never over 60s). Separate from search-token budget, which returns 402 insufficient_budget (retryAfter can be days).

How to get an API key

Cognism uses OAuth. The steps below follow Cognism's own docs.

  1. Create a Cognism account. API access starts on the Standard (Sales prospecting) plan.
  2. In the Cognism platform open Settings -> M2M Connect (platform.cognism.com/settings/connect-api-m2m) and generate client_id + client_secret (secret shown once). Account must be on a package that includes API access.
  3. Send it with every request: header Authorization: Bearer <access_token>; token from POST https://cognism-production.eu.auth0.com/oauth/token (grant_type client_credentials, audience https://api.cognism.com); tokens live 1,200 seconds (20 min).
  4. Make a first call: Search people (also the lookup/enrich path: filter person.contact.email or person.contact.linkedInUrl, or person.id). Keep the key in an environment variable, never in the command.
    curl -X POST "https://api.cognism.com/persons/filter" \
      -H "Authorization: Bearer $COGNISM_ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{}'

Where the docs live

WhatWhere
Documentationdocs.cognism.com/docs/getting-started
API referencedocs.cognism.com/reference/searchpersons
llms.txtdocs.cognism.com/llms.txt
Base URLhttps://api.cognism.com
MCP serverhttps://mcp.cognism.com/mcp

Strengths and limits

Where it fits

  • EMEA/UK prospecting where phone-verified mobile numbers and DNC masking matter
  • Agent workflows: declarative filters, free-ish count endpoint, dictionaries to resolve exact values, MCP server at https://mcp.cognism.com/mcp
  • Job-change and email/phone-change tracking on contacts you already revealed (contact webhooks, beta)
  • Company signal filters: funding, acquisition, IPO, hiring events, technologies, Bombora intent topics

Where it falls short

  • Self-serve or pay-as-you-go buyers: no public price, API and MCP only on the new Standard/Pro packages via sales
  • Bulk async enrichment of large CRM files through the API (no bulk/async endpoint; max 100 records per page; CRM Enrichment is a separate add-on product)
  • Watching more than 1,000 companies for company webhooks

Worth knowing

  • API and MCP are only on the new packages; existing-package customers must upgrade through their account team (getting-started callout).
  • Two meters: search tokens per row returned (402 when out, retryAfter can be days) and credits per contact revealed (view=contacts). A view=contacts call with limit=100 can spend 100 credits at once.
  • Docs disagree on count cost: credits page says 1 search token per count call; endpoints, getting-started and MCP pages say counts are free.
  • Credit balance is NOT in response headers (only search tokens via X-Rate-Results-*); /settings/billing shows credit allotment and reset but not credits remaining.
  • limit is a spend control: tokens are charged per row, so limit=100 when you show 20 wastes 80 tokens. Out-of-range limit/offset is rejected with 400, not clamped.
7 moreShow fewer
  • Cursor is bound to the request body (400 cursor_filter_mismatch); sortFields ignored in cursor mode; offset mode recomputes totals each page.
  • Filters need exact dictionary values ('United Kingdom', not 'UK'); intent-topics dictionary returns an empty list in v1.
  • Phones in the account's DNC countries are masked and geo-restricted records excluded server-side; check /settings/compliance.
  • Webhooks only tell you who/what changed; you re-query (spending tokens) to get the new values. Contact tracking expires 12 months after the last reveal.
  • Access tokens last 20 minutes; cache and refresh, retry once on 401.
  • Data pulled via MCP may not be used to train AI models (MCP page warning).
  • Count endpoints are documented both as free and as 1 search token per call; the count reference lists a 402 insufficient_budget response, so budget a token per count until tested (docs credits-and-search-tokens vs endpoints, reference/countpersons).

Who should use it

Use Cognism for
EMEA/UK prospecting where phone-verified mobile numbers and DNC masking matter
Look elsewhere for
Self-serve or pay-as-you-go buyers: no public price, API and MCP only on the new Standard/Pro packages via sales

If Cognism is not the answer

Other Sourcing tools in this directory, each with its own review.

Before you build

Four things to settle first, each read off Cognism's own pages.

  • Confirm the API is on your planAPI access starts on the Standard (Sales prospecting) plan. Free tier: None. No self-serve account, trial or pay-as-you-go: cognism.com/free-trial returns 404, app sign-in is for existing customers….
  • Keep the key out of your codeOAuth. It is sent as: header Authorization: Bearer <access_token>; token from POST https://cognism-production.eu.auth0.com/oauth/token (grant_type client_credentials, audience https://api.cognism.com); tokens live 1,200 seconds (20 min).
  • Design around the rate limitPer account, per operation class, fixed 60-second window: search 500/min, count 500/min, dictionary 500/min; /health unlimited.
  • Know the catch before you scaleAPI and MCP are only on the new packages; existing-package customers must upgrade through their account team (getting-started callout).

Want us to build it for you?

Tell us what you want Cognism to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

Read from cognism.com/pricing, docs.cognism.com/reference/searchpersons and docs.cognism.com/docs/rate-limits. Verified 25 Oct 2026.

All 13 endpointsFor developers: method, path, what it does and what it costs.

Base URL: https://api.cognism.com

Bulk and async: No bulk/async job endpoint. Cursor pagination up to 100 records per page and 100,000 records per journey; offset pagination capped at offset 10,000. Source: docs.cognism.com/docs/pagination

Webhooks: Beta. Registered in platform Settings -> Webhooks. Contact events (person.job.join/leave/transition, person.location/email/phone.change) for people revealed with credits in the last 12 months; company events (company.funding/acquisition/ipo/hiring) for up to 1,000 tracked companies. Svix-signed (svix-id/timestamp/signature), at-least-once, 5-second timeout, retries over about a day. Payload carries only UUID + event type, not the changed values. Source: docs.cognism.com/docs/webhooks

13 endpoints
MethodPathWhat it doesCost
POST/persons/filterSearch people (also the lookup/enrich path: filter person.contact.email or person.contact.linkedInUrl, or person.id)1 search token per record returned; plus 1 credit per record when view includes contacts
POST/persons/filter/countCount people matching a filterNo credits. Search tokens: docs conflict (credits page: 1 token per count call; endpoints, getting-started and MCP pages: free). The count reference lists 402 insufficient_budget, so assume 1 token.
POST/companies/filterSearch companies (also lookup by company.domain, website, linkedInUrl or id)1 search token per record returned; never consumes credits
POST/companies/filter/countCount companies matching a filterNo credits. Search tokens: docs conflict (credits page: 1 token per count call; endpoints, getting-started and MCP pages: free). The count reference lists 402 insufficient_budget, so assume 1 token.
GET/dictionaries/{industries|industry_codes|regions|countries|departments|seniorities|technologies|intent-topics}Resolve exact filter values (industry taxonomy, SIC/NAICS/ISIC codes, regions, countries, departments, seniorities, technologies, Bombora topic catalogue)Free (no tokens, no credits)
GET/intent/topicsIntent topic IDs selected for the account and the max the account may configureFree
GET/settings/complianceCountries where phones are masked (do-not-call) and geo-restrictions excluded from resultsFree
GET/settings/personalizationSelected intent topics and watched technologiesFree
GET/settings/billingSearch tokens remaining/allotment/reset and credit allotment/resetFree
GET/tracked-companiesList the account's tracked company UUIDs (company webhooks)Free (adding companies does not consume credits)
POST/tracked-companiesAdd companies to the tracked list (max 1,000; overflow rejected in full with 409)Free
DELETE/tracked-companies/{companyUuid}Remove one tracked company (idempotent, 204)Free
GET/healthService health probeFree