---
title: "Search contacts"
method: POST
path: "/search/contacts"
tags: ["Contact Search"]
---

# Search contacts

`POST /search/contacts`

## Request body

- object
  - `nextToken` string, nullable — An opaque cursor token for retrieving the next page of results. Returned as `supplementalData.nextToken` in the previous response.
  - `limit` integer — The maximum number of contacts to return per page. Must be a positive integer.
  - `companyName` string[] — Filter contacts by their company name. Accepts up to 100 company names.
  - `companyNameSearchType` 'default' | 'related' | 'exact' — Controls how `companyName` values are matched. `default` matches the provided name using standard relevance matching. `related` broadens the search to include known subsidiaries, parent companies, and brand aliases. `exact` restricts results to only companies whose name is an exact match.
  - `companyDomain` string[] — Filter contacts by their company's website domain. Accepts up to 100 domains.
  - `contactState` string[] — Filter by the contact's or company's state or region. Behavior depends on the `locationType` parameter. Sample enum values shown for documentation only; actual values are not exhaustive and come from the API or typeahead.
  - `contactCountry` string[] — Filter by the contact's or company's country. Behavior depends on the `locationType` parameter. Sample enum values shown for documentation only; actual values are not exhaustive and come from the API or typeahead.
  - `contactZipCode` string[] — Filter by the contact's or company's zip/postal code. Behavior depends on the `locationType` parameter. Sample enum values shown for documentation only; actual values are not exhaustive and come from the API or typeahead.
  - `locationType` 'bothOR' | 'bothAND' | 'company' | 'contact' — Determines how location filters (`contactState`, `contactCountry`, `contactZipCode`) are applied. `contact` matches the contact's personal location only. `company` matches the company's headquarters location only. `bothOR` matches if either the contact or the company location matches (default). `bothAND` matches only when both the contact and the company location match.
  - `department` string[] — Filter contacts by organizational department. Up to 5 departments can be specified.
  - `industry` string[] — Filter contacts by their company's industry classification. Up to 5 industries can be specified. Values are organized into parent categories (e.g., "Software & Information Technology") and specific sub-industries (e.g., "Computer Software").
  - `fullName` string[] — Filter contacts by full name. Useful for finding specific individuals. Up to 10 names can be specified.
  - `contactKeyword` string[] — Filter contacts by keyword matches against their profile (e.g., skills, bio, specialties). Up to 10 keywords can be specified.
  - `jobTitle` string[] — Filter contacts by job title. Matches are based on relevance to the provided title strings. Up to 10 titles can be specified.
  - `seniority` string[] — Filter contacts by seniority level within their organization. Up to 5 values can be specified.
  - `companyFoundedOn` string[] — Filter contacts by how recently their company was founded. Up to 4 ranges can be specified.
  - `companySize` string[] — Filter contacts by their company's employee count range. Up to 10 ranges can be specified.
  - `companyRevenue` string[] — Filter contacts by their company's estimated annual revenue range. Up to 10 ranges can be specified.
  - `technologies` string[] — Filter contacts by technologies used at their company. Up to 10 technologies can be specified. Sample enum values shown for documentation only; actual values are not exhaustive and come from the API or typeahead.
  - `technologiesIsOr` boolean — Controls how multiple `technologies` values are combined. When `true` (default), returns contacts whose company uses any of the specified technologies (OR logic). When `false`, returns only contacts whose company uses all of the specified technologies (AND logic).
  - `jobChanges` object, nullable — Filter contacts by job change activity.
    - `changeType` 'New Hire' | 'New Promotion' | 'New Hire or New Promotion', nullable — Filters the job change by it's classification. Job Change classifications are made by `changeType` and can differ based on optionally provided `dayRange`. `New Hire` = contacts who joined a new company. `New Promotion` = contacts who received a new title at the same company. `New Hire or New Promotion` = either.
    - `dayRange` 'Last 60 Days' | 'Last 90 Days' | 'Last 180 Days' | 'Last 365 Days', nullable — Rolling lookback window for the job change.
  - `pastCompany` object, nullable — Filter contacts by past employer. When provided, `names` must be non-empty.
    - `names` string[], required — One or more company names to match against the contact's employment history.
    - `onlyMostRecentDeparture` boolean — When `true`, only matches contacts whose most recent departure was from one of the specified companies. When `false` (default), matches any contact who has ever worked at any of the specified companies (searches full job history).
  - `companyType` 'Public' | 'Private', nullable — Filter by company type. `Public` = companies with a known stock ticker/exchange, `Private` = all others.
  - `lastModifiedAfter` string, date-time — Return only contacts whose core data (name, title, company, phone, or email) was last updated on or after this date. Use ISO 8601 format.
  - `lastModifiedBefore` string, date-time — Return only contacts whose core data (name, title, company, phone, or email) was last updated on or before this date. Use ISO 8601 format. Combine with `lastModifiedAfter` to define a date range.
  - `newsTypes` string[] — Filter contacts by recent news or events at their company. Returns contacts whose company has been associated with the specified event types. Up to 8 types can be specified.
  - `newsTypeDates` string[] — Restrict `newsTypes` results to a rolling window of recent days. Accepts a single value representing the number of days to look back. Only the first value is used if multiple are provided.
  - `companyLatestFundingDates` string[] — Filter companies based on the date of their latest funding round (90, 180, 365 days or 3 years).
  - `companyLatestFundingClassifications` string[] — Filter companies based on the classifications of their latest funding round.
  - `companyLatestFundingTotals` string[] — Filter companies based on the total funding amount they have raised.

## Response `200`

Contact Search Results

