---
title: "Search people"
method: POST
path: "/people/search"
---

# Search people

`POST /people/search`

Search for people based on various filters. Multiple filters within the same field are combined with AND logic.

## Request body

- SearchPeopleRequest
  - `offset` integer — Number of people to skip (use this for pagination). Maximum value is 10,000. To paginate beyond 10,000 results, use search_after instead.
  - `limit` integer — Number of people to return (default: 10, max: 100)
  - `search_after` string — Cursor-based pagination. Pass the search_after value from the previous response to get the next page. Works at any point in the result set, but is required to access results beyond the 10,000 offset limit. The search_after token does not have any expiration date. However, when the database is updated (every month), if the position of a contact changes, the same search_after token might display different results.
  - `current_company_names` object[] — Filter by current company names. Use exact_match for precise company name matching.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_domains` object[] — Filter by current company domains (e.g., 'google.com', 'microsoft.com'). Exact match recommended for domains.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_professional_network_ids` object[] — Filter by current company professional network IDs.
    - `value` integer — The integer value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the exact term must appear within the value, but can still be part of a longer string. When false (default), matching is flexible and tolerates slight variations such as missing or extra words. Matching is never case-sensitive.
  - `current_company_professional_network_urls` object[] — Filter by current company professional network URLs.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_specialties` object[] — Filter by current company specialties.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_industries` object[] — Filter by company industries (e.g., 'Software Development', 'Computer Hardware Manufacturing', 'Housing and Community Development', 'Warehousing'). See [Industries](/api/v2/general/enums#company-industry) for the full list.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `past_company_names` object[] — Filter by past company names. Useful for finding people with specific work history.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `past_company_domains` object[] — Filter by past company domains
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_types` object[] — Filter by company types (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed', 'Partnership', 'Educational', 'Government Agency'). See [Company Types](/api/v2/general/enums#company-type) for the full list.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_headquarters` object[] — Filter by company headquarters locations (city names, regions, or countries)
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_headcounts` object[] — Filter by company size (number of employees). Use ranges to target specific company sizes.
    - `min` integer — Minimum number of employees (inclusive)
    - `max` integer — Maximum number of employees (inclusive)
    - `exclude` boolean — If true, excludes companies in this range
  - `current_company_founded_years` object[] — Filter by company founding year. Useful for targeting startups or established companies.
    - `min` integer — Minimum founding year (inclusive)
    - `max` integer — Maximum founding year (inclusive)
    - `exclude` boolean — If true, excludes companies founded in this range
  - `current_company_ids` object[] — Filter by specific company IDs
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `person_ids` object[] — Filter by specific person IDs
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `person_names` object[] — Filter by person names (first name, last name, or full name)
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `person_professional_network_ids` object[] — Filter by person professional network IDs.
    - `value` integer — The integer value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the exact term must appear within the value, but can still be part of a longer string. When false (default), matching is flexible and tolerates slight variations such as missing or extra words. Matching is never case-sensitive.
  - `person_professional_network_urls` object[] — Filter by person professional network URLs.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `person_locations` object[] — Filter by person locations (city, region, or country)
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `person_languages` object[] — Filter by languages spoken by the person
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `person_skills` object[] — Filter by skills (e.g., 'JavaScript', 'Python', 'Project Management')
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_position_seniority_level` object[] — Filter by person seniority levels (e.g., 'Owner', 'Founder', 'C-level', 'Partner', 'VP', 'Head', 'Director', 'Senior', 'Manager'). See [Seniority Levels](/api/v2/general/enums#seniority) for the full list.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_position_job_functions` object[] — Filter by current job functions (e.g., 'Administrative', 'Agriculture & Environment', 'Construction & Trades', ...). See [Functions & Subfunctions](/api/v2/general/enums#functions-and-subfunctions) for the full list.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_position_sub_functions` object[] — Filter by current sub functions (e.g., 'Data Entry', 'Agriculture/Landscaping', 'Carpenter'). See [Functions & Subfunctions](/api/v2/general/enums#functions-and-subfunctions) for the full list.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_position_titles` object[] — Filter by current job titles (e.g., 'Software Engineer', 'Product Manager', 'CEO')
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `past_position_titles` object[] — Filter by past job titles. Useful for finding people who held specific roles.
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_position_years_in` object[] — Filter by years spent in current position. Useful for targeting people new in role or experienced.
    - `min` integer — Minimum years in current position (inclusive)
    - `max` integer — Maximum years in current position (inclusive)
    - `exclude` boolean — If true, excludes people in this range
  - `current_company_years_at` object[] — Filter by years at current company (tenure). Useful for targeting new hires or long-term employees.
    - `min` integer — Minimum years at current company (inclusive)
    - `max` integer — Maximum years at current company (inclusive)
    - `exclude` boolean — If true, excludes people in this range
  - `person_universities` object[] — Filter by universities attended (e.g., 'Stanford University', 'MIT', 'Harvard')
    - `value` string — The string value to filter by
    - `exclude` boolean — If true, excludes results matching this value. If false or omitted (default), includes only matching results.
    - `exact_match` boolean — When true, the value must match exactly as stored (case-insensitive), with no tolerance for variations. When false (default), the API tolerates minor differences such as missing words, extra words, or slight reordering. Matching is never case-sensitive.
  - `current_company_days_since_last_job_change` object[] — Filter by days since last job change. Useful for finding people who recently changed jobs.
    - `min` integer — Minimum days since last job change (inclusive)
    - `max` integer — Maximum days since last job change (inclusive)
    - `exclude` boolean — If true, excludes people in this range

## Response `200`

OK

- object
  - `people` Person[] — Array of people matching the search criteria. Returns empty array if no results found.
    - `id` string — Unique person identifier
    - `full_name` string — Person's full name
    - `first_name` string — Person's first name
    - `last_name` string — Person's last name
    - `location` object — Person's location information
      - `country` string — Country name
      - `country_code` string — ISO country code
      - `city` string — City name
      - `region` string — Region or state
    - `social_profiles` PersonSocialProfile
      - `professional_network` object — Professional network profile information
        - `id` integer — Professional network profile ID
        - `url` string — Full professional network profile URL
        - `handle` string — Professional network profile handle/username
        - `connection_count` integer — Number of professional network connections
    - `educations` PersonEducation[] — Person's education history
      - `school_name` string — Name of the educational institution
      - `degree` string — Degree or qualification obtained
      - `start_at` string, date-time — Start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
      - `end_at` string, date-time — End date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
    - `languages` PersonLanguage[] — Languages spoken by the person
      - `language` string — Language name
      - `proficiency` string — Proficiency level in the language (e.g., 'NATIVE_OR_BILINGUAL', 'FULL_PROFESSIONAL', 'PROFESSIONAL_WORKING', 'LIMITED_WORKING', 'ELEMENTARY')
    - `skills` string[] — Person's professional skills
    - `employment` object — Person's employment history
      - `current` Employment
        - `title` string — Job title or position
        - `seniority` string — Seniority level of the person in the company
        - `job_functions` object[] — Job functions of the person in the company
          - `function` string — Job function
          - `sub_function` string — Sub function of the job function
        - `description` string — Description of the role and responsibilities. Not always present.
        - `company` EmploymentCompany
          - `id` string — Unique company identifier
          - `name` string — Company name
          - `domain` string — Company domain
          - `description` string — Company description
          - `year_founded` integer — Year the company was founded. Returns 0 when unknown.
          - `headcount` integer — Exact number of employees. May return 0 even when headcount_range is available.
          - `headcount_range` string — Employee count range (e.g., '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000', '5001-10000', '10001+')
          - `company_type` string — Type of company (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed', 'Partnership', 'Educational', 'Government Agency')
          - `specialties` string[] — Specialties associated with the company
          - `locations` object — Company location information
            - `headquarters` CompanyAddress — Structured headquarters address with parsed location fields
              - …
            - `offices` OfficeAddress[], nullable — Additional office locations. Only contains raw address lines (line1, line2) without structured city/region/country fields. Can be null or an empty array.
              - …
          - `industry` object — Company industry information
            - `main_industry` string — Primary industry category (e.g., 'Software Development', 'Computer Hardware Manufacturing', 'Financial Services', 'Healthcare')
          - `social_profiles` CompanySocialProfile
            - `professional_network` object — Professional network profile information
              - …
        - `is_current` boolean — Whether this is the current employment
        - `start_at` string, date-time — Employment start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
        - `end_at` string, date-time — Employment end date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ). This field is not returned for current employment (when is_current is true).
      - `all` Employment[] — All employment history (current and past)
        - `title` string — Job title or position
        - `seniority` string — Seniority level of the person in the company
        - `job_functions` object[] — Job functions of the person in the company
          - `function` string — Job function
          - `sub_function` string — Sub function of the job function
        - `description` string — Description of the role and responsibilities. Not always present.
        - `company` EmploymentCompany
          - `id` string — Unique company identifier
          - `name` string — Company name
          - `domain` string — Company domain
          - `description` string — Company description
          - `year_founded` integer — Year the company was founded. Returns 0 when unknown.
          - `headcount` integer — Exact number of employees. May return 0 even when headcount_range is available.
          - `headcount_range` string — Employee count range (e.g., '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000', '5001-10000', '10001+')
          - `company_type` string — Type of company (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed', 'Partnership', 'Educational', 'Government Agency')
          - `specialties` string[] — Specialties associated with the company
          - `locations` object — Company location information
            - `headquarters` CompanyAddress — Structured headquarters address with parsed location fields
              - …
            - `offices` OfficeAddress[], nullable — Additional office locations. Only contains raw address lines (line1, line2) without structured city/region/country fields. Can be null or an empty array.
              - …
          - `industry` object — Company industry information
            - `main_industry` string — Primary industry category (e.g., 'Software Development', 'Computer Hardware Manufacturing', 'Financial Services', 'Healthcare')
          - `social_profiles` CompanySocialProfile
            - `professional_network` object — Professional network profile information
              - …
        - `is_current` boolean — Whether this is the current employment
        - `start_at` string, date-time — Employment start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
        - `end_at` string, date-time — Employment end date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ). This field is not returned for current employment (when is_current is true).
  - `metadata` object
    - `total` integer — Total number of results matching the search criteria
    - `credits` number, double — Total number of credits consumed
    - `offset` integer — Number of results skipped (for pagination)
    - `search_after` string — The cursor value returned by the previous page. Use this to paginate through the results.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Too Many Requests

---

[API](https://skmtc.dev/fullenrich/apis/fullenrich-api-documentation.md) · [All operations](https://skmtc.dev/fullenrich/apis/fullenrich-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fullenrich/fullenrich-api-documentation/revisions/b6357fb61fc7/schema)
