GuideAPI referenceSDKs
Dashboard
People Search

Find People

Search contact profiles and their current employer snapshots together using supported company and person-level filters.

POST/v2/search/people

Request

curl -X POST "https://moltsetz.com/v2/search/people" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "company": {
    "domain": {
      "include": [
        "openai.com"
      ]
    },
    "country_code": [
      "US"
    ]
  },
  "people": {
    "job_title": {
      "include": [
        "CEO"
      ],
      "exclude": [
        "Assistant"
      ]
    },
    "job_level": [
      "C-Team"
    ]
  },
  "max_results": 10
}'

Body

FieldTypeRequiredDescription and limits
companyobjectOptionalCurrent employer filters from the contact record.At least one supported company or people filter is required
company.domainstring | string[] | { include?: string[]; exclude?: string[] }OptionalFilter by current employer domain.Use bare hostnames such as openai.com; URL input is normalized
company.namestring | string[] | { include?: string[]; exclude?: string[] }OptionalFilter by current employer name.
company.keywordsstring | string[] | { include?: string[]; exclude?: string[] }OptionalAlias-style employer name keyword filter.
company.country_codestring | string[]OptionalFilter by employer country code.Uppercase ISO 3166-1 alpha-2 codes such as US, GB, or IN
company.continentstring | string[]OptionalFilter by employer continent value.Use accepted values from Geography normalization
company.typestring | string[]OptionalFilter by employer entity type.Use accepted values from Company values
peopleobjectOptionalPerson-level filters applied to contact profiles.At least one supported company or people filter is required
people.job_titlestring | string[] | { include?: string[]; exclude?: string[] }OptionalFilter by current role title.
people.titlestring | string[] | { include?: string[]; exclude?: string[] }OptionalAlias for people.job_title.
people.job_functionstring | string[]OptionalFilter by department or functional area.Use accepted values from Job levels & functions
people.departmentstring | string[]OptionalAlias for people.job_function.
people.job_levelstring | string[]OptionalFilter by seniority level.Accepted values include Staff, Manager, Director, VP, C-Team, and Other
people.senioritystring | string[]OptionalAlias for people.job_level.
people.country_codestring | string[]OptionalFilter by person location country code.Uppercase ISO 3166-1 alpha-2 codes such as US, GB, or IN
people.continentstring | string[]OptionalFilter by person location continent.Use accepted values from Geography normalization
people.sales_regionstring | string[]OptionalFilter by person location sales region.NORAM, LATAM, EMEA, or APAC
people.min_connections_countintegerOptionalReturn people with at least this many LinkedIn connections.Positive integer
max_resultsintegerOptionalMaximum records returned.1–100; defaults to 10
cursorstringOptionalOpaque cursor returned by the previous page.Base64url cursor; omit for the first page

Pagination

Use the returned cursor unchanged in the next request. Omitting cursor starts at the first page. max_results is 1–100.

Credits

One request credit is recorded only when this endpoint returns a 2xx response. Authentication, validation, rate-limit, and not-found responses do not consume a credit.

Response

FieldTypeDescription
resultsarrayThe records returned for this page.
results_lengthintegerNumber of records in results.
cursorstring | nullCursor for the next page, or null when no full next page is available.
results[].first_namestring | nullGiven name.
results[].last_namestring | nullFamily name when available.
results[].full_namestring | nullPerson display name.
results[].headlinestring | nullLinkedIn headline.
results[].job_titlestring | nullCurrent role title.
results[].job_functionstring | nullDepartment or functional area.
results[].job_levelstring | nullSeniority level.
results[].linkedin_urlstring | nullCanonical LinkedIn profile URL.
results[].connections_countinteger | nullLinkedIn connection count when available.
results[].profile_picture_urlstring | nullProfile image URL when available.
results[].location.citystring | nullPerson city.
results[].location.state_codestring | nullPerson state or subdivision code.
results[].location.country_codestring | nullPerson country code.
results[].location.continentstring | nullPerson continent.
results[].emailstring | nullWork email when available.
results[].phonestring | nullMobile or direct phone when available.
results[].companyobject | nullCurrent employer snapshot from the contact record.
results[].company.linkedin_urlstring | nullEmployer LinkedIn company URL.
results[].company.namestring | nullEmployer display name.
results[].company.headlinestring | nullEmployer headline when available.
results[].company.aboutstring | nullEmployer description when available.
results[].company.industrystring | nullEmployer industry label returned from the contact index.
results[].company.typestring | nullEmployer entity type.
results[].company.sizestring | number | nullEmployer size bucket when available.
results[].company.employees_on_linkedininteger | nullEmployees represented on LinkedIn.
results[].company.founded_yearinteger | nullYear the employer was founded.
results[].company.domainstring | nullEmployer primary domain.
results[].company.websitestring | nullEmployer website URL.
results[].company.logostring | nullEmployer logo image URL when available.

Example response

{
  "results_length": 1,
  "cursor": null,
  "results": [
    {
      "first_name": "Alex",
      "last_name": "Lee",
      "full_name": "Alex Lee",
      "headline": "CEO at OpenAI",
      "job_title": "CEO",
      "job_function": "General Business & Management",
      "job_level": "C-Team",
      "linkedin_url": "https://www.linkedin.com/in/example",
      "connections_count": 500,
      "profile_picture_url": null,
      "location": {
        "city": "San Francisco",
        "state_code": "CA",
        "country_code": "US",
        "continent": "North America"
      },
      "email": null,
      "phone": null,
      "company": {
        "linkedin_url": "https://www.linkedin.com/company/openai",
        "name": "OpenAI",
        "headline": null,
        "about": "AI research and deployment company.",
        "industry": "Software Development",
        "type": "Privately Held",
        "size": "1001 to 5000",
        "employees_on_linkedin": 1000,
        "founded_year": 2015,
        "domain": "openai.com",
        "website": "https://openai.com",
        "logo": null
      }
    }
  ]
}

Errors

StatusCodeWhen
422INVALID_INPUTA required value is missing, malformed, or outside its documented limits.
401UNAUTHORIZEDThe x-api-key header is missing or invalid.
402CREDITS_EXHAUSTEDA limited plan has no request credits remaining.
405METHOD_NOT_ALLOWEDThe endpoint is called with an unsupported HTTP method.
429RATE_LIMIT_EXCEEDEDThe API key exceeds its plan-wide requests-per-second limit.
500DATA_SERVICE_ERRORThe data service cannot complete the request.
{
  "success": false,
  "error": {
    "code": "INVALID_INPUT",
    "message": "A field-specific validation message"
  }
}
moltsetz - B2B data infrastructure