ContactOut · Schema

PeopleSearchRequest

CompanyContact DataEmail FinderData EnrichmentPeople SearchCompany SearchEmail VerificationSales IntelligenceRecruitingB2B Data

Properties

Name Type Description
name string Name of the profile (text)
job_title array Accepts an array of job titles. (array, max:50)
past_job_title array Returns profiles that held these job titles in past (non-current) roles. Cannot be combined with current_titles_only: false. Cannot be combined with match_experience when both job_title and company ar
job_function array Accepts an array of job functions to filter profiles by their functional area (e.g., Engineering, Marketing, Sales, Finance). Accepted values list (array, max:50)
seniority array Accepts an array of seniority levels to filter profiles by their career level. Accepted values list (array, max:50)
current_titles_only boolean Returns profiles matching the current job title. If specified false, the response will return profiles matching the current or past job title. (boolean, default: true)
include_related_job_titles boolean Returns profiles with related job titles (boolean, default: false)
match_experience string Ensures job_title and company match in the same experience. current – Returns profiles that match the current experience.past – Returns profiles that match any past experience.both – Returns profiles
skills array Accepts an array of skills (array, max:50)
languages array Accepts an array of language objects. Each object must have a language field (required string) and optionally a proficiency field (array of strings). If proficiency is not provided, any proficiency le
education array Accepts an array of schools/degrees (array, max:50)
educations array Accepts an array of education objects. Each object can have optional fields: school_name (string), field_of_study (string), and location (string). At least one field must be provided. (array, max:50)
location array Accepts an array of locations (array, max:50)
location_radius integer Search radius in miles (1-500). Only works when location is provided and the location is a city / area. Filters profiles within the specified radius of the location. (integer)
current_work_location array Accepts an array of location strings (cities or countries). Filters profiles who currently work in any of the specified locations. (array, max:50)
past_work_location array Accepts an array of location strings (cities or countries). Filters profiles who previously worked in any of the specified locations. (array, max:50)
company array Accepts an array of company names (array, max:50)
past_company array Returns profiles that worked at these companies in past (non-current) roles. Cannot be combined with company_filter set to past, past_only, or both. Cannot be combined with match_experience when both
company_filter string current – Returns profiles matching the current company name past – Returns profiles matching any past company name past_only – Returns profiles where the company appears in past experience and is not
current_company_only boolean Returns profiles matching the current company name (boolean, default: true)
domain array Accepts an array of domains (array, max:50)
industry array Accepts an array of industries. Prefix an industry with NOT to exclude it (e.g. "NOT Computer Software"). Accepted values list (array, max:50)
keyword string Returns profiles that contain the mentioned keyword anywhere in their profile (text)
company_size array Accepts an array of company size ranges. Accepted values list (array)
years_of_experience array Accepts an array of ranges in the format X_Y where X and Y are integers representing the minimum and maximum years of experience. e.g. ["2_5", "6_10"] means 2-5 years OR 6-10 years. (array)
years_in_current_role array Accepts an array of ranges in the format X_Y where X and Y are integers representing the minimum and maximum years in current role. e.g. ["1_3", "4_6"] means 1-3 years OR 4-6 years in current role. Ca
recently_changed_jobs boolean If set to true, returns profiles whose current job started within the last 3 calendar months. Cannot be used with years_in_current_role. (boolean, default: false)
is_currently_working boolean If true, returns only profiles with an active current role. If false, returns only profiles with no active current role. Omit to return both. (boolean)
page integer Provides results for the given page (integer)
page_size integer Maximum number of profiles to return per page. Valid range is 1-25. When not provided, 25 profiles are returned. Search credits are charged only for the number of profiles returned. (integer, default:
data_types array Returns profiles containing atleast one of the specified data types. It accepts an array of one more values from this list [personal_email, work_email, phone] (array)
reveal_info boolean If set to true, contact_info will contain the emails and phone numbers of the profile and credits will be charged (boolean, default: false)
detailed_experience boolean If set to true, the experience field returns detailed data like title, company_name, summary, start_date_year, start_date_month, end_date_year, end_date_month, is_current, linkedin_url, logo_url. If f
detailed_education boolean If set to true, the education field returns detailed data like school_name, degree, field_of_study, description, start_date_year, end_date_year, url. If false, returns simple text strings. (boolean, d
exclude_job_titles array Accepts an array of job titles to exclude from results. (array)
exclude_companies array Accepts an array of company names to exclude from results. (array)
exclude_companies_filter string Applies when exclude_companies is non-empty. current – Exclude if the company appears as the profile's current employer only.past – Exclude if it appears in past roles only.both – Exclude if it appear
View JSON Schema on GitHub

JSON Schema

contactout-people-search-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/contactout/main/json-schema/contactout-people-search-request-schema.json",
  "title": "PeopleSearchRequest",
  "x-generated": "2026-10-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/contactout-openapi-generated.yml#/components/schemas/PeopleSearchRequest",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the profile (text)"
    },
    "job_title": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of job titles. (array, max:50)"
    },
    "past_job_title": {
      "type": "array",
      "items": {},
      "description": "Returns profiles that held these job titles in past (non-current) roles. Cannot be combined with current_titles_only: false. Cannot be combined with match_experience when both job_title and company are set. (array, max:50)"
    },
    "job_function": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of job functions to filter profiles by their functional area (e.g., Engineering, Marketing, Sales, Finance). Accepted values list (array, max:50)"
    },
    "seniority": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of seniority levels to filter profiles by their career level. Accepted values list (array, max:50)"
    },
    "current_titles_only": {
      "type": "boolean",
      "default": "true",
      "description": "Returns profiles matching the current job title. If specified false, the response will return profiles matching the current or past job title. (boolean, default: true)"
    },
    "include_related_job_titles": {
      "type": "boolean",
      "default": "false",
      "description": "Returns profiles with related job titles (boolean, default: false)"
    },
    "match_experience": {
      "type": "string",
      "default": "current",
      "description": "Ensures job_title and company match in the same experience. current – Returns profiles that match the current experience.past – Returns profiles that match any past experience.both – Returns profiles matching either current or past experience.If set, current_titles_only and company_filter should not be used; otherwise, an error is returned. (string, default: current)"
    },
    "skills": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of skills (array, max:50)"
    },
    "languages": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of language objects. Each object must have a language field (required string) and optionally a proficiency field (array of strings). If proficiency is not provided, any proficiency level is accepted. Accepted values list for proficiency. (array, max:50)"
    },
    "education": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of schools/degrees (array, max:50)"
    },
    "educations": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of education objects. Each object can have optional fields: school_name (string), field_of_study (string), and location (string). At least one field must be provided. (array, max:50)"
    },
    "location": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of locations (array, max:50)"
    },
    "location_radius": {
      "type": "integer",
      "description": "Search radius in miles (1-500). Only works when location is provided and the location is a city / area. Filters profiles within the specified radius of the location. (integer)"
    },
    "current_work_location": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of location strings (cities or countries). Filters profiles who currently work in any of the specified locations. (array, max:50)"
    },
    "past_work_location": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of location strings (cities or countries). Filters profiles who previously worked in any of the specified locations. (array, max:50)"
    },
    "company": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of company names (array, max:50)"
    },
    "past_company": {
      "type": "array",
      "items": {},
      "description": "Returns profiles that worked at these companies in past (non-current) roles. Cannot be combined with company_filter set to past, past_only, or both. Cannot be combined with match_experience when both job_title and company are set. (array, max:50)"
    },
    "company_filter": {
      "type": "string",
      "default": "current",
      "description": "current – Returns profiles matching the current company name    past – Returns profiles matching any past company name  past_only – Returns profiles where the company appears in past experience and is not their current employer.  both – Returns profiles matching either current or past experience (string, default: current)"
    },
    "current_company_only": {
      "type": "boolean",
      "default": "true",
      "description": "Returns profiles matching the current company name (boolean, default: true)"
    },
    "domain": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of domains (array, max:50)"
    },
    "industry": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of industries. Prefix an industry with NOT to exclude it (e.g. \"NOT Computer Software\"). Accepted values list (array, max:50)"
    },
    "keyword": {
      "type": "string",
      "description": "Returns profiles that contain the mentioned keyword anywhere in their profile (text)"
    },
    "company_size": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of company size ranges. Accepted values list (array)"
    },
    "years_of_experience": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of ranges in the format X_Y where X and Y are integers representing the minimum and maximum years of experience. e.g. [\"2_5\", \"6_10\"] means 2-5 years OR 6-10 years. (array)"
    },
    "years_in_current_role": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of ranges in the format X_Y where X and Y are integers representing the minimum and maximum years in current role. e.g. [\"1_3\", \"4_6\"] means 1-3 years OR 4-6 years in current role. Cannot be used with recently_changed_jobs. (array)"
    },
    "recently_changed_jobs": {
      "type": "boolean",
      "default": "false",
      "description": "If set to true, returns profiles whose current job started within the last 3 calendar months. Cannot be used with years_in_current_role. (boolean, default: false)"
    },
    "is_currently_working": {
      "type": "boolean",
      "description": "If true, returns only profiles with an active current role. If false, returns only profiles with no active current role. Omit to return both. (boolean)"
    },
    "page": {
      "type": "integer",
      "description": "Provides results for the given page (integer)"
    },
    "page_size": {
      "type": "integer",
      "default": "25",
      "description": "Maximum number of profiles to return per page. Valid range is 1-25. When not provided, 25 profiles are returned. Search credits are charged only for the number of profiles returned. (integer, default: 25)"
    },
    "data_types": {
      "type": "array",
      "items": {},
      "description": "Returns profiles containing atleast one of the specified data types. It accepts an array of one more values from this list [personal_email, work_email, phone] (array)"
    },
    "reveal_info": {
      "type": "boolean",
      "default": "false",
      "description": "If set to true, contact_info will contain the emails and phone numbers of the profile and credits will be charged (boolean, default: false)"
    },
    "detailed_experience": {
      "type": "boolean",
      "default": "false",
      "description": "If set to true, the experience field returns detailed data like title, company_name, summary, start_date_year, start_date_month, end_date_year, end_date_month, is_current, linkedin_url, logo_url. If false, returns simple text strings. (boolean, default: false)"
    },
    "detailed_education": {
      "type": "boolean",
      "default": "false",
      "description": "If set to true, the education field returns detailed data like school_name, degree, field_of_study, description, start_date_year, end_date_year, url. If false, returns simple text strings. (boolean, default: false)"
    },
    "exclude_job_titles": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of job titles to exclude from results. (array)"
    },
    "exclude_companies": {
      "type": "array",
      "items": {},
      "description": "Accepts an array of company names to exclude from results. (array)"
    },
    "exclude_companies_filter": {
      "type": "string",
      "default": "both",
      "description": "Applies when exclude_companies is non-empty. current – Exclude if the company appears as the profile's current employer only.past – Exclude if it appears in past roles only.both – Exclude if it appears in either current or past experience. (string, default: both)"
    }
  },
  "required": [
    "education",
    "job_title",
    "keyword",
    "past_job_title",
    "skills"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/contactout-people-search-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.