Coresignal Multi-source Employee API

The Multi-source Employee API returns enriched employee profiles aggregated from multiple public sources with 300+ data fields covering experience, education, skills, certifications, and connections. Search uses Elasticsearch DSL with rich filter support, pagination, and collect/bulk_collect endpoints for retrieving full records by ID.

OpenAPI Specification

coresignal-multi-source-employee-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Coresignal Multi-source Employee API
  version: '2.0'
  description: >-
    The Multi-source Employee API returns enriched employee profiles
    aggregated from multiple public sources with 300+ fields. Search uses
    Elasticsearch DSL or filters; Collect returns full records by ID.
  contact:
    name: Coresignal Support
    url: https://coresignal.com/contact/
  license:
    name: Proprietary
    url: https://coresignal.com/terms-and-conditions/
servers:
  - url: https://api.coresignal.com/cdapi/v2/multi_source_employee
    description: Coresignal Multi-source Employee API production server
security:
  - apiKey: []
tags:
  - name: Search
    description: Search employee records.
  - name: Collect
    description: Retrieve full employee records.
  - name: Subscriptions
    description: Webhook subscriptions for employee record updates.
paths:
  /search/filter:
    post:
      operationId: searchEmployeesByFilter
      summary: Search Employees (filter)
      description: Search employee records using a structured filter.
      tags:
        - Search
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployeeFilter'
      responses:
        '200':
          description: Array of matching employee record IDs
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
                  format: int64
  /search/es_dsl:
    post:
      operationId: searchEmployeesByEsDsl
      summary: Search Employees (Elasticsearch DSL)
      description: Search employee records using a full Elasticsearch DSL query body.
      tags:
        - Search
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Array of matching employee record IDs
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
                  format: int64
  /collect/{id}:
    get:
      operationId: collectEmployee
      summary: Collect an Employee record
      description: Retrieve the full employee record for the given ID.
      tags:
        - Collect
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Full employee record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
  /bulk_collect:
    post:
      operationId: bulkCollectEmployees
      summary: Bulk Collect Employees
      description: Retrieve multiple full employee records by an array of IDs.
      tags:
        - Collect
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: integer
                    format: int64
      responses:
        '200':
          description: Array of employee records
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Employee'
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
  schemas:
    Employee:
      type: object
      properties:
        id:
          type: integer
          format: int64
        full_name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        title:
          type: string
        headline:
          type: string
        summary:
          type: string
        country:
          type: string
        location:
          type: string
        industry:
          type: string
        connections:
          type: integer
        followers:
          type: integer
        experience:
          type: array
          items:
            type: object
            properties:
              company_name:
                type: string
              title:
                type: string
              date_from:
                type: string
              date_to:
                type: string
              description:
                type: string
        education:
          type: array
          items:
            type: object
            properties:
              school:
                type: string
              degree:
                type: string
              field:
                type: string
              date_from:
                type: string
              date_to:
                type: string
        skills:
          type: array
          items:
            type: string
        certifications:
          type: array
          items:
            type: object
        linkedin_url:
          type: string
        last_updated:
          type: string
          format: date-time
    EmployeeFilter:
      type: object
      properties:
        full_name:
          type: string
        title:
          type: string
        country:
          type: string
        location:
          type: string
        industry:
          type: string
        active_experience_company_name:
          type: string
        active_experience_title:
          type: string
        skills:
          type: array
          items:
            type: string