- object
  - `data` object[] — A list of contacts
    - `searchResultId` string — Unique identifier for this search result. Use this ID when submitting contacts for research via the research endpoint.
    - `name` string — The contact's full name.
    - `company` string — The name of the company where the contact is currently employed.
    - `title` string — The contact's current job title.
    - `department` string — The organizational department the contact belongs to.
    - `seniority` string — The contact's seniority level within their organization.
    - `domain` string — The primary website domain of the contact's company.
    - `city` string — The city where the contact is located.
    - `state` string — The state or region where the contact is located.
    - `country` string — The country where the contact is located.
    - `companyCity` string — The city where the contact's company headquarters is located.
    - `companyState` string — The state or region where the contact's company headquarters is located.
    - `companyCountry` string — The country where the contact's company headquarters is located.
    - `liUrl` string, uri — The contact's LinkedIn profile URL.
    - `companyLIProfileUrl` string, uri — The LinkedIn company page URL for the contact's employer.
    - `sicCode` string — The Standard Industrial Classification (SIC) code for the contact's company.
    - `industries` string[] — A list of industries associated with the contact's company.
    - `startedAtCurrentCompany` string, date — The date the contact started working at their current company (ISO 8601 date format).
    - `titleStartedAt` string, date — The date the contact started their current job title (ISO 8601 date format).
    - `timeAtRole` string — Human-readable tenure in the contact's current role, derived from `titleStartedAt` (e.g. "1 Yr 2 Mo", "3 Mo").
    - `timeAtCompany` string — Human-readable tenure at the contact's current company, derived from `startedAtCurrentCompany` (e.g. "1 Yr 2 Mo", "3 Mo").
    - `companyFoundedOn` string, date — The date the contact's company was founded (ISO 8601 date format).
    - `lastModifiedAt` string, date-time — Timestamp of the last time the contact's core data (name, title, company, phone, or email) was updated.
    - `companyRevenue` string — The estimated annual revenue range of the contact's company. Returned when the contact has been enriched.
    - `employeeSizeRange` string — The estimated employee count range of the contact's company.
    - `timezone` string — The contact's local timezone.
    - `firstName` string — The contact's first name. Returned when the contact has been enriched.
    - `middleName` string — The contact's middle name, if available. Returned when the contact has been enriched.
    - `lastName` string — The contact's last name. Returned when the contact has been enriched.
    - `companyDomainAlias` string — An alternative domain alias for the contact's company, if one exists. Returned when the contact has been enriched.
    - `contactLIRecruiterUrl` string, uri — The contact's LinkedIn Recruiter profile URL. Returned when the contact has been enriched.
    - `contactLISalesNavUrl` string, uri — The contact's LinkedIn Sales Navigator profile URL. Returned when the contact has been enriched.
    - `contactXUrl` string, uri — The contact's X (Twitter) profile URL. Returned when the contact has been enriched.
    - `companyGRURL` string, uri — A Google search URL for the contact's name combined with their company name. Returned when the contact has been enriched.
    - `contactCurrentCompanyYears` string — The number of years the contact has been at their current company. Returned when the contact has been enriched.
    - `contactFBUrl` string, uri — A Facebook people-search URL for the contact's name. Returned when the contact has been enriched.
    - `contactGURL` string, uri — A Google search URL for the contact's name. Returned when the contact has been enriched.
    - `companyXUrl` string, uri — An X (Twitter) search URL for the contact's company name. Returned when the contact has been enriched.
    - `companyFBUrl` string, uri — A Facebook search URL for the contact's company name. Returned when the contact has been enriched.
    - `newsAndEvents` object[] — Recent news articles related to the company.
      - `title` string — The headline of the news article.
      - `url` string — The URL to the full news article.
      - `date` string, date-time — The date the news article was published.
      - `type` string — The type of news article (e.g., "Acquisition").
    - `companyFundingTotal` string — Most recent total funding amount for the company.
    - `companyLatestFundingDate` string, date — The date of the most recent funding round for the company.
    - `companyLatestFundingClassifications` string[] — The classifications of the latest funding round for the company (e.g., "Series A", "Pre-Seed", etc.).
    - `jobChangeAlert` 'New Hire' | 'New Promotion', nullable — Type of job change detected given provided or default job change date range. When detected; 'New Hire' = joined a new company, 'New Promotion' = new role at the same company.
    - `formerCompany` string, nullable — Name of the contact's most recent previous employer.
    - `formerTitle` string, nullable — Job title at the contact's most recent previous employer.
    - `formerStartedAt` string, date, nullable — Date the contact started at their former company (YYYY-MM-DD).
    - `formerEndedAt` string, date, nullable — Date the contact left their former company (YYYY-MM-DD).
    - `companyType` 'Public' | 'Private', nullable — Company type — "Public" or "Private" when determined.
    - `stockTicker` string, nullable — Stock ticker symbol of the company, if publicly traded.
  - `supplementalData` object — Pagination metadata for the current search result set.
    - `isMore` boolean — Indicates whether additional pages of results are available beyond the current page.
    - `total` integer — The total number of contacts matching the search criteria.
    - `perPage` integer — The number of results returned per page for this search request.
    - `nextToken` string, nullable — An opaque pagination token. Pass this value in the `nextToken` field of your next request body to retrieve the next page of results. Null or absent when no more pages are available.

## Other responses

- `401` — Unauthorized
- `422` — Insufficient credits or missing license
- `500` — Unexpected error

---

[API](https://skmtc.net/seamless/apis/seamless-api.md) · [All operations](https://skmtc.net/seamless/apis/seamless-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/seamless/seamless-api/versions/447164d1d713/schema)
