Skip to main content
Filters go in the filter object of a people search request. The same filter object works in count, preview, and export requests. A person must match every filter you send. You can use filters on their own, or add a semantic query and a company query.

Write a filter value

Most filters accept a value in three forms:
The object form supports two rules:

Filter reference

The CLI column shows the matching flag for companyenrich people search. Filters on the current role and current company match a person’s current job.

Person

Current role

Current company

To target companies by size, industry, or description instead of by name, use the company query.

Education

Past experience

These filters go inside filter.pastExperience and match a previous job. Past experience filters follow three rules:
  • Every value you include must match the same past job.
  • People who still work at a company you include are left out.
  • You can exclude a past company with notIn, which removes anyone with a past job there. People who only work there now are not removed. The past position, seniority, and department filters do not support exclusions.

Date ranges

A date range is an object with after, before, or both. Both ends are inclusive.
In the CLI, pass a date such as --joined-after 2026-01-01, or a relative value such as --joined-after 90d for the last 90 days.

Exclude values

Use notIn to remove people from the results. This search returns people at Stripe who are not interns or entry-level, and not in sales:
An exclusion on a current-role or current-company filter removes a person when any of their current jobs matches it. In the CLI, put exclude- in front of the flag: --exclude-seniority intern,entry --exclude-department sales.

Company query

The company field limits the results to people whose current company matches a company search. It takes the same three fields as the Company Search API:
A company query that uses semantic or lookalike, or the query, keyword, technology, funding, workforce, reportedEmployees, or require filters, matches people at the 1,000 best-matching companies. In the CLI, put company- in front of a company search flag: --company-country US --company-category saas, --company-semantic "AI tools for hospitals", or --company-similar-to stripe.com. Two flags have no company- form: to pick specific companies, use the person filters --domain and --company-id.

Semantic search options

A semantic search takes a plain-language description in semantic.query, up to 500 characters. The API turns it into person filters and a description of the companies those people work at. For example, VP of sales at Series A SaaS startups in Germany filters on VP-level sales people and searches their current companies for Series A SaaS startups in Germany.
  • What is inferred: person names, job titles, seniority levels, departments, countries, current and past companies, schools, and recent start dates.
  • Locations are inferred at country level, so a city filters on its country.
  • Your filters win. A filter you send replaces the inferred value of the same kind. Exclusions you send apply together with the inferred values.
  • Your company query wins. A company.semantic or company.lookalike query replaces the inferred company description.
  • A query needs something concrete. A query from which no filters can be inferred is rejected.
The response’s interpretation field reports what was inferred:

Look up filter values

The lookup endpoints are free.

People Search API

Search methods, pagination, pricing, and limits.

People Search API examples

Ready-to-run queries for common jobs.

Field values

Every seniority level, department, and sub-department.

Company Search API filters

The filters you can use in a company query.