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