Cognism Search API

Find contacts and companies matching a filter set.

Operations 2

POST /api/search/contact/search Search contacts #
POST /api/search/account/search Search accounts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cognism-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cognism-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cognism Search API
  version: '2026-08-13'
  summary: Search, enrich and redeem B2B contact and company data from the Cognism database.
  description: 'The Cognism API is used to search, preview and enrich Contacts and Accounts.


    It is composed of three services that are used together:


    - **Search API** - find contacts or companies matching a filter set. Returns preview records, each carrying a `redeemId`.

    - **Enrich API** - find the best matching Cognism record for a contact or company you already hold. Returns a preview, a `matchScore` and a `redeemId`.

    - **Redeem API** - exchange a `redeemId` for the full record.


    Search and Enrich return preview data only and do not consume Credits. Credits are consumed when a contact is redeemed for the first time; account redemptions and repeat contact redemptions are free.


    The fields a Redeem response carries are governed by your organisation API Entitlements, configured by Cognism. Query the Entitlement API to read them.


    API access is sales-gated: it must be enabled on your subscription, entitlements configured by the Cognism Provisioning team, and an API token generated in the Cognism app under Settings > Tokens and API.


    _Derived by API Evangelist from the Cognism API Postman collection published by Cognism at https://developers.cognism.com/ . Not an official Cognism artifact._'
  contact:
    name: Cognism
    url: https://www.cognism.com/contact
  termsOfService: https://www.cognism.com/terms-of-website-use
  x-source: https://documenter.gw.postman.com/api/collections/14862827/UVJhBu4C
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-on: '2026-08-13'
servers:
- url: https://app.cognism.com
  description: Production. Value of the `baseUrl` variable in the Production environment published with the Cognism API Postman collection.
security:
- bearerAuth: []
tags:
- name: Search
  description: Find contacts and companies matching a filter set.
