Skip to main content
5 credits per employee returned
You must have limit × 5 credits in your balance to run this function. Default limit is 100 (requires 500 credits). If you set limit to 200, you need 1,000 credits available.

When to Use

Use this endpoint to retrieve employees for ONE specific company from LinkedIn/Coresignal data. The company constraint is automatically applied based on the identifier you provide. This endpoint is for:
  • Getting LinkedIn-enriched employee profiles from a company
  • Filtering employees by department, seniority, location, skills, etc.
  • Finding current employees vs. all employees (past and present)
NOT for:

Method

Input

Company Identifiers (at least one required)

Optional Parameters

The FilterSpec API

FilterSpec provides a simple, declarative way to filter employees. The system automatically handles nested Elasticsearch paths.

Filter Types

Critical: Filtering for Current Employees

The most common use case is filtering for current employees only. In Coresignal data, an employee is current if their experience.date_to field is null/missing (no end date).
Without this filter, results may include former employees.

Location Filtering

⚠️ Important: Use location_country, NOT location_regions

The location_regions field is unreliable and should NOT be used. Instead:
  1. For US employees (most common): Use location_country with exact value "United States"
  2. For specific cities/states: Use textAny on location_raw_address

When you only have a company website, ALWAYS create a separate column to get the LinkedIn company URL first, then use that URL for employee lookups.

Multi-Column Pattern

Column A: Company Website (input)
Column B: LinkedIn Company URL (resolve first)
Column C: Employees (use LinkedIn URL from Column B)

When Company ID is Available (Most Efficient)

If you have the Coresignal company ID, use it for fastest lookups:

FilterSpec Examples

Example 1: Current Employees Only

Example 2: Current Employees in Engineering

Example 3: Current Senior Leadership

Example 4: Current Sales Team in the United States

Example 5: Employees with Specific Skills

The skills field is a text array — use textAny for partial matching:

Example 6: Decision Makers with High Connections in US

connections_count is capped at 500 in Coresignal. Values above 500 won’t filter correctly.

Example 7: C-Suite & Founders Only


Valid Enum Values

Departments

Management Levels

Location Countries (common values for location_country)

For US filtering, always use exact value "United States" (not “USA” or “US”).

Filterable Fields Reference

Top-Level Fields (keyword/exact match with termsAny)

Top-Level Fields (text search with textAny/textAll)

Top-Level Fields (numeric range with range)

Nested Experience Fields (use experience. prefix)


Output Schema (CleanCoresignalEmployee)

Each employee returned has the following structure. Here’s a condensed real example:

Core Identity

Current Position

Location

Network & Skills

Experience History


Performance Tips

  1. Use given_company_id when available — it’s the fastest identifier (skips resolution step)
  2. Use linkedinCompanyUrl if you have it — faster than resolving from website
  3. Resolve LinkedIn URL first when only website is available — use services.company.linkedin.findUrl in a separate column
  4. Use notExists: [{ field: "experience.date_to" }] to filter out former employees
  5. Use location_country for country filtering (not location_regions)
  6. Combine filters to reduce result set size

Error Handling

  • Returns empty array if no employees match filters
  • Invalid FilterSpec values throw validation errors
  • Throws NonRetriableError if LinkedIn URL or company ID doesn’t exist in Coresignal