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 forcompanyenrich 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 insidefilter.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 pastposition,seniority, anddepartmentfilters do not support exclusions.
Date ranges
A date range is an object withafter, before, or both. Both ends are inclusive.
--joined-after 2026-01-01, or a relative value such as --joined-after 90d for the last 90 days.
Exclude values
UsenotIn to remove people from the results. This search returns people at Stripe who are not interns or entry-level, and not in sales:
exclude- in front of the flag: --exclude-seniority intern,entry --exclude-department sales.
Company query
Thecompany field limits the results to people whose current company matches a company search. It takes the same three fields as the Company Search API:
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 insemantic.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.semanticorcompany.lookalikequery replaces the inferred company description. - A query needs something concrete. A query from which no filters can be inferred is rejected.
interpretation field reports what was inferred:
Look up filter values
The lookup endpoints are free.
Related pages
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.