paths:
  /api/search/contact/search:
    post:
      operationId: searchContacts
      summary: Search contacts
      description: Search the Cognism database for contacts matching your filters. Returns preview records with a `redeemId` for each match. Search does not consume Credits. Supports 20-100 records per request and up to 1,000 records per minute.
      tags:
      - Search
      parameters:
      - name: indexSize
        in: query
        required: false
        description: Records per page (20-100).
        schema:
          type: integer
          minimum: 20
          maximum: 100
          default: 25
      - name: lastReturnedKey
        in: query
        required: false
        description: Forward-only paging cursor returned by the previous response.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactSearchRequest'
            examples:
              byNameAndCompany:
                summary: Search Contacts (collection example)
                value:
                  firstName: Stjepan
                  lastName: Buljat
                  jobTitles:
                  - Chief Innovation Officer
                  excludeJobTitles:
                  - CEO
                  regions:
                  - EMEA
                  mobilePhoneNumbers:
                    highPlus: true
                  emailQuality:
                    highPlus: true
                  account:
                    names:
                    - Cognism
                    officePhoneNumbers:
                      medium: true
      responses:
        '200':
          description: Matching contact previews.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactSearchResponse'
              examples:
                SearchContactsAdvancedEntitlement:
                  summary: Search Contacts Advanced Entitlement
                  value:
                    lastReturnedKey: 1714687499208_~34d633b7-41ea-3ac7-a280-431d71fd77eb
                    totalResults: 1
                    results:
                    - id: 34d633b7-41ea-3ac7-a280-431d71fd77eb
                      firstName: Stjepan
                      jobTitle: Chief Innovation Officer
                      account:
                        name: Cognism
                        id: efc6d975-8599-38ab-8cfe-e1c42ac16dc6
                        hasOfficePhoneNumbers: true
                        hasHqPhoneNumbers: false
                        hasHiringEvent: true
                        hasHeadcount: true
                        hasSize: true
                        hasLocation: true
                        hasTechnologies: true
                        hasType: true
                        hasDomain: true
                        hasIndustry: true
                        hasRevenue: true
                        hasLinkedinUrl: true
                        hasWebsite: true
                        hasFounded: true
                        hasLastConfirmed: true
                        hasNaics: true
                        hasIsic: false
                        hasSic: true
                        hasShortDescription: true
                        hasDescription: true
                      lastName: Buljat
                      fullName: Stjepan Buljat
                      hasPreviousAccounts: true
                      hasSkills: true
                      hasLocationMoveEvent: false
                      hasLinkedinUrl: true
                      hasEmail: true
                      hasEducation: true
                      hasZip: false
                      hasState: false
                      hasCountry: true
                      hasCity: false
                      hasRegion: false
                      hasJobLeaveEvent: true
                      hasJobJoinEvent: true
                      hasStreet: false
                      hasDirectPhoneNumbers: false
                      hasMobilePhoneNumbers: false
                      hasPositionStartDate: true
                      hasSeniority: false
                      hasJobFunction: true
                      hasManagementLevel: true
                      hasLastConfirmed: true
                      redeemId: MzRkNjMzYjctNDFlYS0zYWM3LWEyODAtNDMxZDcxZmQ3N2ViO2IxMjBjOTdhLTlhNTItM2E3Zi1iNzNiLTg3MGUzYjQ0M2MxOTtlZmM2ZDk3NS04NTk5LTM4YWItOGNmZS1lMWM0MmFjMTZkYzY=
                SearchContactsStandardEntitlement:
                  summary: Search Contacts Standard Entitlement
                  value:
                    lastReturnedKey: 1714687499208_~34d633b7-41ea-3ac7-a280-431d71fd77eb
                    totalResults: 1
                    results:
                    - id: 34d633b7-41ea-3ac7-a280-431d71fd77eb
                      firstName: Stjepan
                      jobTitle: Chief Innovation Officer
                      account:
                        name: Cognism
                        id: efc6d975-8599-38ab-8cfe-e1c42ac16dc6
                        hasHeadcount: true
                        hasSize: true
                        hasTechnologies: true
                        hasType: true
                        hasDomain: true
                        hasRevenue: true
                        hasWebsite: true
                        hasFounded: true
                        hasNaics: true
                        hasIsic: false
                        hasSic: true
                        hasShortDescription: true
                        hasDescription: true
                      lastName: Buljat
                      fullName: Stjepan Buljat
                      hasSkills: true
                      hasLinkedinUrl: true
                      hasEmail: true
                      hasEducation: true
                      hasZip: false
                      hasState: false
                      hasCountry: true
                      hasCity: false
                      hasStreet: false
                      hasPositionStartDate: true
                      hasSeniority: false
                      hasJobFunction: true
                      hasManagementLevel: true
                      hasLastConfirmed: true
                      redeemId: MzRkNjMzYjctNDFlYS0zYWM3LWEyODAtNDMxZDcxZmQ3N2ViO2IxMjBjOTdhLTlhNTItM2E3Zi1iNzNiLTg3MGUzYjQ0M2MxOTtlZmM2ZDk3NS04NTk5LTM4YWItOGNmZS1lMWM0MmFjMTZkYzY=
        '400':
          description: Bad Request. The request body is invalid, a required field is missing, a parameter name is wrong, or a data type does not match the specification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized. The API token is missing, invalid, expired, or the Authorization header is malformed. Entitlements may also be unset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                missingCredentials:
                  value:
                  - key: MissingCredentials
                    code: 401
                    msg: Missing required credentials
        '404':
          description: Not Found. The route does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                routeNotFound:
                  value:
                  - key: RouteNotFound
                    code: 404
                    msg: Not found
        '429':
          description: Rate limit exceeded. Reduce request frequency and retry with backoff. Redeem throughput is capped at 1,000 records per minute.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/search/account/search:
    post:
      operationId: searchAccounts
      summary: Search accounts
      description: Search the Cognism database for companies matching your filters. Returns preview records. Search does not consume Credits.
      tags:
      - Search
      parameters:
      - name: indexSize
        in: query
        required: false
        description: Records per page (20-100).
        schema:
          type: integer
          minimum: 20
          maximum: 100
          default: 100
      - name: lastReturnedKey
        in: query
        required: false
        description: Forward-only paging cursor returned by the previous response.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountSearchRequest'
            examples:
              byNameAndDomain:
                summary: Search Accounts (collection example)
                value:
                  names:
                  - Cognism
                  domains:
                  - cognism.com
                  accountSearchOptions:
                    match_exact_account_name: true
                    match_exact_domain: false
                    filter_domain: exists
                    events_operator: AND
      responses:
        '200':
          description: Matching account previews.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSearchResponse'
              examples:
                SearchAccountAdvancedEntitlement:
                  summary: Search Account Advanced Entitlement
                  value:
                    lastReturnedKey: efc6d975-8599-38ab-8cfe-e1c42ac16dc6
                    totalResults: 1
                    results:
                    - id: efc6d975-8599-38ab-8cfe-e1c42ac16dc6
                      name: Cognism
                      hasDomain: true
                      hasIndustries: true
                      hasDescription: true
                      hasShortDescription: true
                      hasFounded: true
                      hasWebsite: true
                      hasLinkedinUrl: true
                      hasRevenue: true
                      hasDepartment: true
                      hasSic: true
                      hasIsic: false
                      hasNaics: true
                      hasSize: true
                      hasHeadcount: true
                      hasTechnologies: true
                      hasType: true
                      hasCountry: true
                      hasState: true
                      hasCity: true
                      hasZip: true
                      hasStreet: true
                      hasOfficePhoneNumbers: false
                      hasHqPhoneNumbers: true
                      hasHiringEvent: false
                SearchAccountStandardEntitlement:
                  summary: Search Account Standard Entitlement
                  value:
                    lastReturnedKey: efc6d975-8599-38ab-8cfe-e1c42ac16dc6
                    totalResults: 1
                    results:
                    - id: efc6d975-8599-38ab-8cfe-e1c42ac16dc6
                      name: Cognism
                      hasDomain: true
                      hasIndustries: true
                      hasDescription: true
                      hasShortDescription: true
                      hasFounded: true
                      hasWebsite: true
                      hasLinkedinUrl: true
                      hasRevenue: true
                      hasDepartment: true
                      hasSic: true
                      hasIsic: false
                      hasNaics: true
                      hasSize: true
                      hasHeadcount: true
                      hasTechnologies: true
                      hasType: true
                      hasCountry: true
                      hasState: true
                      hasCity: true
                      hasZip: true
                      hasStreet: true
        '400':
          description: Bad Request. The request body is invalid, a required field is missing, a parameter name is wrong, or a data type does not match the specification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized. The API token is missing, invalid, expired, or the Authorization header is malformed. Entitlements may also be unset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                missingCredentials:
                  value:
                  - key: MissingCredentials
                    code: 401
                    msg: Missing required credentials
        '404':
          description: Not Found. The route does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                routeNotFound:
                  value:
                  - key: RouteNotFound
                    code: 404
                    msg: Not found
        '429':
          description: Rate limit exceeded. Reduce request frequency and retry with backoff. Redeem throughput is capped at 1,000 records per minute.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ContactPreview:
      type: object
      description: Preview projection of a contact. `has*` booleans advertise which fields the full record carries. `redeemId` is the key for the Redeem API.
      properties:
        id:
          type: string
        redeemId:
          type: string
        fullName:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        jobTitle:
          type: string
        account:
          $ref: '#/components/schemas/AccountPreview'
        hasEmail:
          type: boolean
        hasMobilePhoneNumbers:
          type: boolean
        hasDirectPhoneNumbers:
          type: boolean
        hasLinkedinUrl:
          type: boolean
        hasSkills:
          type: boolean
        hasEducation:
          type: boolean
        hasPreviousAccounts:
          type: boolean
        hasSeniority:
          type: boolean
        hasJobFunction:
          type: boolean
        hasManagementLevel:
          type: boolean
        hasPositionStartDate:
          type: boolean
        hasLastConfirmed:
          type: boolean
      additionalProperties: true
    AccountSearchRequest:
      type: object
      description: Filter set for the Search API account (company) endpoint.
      properties:
        ids:
          type: array
          items:
            type: string
          description: Account Cognism unique id
        excludeIds:
          type: array
          items:
            type: string
          description: Exclude rom search Account Cognism unique id
        names:
          type: array
          items:
            type: string
          description: Account names
        excludeNames:
          type: array
          items:
            type: string
          description: Account exclude names
        domains:
          type: array
          items:
            type: string
          description: Account domains
        excludeDomains:
          type: array
          items:
            type: string
          description: Account exclude domains
        websites:
          type: array
          items:
            type: string
          description: Account websites
        description:
          type: string
          description: Account description (keyword)
        excludeDescription:
          type: string
          description: Account exclude description (keyword). Exclude all accounts containing any word from excludeDescription string
        shortDescription:
          type: string
          description: Account short description (keyword)
        keywords:
          type: array
          items:
            type: string
          description: Account keywords
        revenue:
          type: object
          properties:
            from:
              type: integer
              description: Account revenue range from
            to:
              type: integer
              description: Account revenue range to
        founded:
          type: object
          properties:
            from:
              type: integer
              description: Account founded year range from
            to:
              type: integer
              description: Account founded year range to
        types:
          type: array
          items:
            type: string
            enum:
            - Public Company
            - Educational
            - Educational Institution
            - Government Agency
            - Partnership
            - Privately Held
            - Self-Employed
            - non profit
          description: 'Account type. Allowed values: Public Company , Educational , Educational Institution , Government Agency , Partnership , Privately Held , Self-Employed , non profit'
        regions:
          type: array
          items:
            type: string
          description: Account world regions. Check allowed values Regions
        countries:
          type: array
          items:
            type: string
          description: Account countries. Check allowed values Countries
        excludeCountries:
          type: array
          items:
            type: string
          description: Account excluded countries. Check allowed values Countries
        states:
          type: array
          items:
            type: string
          description: Account states. Check allowed values States
        excludeStates:
          type: array
          items:
            type: string
          description: Account excluded states. Check allowed values States
        cities:
          type: array
          items:
            type: string
          description: Account cities.
        excludeCities:
          type: array
          items:
            type: string
          description: Account excluded cities.
        zip:
          type: array
          items:
            type: string
          description: Account zip codes.
        locations:
          type: array
          items:
            type: object
            properties:
              country:
                type: string
                description: Account location country
              city:
                type: string
                description: Account location city
              state:
                type: string
                description: Account location state
              zip:
                type: string
                description: Account location ZIP or postal code
          description: Array of object containing country, city, state and zip codes. OR logic is applied between objects
        industries:
          type: array
          items:
            type: string
          description: Account industries. Check allowed values Industries
        excludeIndustries:
          type: array
          items:
            type: string
          description: Account excluded industries. Check allowed values Industries
        sic:
          type: array
          items:
            type: string
          description: Account SIC codes. Check allowed values SIC Codes
        isic:
          type: array
          items:
            type: string
          description: Account ISIC codes. Check allowed values ISIC Codes
        naics:
          type: array
          items:
            type: string
          description: Account NAICS codes. Check allowed values NAICS Codes
        headcount:
          type: object
          properties:
            from:
              type: integer
              description: Account minimum headcount
            to:
              type: integer
              description: Account maximum headcount
        technologies:
          type: array
          items:
            type: string
          description: Account technologies used. Check allowed values Technologies
        excludeTechnologies:
          type: array
          items:
            type: string
          description: Account exclude technologies used. Check allowed values Technologies
        lastConfirmed:
          type: object
          properties:
            from:
              type: integer
              description: Account profile time updated range from. (Unix timestamp in milliseconds)
            to:
              type: integer
              description: Account profile time updated range to. (Unix timestamp in milliseconds)
        hqPhoneNumbers:
          type: object
          properties:
            medium:
              type: boolean
              description: Account with medium quality HQ phone numbers
            high:
              type: boolean
              description: Account with high quality HQ phone numbers
            highPlus:
              type: boolean
              description: Account with highPlus quality HQ phone numbers
        officePhoneNumbers:
          type: object
          properties:
            medium:
              type: boolean
              description: Account with medium quality office phone numbers
            high:
              type: boolean
              description: Account with high quality office phone numbers
            highPlus:
              type: boolean
              description: Account with highPlus quality office phone numbers
        hiringEvent:
          type: object
          properties:
            eventDateFrom:
              type: integer
              description: Account hiring event date range from (Unix timestamp in milliseconds)
            eventDateTo:
              type: integer
              description: Account hiring event date range to (Unix timestamp in milliseconds)
            jobTitle:
              type: array
              items:
                type: string
              description: Account hiring event job title
            department:
              type: string
              enum:
              - legal
              - it
              - administration
              - marketing
              - sales
              - R&D
              - customer
              - operations
              - finance
              description: 'Account hiring event hiring department. Allowed values: legal, it, administration, marketing, sales, R&D, customer, operations, finance'
            country:
              type: array
              items:
                type: string
              description: Account hiring event job place countries
            state:
              type: array
              items:
                type: string
              description: Account hiring event job place states
            city:
              type: array
              items:
                type: string
              description: Account hiring event job place cities
        fundingEvent:
          type: object
          properties:
            eventDateFrom:
              type: integer
              description: Start date (timestamp) of the funding event
            eventDateTo:
              type: integer
              description: End date (timestamp) of the funding event
            fundingType:
              type: array
              items:
                type: string
                enum:
                - venture
                - seed
                - grant
                - private_equity
                - angel
                - debt_financing
                - corporate_round
                - convertible note
                - equity_crowfunding
              description: 'Types of funding rounds. Allowed values: venture, seed, grant, private_equity, angel, debt_financing, corporate_round, convertible note, equity_crowfunding'
            series:
              type: array
              items:
                type: string
                enum:
                - A
                - B
                - C
                - D
                - E
                - F
                - G
                - H
                - I
                - J
                - K
              description: 'Series classifications of the funding event. Allowed values: A, B, C, D, E, F, G, H, I, J, K'
        ipoEvent:
          type: object
          properties:
            eventDateFrom:
              type: integer
              description: Start date (timestamp) of the IPO event
            eventDateTo:
              type: integer
              description: End date (timestamp) of the IPO event
        acquisitionEvent:
          type: object
          properties:
            eventDateFrom:
              type: integer
              description: Start date (timestamp) of the acquisition event
            eventDateTo:
              type: integer
              description: End date (timestamp) of the acquisition event
            acquirer:
              type: array
              items:
                type: string
              description: Names of acquiring companies
            acquiree:
              type: array
              items:
                type: string
              description: Names of acquired companies
        accountSearchOptions:
          type: object
          properties:
            match_exact_account_name:
              type: boolean
            match_exact_domain:
              type: boolean
            filter_email:
              type: string
              enum:
              - exists
              - missing
              description: 'Allowed values: exists, missing'
            show_max_events:
              type: integer
            filter_domain:
              type: string
              enum:
              - exists
              - missing
              description: 'Allowed values: exists, missing'
            location_type:
              type: string
              enum:
              - ALL
              - HQ
              description: 'Allowed values: ALL, HQ'
            events_operator:
              type: string
              enum:
              - AND
              - OR
              description: 'Allowed values: AND, OR Default value is OR'
            sort_fields:
              type: array
              items:
                type: string
                enum:
                - LastConfirmedAccountDESC
                - LastConfirmedAccountASC
                - SizeDESC
                - SizeASC
                - RevenueDESC
                - RevenueASC
              description: 'Allowed values: LastConfirmedAccountDESC, LastConfirmedAccountASC, SizeDESC, SizeASC, RevenueDESC, RevenueASC'
            operators:
              type: object
              properties:
                technologies:
                  type: string
                  enum:
                  - AND
                  - OR
                  description: 'Allowed values: AND, OR'
                excludeTechnologies:
                  type: string
                  enum:
                  - AND
                  - OR
                  description: 'Allowed values: AND, OR'
      additionalProperties: false
    Error:
      type: array
      description: Cognism returns errors as an array of error objects.
      items:
        type: object
        properties:
          key:
            type: string
            description: Machine-readable error key, e.g. MissingCredentials.
          code:
            type: integer
            description: HTTP status code, repeated in the body.
          msg:
            type: string
            description: Human-readable message.
    ContactSearchRequest:
      type: object
      description: Filter set for the Search API contact endpoint. Every field is optional; filters combine with AND unless the field documents otherwise.
      properties:
        ids:
          type: array
          items:
            type: string
          description: Contact ids. Can be either ids or redeemIds. Mix of ids and redeem ids in the single request is not supported
        excludeIds:
          type: array
          items:
            type: string
          description: Exclude contact ids. Can be either ids or redeemIds. Mix of ids and redeem ids in the single request is not supported
        fullName:
          type: string
          description: Contact name
        firstName:
          type: string
          description: Contact first name
        lastName:
          type: string
          description: Contact last name
        jobTitles:
          type: array
          items:
            type: string
          description: Contact current position job titles
        excludeJobTitles:
          type: array
          items:
            type: string
          description: Contact current position excluded job titles
        seniority:
          type: array
          items:
            type: string
            enum:
            - Manager
            - Director
            - Partner
            - CXO
            - Owner
            - VP
          description: 'Contact current position seniority. Allowed values: Manager, Director, Partner, CXO, Owner, VP'
        jobFunctions:
          type: array
          items:
            type: string
            enum:
            - Oversight
            - Technology
            - Operations
            - Sales
            - Marketing
            - Client Success
            - HR
            - Accounting
            - Business
            - Production
          description: 'Contact current position job functions. Allowed values: Oversight, Technology, Operations, Sales, Marketing, Client Success, HR, Accounting, Business, Production'
        managementLevel:
          type: array
          items:
            type: string
            enum:
            - Entry-Level
            - Team-Lead
            - Experienced Staff
            - Executive-Level
            - Senior Leadership
            - Middle-Management
            - CxO
          description: 'Contact current position management levels. Allowed values: Entry-Level, Team-Lead, Experienced Staff, Executive-Level, Senior Leadership, Middle-Management, CxO'
        regions:
          type: array
          items:
            type: string
          description: Contact location world regions. Check allowed values Regions
        countries:
          type: array
          items:
 

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cognism/refs/heads/main/openapi/cognism-search-api-openapi.yml