Smart Job Titles
/v2/search/smart-job-titlesAI-suggested job titles that reach more of the people your titles are meant to find: other ways the same role is written (synonyms, abbreviations, plurals, translations into the languages of your locations), closely related roles, and broader roles in the same function. Each title carries the narrowest smart_level that includes it (SAME_ROLE, SIMILAR, RELATED) and new_people: how many people it adds to the search you describe in filters. Titles that add nobody - a variant your own titles already match, or a title nobody in your search holds - are left out, and so are titles adding fewer than 0.1% of your search (at most 100 people). Search the titles you keep with CONTAINS; person_job_title.match_mode: SMART does the same server-side but, having no counts, keeps every AI title, so it can find a few more people. Free: costs no credits. A new answer uses one of the workspace's daily AI suggestions (by plan); the same titles and filters again are answered from cache for free. Counts against the per-second window of the search rate limit (0 units). Authenticate with your API key in the x-api-key header.
How are credits spent?
Smart Job Titles is free and consumes no credits. A new AI answer uses one of your workspace's daily AI suggestions (see Daily AI allowance below); asking again for the same titles and filters is answered from cache and uses nothing.
What it does
Send the job titles you would search with, and the AI suggests the other titles the same people hold on their profiles, so a People Search reaches more of the right people:
- other ways to write the same role: synonyms, abbreviations, plurals and
translations into the languages of your locations (
GermanybringsLeiter Einkauffor "Head of Procurement"); - closely related roles of the same function and level;
- broader roles in the same function.
Pass the People Search filters you will search with. Locations decide which
languages the suggestions come in; industry, seniority and department sharpen
what the AI reads into your titles; and every filter scopes the counts.
person_job_title inside filters is ignored apart from its exclude, which
is used when exclude_job_titles is absent.
You can use the answer two ways:
- show the titles to a user, let them pick, and search the picked ones with
person_job_title.match_mode: "CONTAINS"; - or skip this call and send
match_mode: "SMART"to People Search, which adds the titles itself (see Smart match mode in People Search below).
Three levels
Every title carries level, the narrowest level that includes it. The levels
are nested: SAME_ROLE < SIMILAR < RELATED.
| Level | In the App | Adds | Example |
|---|---|---|---|
SAME_ROLE | Same role | Other ways to write the same role: synonyms, abbreviations, plurals, translations | VP of Sales -> Sales VP |
SIMILAR (default) | Similar | Also closely related roles of the same function and level | Head of Sales -> Sales Director |
RELATED | Related | Also broader roles in the same function | SDR -> Account Executive |
One call answers all three levels. To show a level, keep the titles whose
level is at or below it; switching levels needs no new request.
Reading the counts
new_people- how many people the title adds on top of your own titles, under yourfiltersand after every exclusion. Each title is counted on its own, so the numbers overlap and do not add up to the total.nullwhen the count could not be taken.- Titles that add nobody are left out. A variant your own titles already
match (CONTAINS matches every word in any order, so "Founder & CEO" adds no
one when "CEO" is listed), or a title too few people in your search hold, is
not returned.
titlescan be empty: that is still a200. titlesis ordered by level, then bynew_people, most first.
Exclusions
exclude_titles lists other spellings of the roles you exclude ("Intern" ->
"Trainee", "Praktikant"), each with removed_people: how many people
excluding it takes out of your search. They are same-role spellings only,
whatever the level, and are empty without exclusions of your own.
An exclusion can show removed_people: 0 and still be worth keeping. Job
title filters apply per position: a person matches when one of their
positions has an included title and no excluded one. A spelling of a role you
did not include rarely removes anyone from today's search, but it keeps that
role out once your include list widens. That is why every spelling is
returned, even at 0.
Nothing your exclusions reject is ever suggested in titles.
Smart match mode in People Search
People Search does the same work when you send match_mode: "SMART":
POST /v2/people/search
{
"filters": {
"person_job_title": {
"include": ["Head of Sales"],
"exclude": ["Intern"],
"match_mode": "SMART",
"smart_level": "SIMILAR"
}
}
}The AI titles at or below smart_level are added to include, the other
spellings of the excluded roles to exclude, and the filter then runs as
CONTAINS. Search, count, save, enrich and export all match the same people.
metadata.smart_job_titles lists what was added, without counts. See
People Search (Smart job-title match) for the
response shape.
Caching
- An AI answer is cached for 30 days and shared by every workspace: the same titles, exclusions and context (locations, industries, seniorities, departments) are answered from cache. Case and order do not matter.
- The counts are cached for an hour per workspace.
metadata.cachedistruewhen the answer came from cache. A cached answer is free and does not use your daily allowance.
Daily AI allowance
Only a new AI answer (one not in the cache) uses the workspace's daily allowance. It resets at 00:00 UTC, and a call that fails is not counted. The allowance follows the same plan tiers as Rate limits:
| Plan | New AI answers per day |
|---|---|
| Free | 30 |
| Starter | 200 |
| Growth 5K | 500 |
| Growth 20K | 1,000 |
| Growth 50K and above | 2,000 |
When it is used up, a request that needs a new answer gets 429 with the
error name RATE_LIMIT and payload.code: "ai_daily_limit". Cached answers
keep working, and People Search with match_mode: "SMART" answers the same
429 when it needs a new answer. Search with match_mode: "CONTAINS" until
the reset.
The endpoint also counts against the per-second window of the search rate
limit, at 0 units: it never spends your per-minute or per-day search units.
Errors
| Status | Error | When |
|---|---|---|
400 | VALIDATION_ERROR | job_titles is empty or has more than 20 items, a title is shorter than 2 or longer than 100 characters, or filters that People Search itself would refuse. |
429 | RATE_LIMIT with payload.code: "ai_daily_limit" | The daily AI allowance is used up. |
429 | RATE_LIMIT | The per-second window of the search rate limit; wait Retry-After seconds. |
503 | UNAVAILABLE | The AI could not answer right now. Retry shortly, or search with match_mode: "CONTAINS". |
In People Search, the AI being unavailable never fails the search: it runs on
your own titles and metadata.smart_job_titles.error is "unavailable".
Body parameters
job_titlesstring[]requiredYour own job-title terms (what you would send as person_job_title.include). 1-20 items, 2-100 characters each.
Example
{ "job_titles": [ "Head of Sales" ] }exclude_job_titlesstring[]optionalYour own excluded job-title terms (person_job_title.exclude). Nothing they reject is suggested, and
exclude_titlesanswers their other spellings ("Intern" -> "Trainee", "Praktikant"). Up to 20 items, 2-100 characters each. Absent: the exclude insidefilters.Example
{ "job_titles": [ "Head of Sales" ], "exclude_job_titles": [ "Intern" ] }filtersobjectoptionalThe People Search filter set, also taken by the whole-search save, enrich and credits preview.
Child attributes
personobjectoptionalFilter on the person themselves for People Search: by GetProspect person id, by name, or a lookup of specific profiles by LinkedIn URL.
Child attributes
idobjectoptionalFilter on GetProspect person ids for People Search: only these people, or reject them (up to 100 ids each).
Field Type Description includestring[] Only these people. Use the idvalues returned by People Search results, People Enrich, or Search Suggestions withtype: "person". Max 100 ids.excludestring[] Reject these people (same idvalues). Max 100 ids.nameobjectoptionalFilter on the person's name for People Search: include or exclude names, each term matching when all its words appear in the name.
Field Type Description includestring[] Names to match. Every word of a term must appear somewhere in the name, in any order, so "Dmytro Shulha" matches "Dmytro Shulha, PhD" and "Helena Calero" matches "Helena Montoya-Calero". Case-insensitive; diacritics are significant ("Jose" does not match "José"). Any single term qualifies. Max 500 items. excludestring[] Names to reject, matched the same way. Max 500 items. linkedin_urlobjectoptionalLookup of specific people for People Search by LinkedIn profile URL (1-50); the other filters narrow the result.
Field Type Description includestring[] Look up specific profiles by LinkedIn URL. The URLs pick the people and every other filter narrows them - except company.name.include, which here only picks which position is returned asprimary_position. Cannot be combined withperson.idorperson.name. Results keep the order of the URLs (sort_bydoes not apply) and each carries thematched_urlit was found by. 1-50 urls.Example:
["https://www.linkedin.com/in/emily-carter-sample/"]
Example
{ "filters": { "person": { "name": { "include": [ "Dmytro Shulha" ] } } } }person_locationobjectoptionalInclude/exclude filter on unified location strings (country, state, city or region), used by People Search
person_location.Field Type Description includestring[] Match these locations (any of). Unified strings like "United States", "Texas, United States", "San Francisco, California, United States" - or a region like "EMEA", "APAC", "Europe", "Latin America", which expands to its member countries (full list with member countries: GET /v2/enums/regions). Max 100 items, each 2-200 chars. If none of the values resolve to a known location, the request fails with 400. excludestring[] Reject these locations (same unified-string format). Max 100 items, each 2-200 chars. Values that do not resolve are skipped. Example
{ "filters": { "person_location": { "include": [ "California, United States", "Austin, Texas, United States" ], "exclude": [ "San Francisco, California, United States" ] } } }company_keywordsobjectoptionalPhrase filter on company keyword fields (Keyword sources), shared by
company_keywordsin People Search and Company Search.Field Type Description includestring[]required Phrases to search for. 1-20 items, 3-100 chars each. Matched as phrases: a multi-word entry like "email finder" requires those words adjacent and in order within one of the selected source fields, not merely present somewhere in it. excludestring[] Phrases that disqualify a company. 0-20 items. Matched as phrases, same as include.include_allboolean When true, every phrase in includemust match; otherwise any single match qualifies. default: false.sourcesenum[] Restrict matching to these source fields (see Keyword sources). Omit to use the default source set - see this company_keywordsfilter's own description above for what that is.Example
{ "filters": { "company_keywords": { "include": [ "email marketing" ], "sources": [ "specialties" ] } } }person_job_titleobjectoptionalFilter on the person's job title for People Search: include or exclude titles matched per
match_mode, or oneboolean_searchexpression instead.Field Type Description includestring[] Job titles to match. Max 100 items, each 2-100 chars. Combined per match_mode. Known abbreviations also match their canonical spelling and vice versa (e.g. "CEO" matches "Chief Executive Officer"), however you spell them - "VP of Marketing", "VP, Marketing" and "Marketing VP" all match what "VP Marketing" matches. Under CONTAINS, terms match any of the roles a position carries - including the secondary roles of combined titles like "Founder & CEO" and the original title text. excludestring[] Job titles to reject. Max 100 items, each 2-100 chars. match_modeenum CONTAINS = the title contains every word of the term, in any order; connector words (of, and, the, ...) are ignored, so "Director of Sales Enablement" also matches "Director, Sales Enablement". EXACT = the person's LinkedIn title is exactly the term, so "founder" does not match "Founder & CEO", "Founder of Acme LLC" or "Fondateur" - use CONTAINS for those. SMART = CONTAINS plus AI-suggested titles the same people hold (synonyms, translations for your locations, related roles - see smart_level), and excludewidened with the other spellings of the excluded roles ("Intern" also excludes "Trainee", "Praktikant"); what was added is listed inmetadata.smart_job_titles, and POST /v2/search/smart-job-titles previews them with how many people each adds. Applies to include/exclude; ignored when boolean_search is set.Allowed values:
CONTAINSEXACTSMARTsmart_levelenum How far match_mode SMART reaches. SAME_ROLE = other ways to write the same role (synonyms, abbreviations, plurals, translations): "VP of Sales" -> "Sales VP". SIMILAR (default) = also closely related roles of the same function and level: "Head of Sales" -> "Sales Director". RELATED = also broader roles in the same function: "SDR" -> "Account Executive". Ignored unless match_mode is SMART. Allowed values:
SAME_ROLESIMILARRELATEDboolean_searchstring Boolean / Cartesian title query, e.g. "(CEO OR CTO) AND !Intern". Syntax: bareword=contains; 'single quotes'=contains too, and the way to write a title with a space in it - 'vp marketing' matches exactly what include: ["vp marketing"] matches; "double quotes"=exact; backticks=words in order with connectors bridged, sovp marketingfinds "VP of Marketing" but not "VP Sales and Marketing" or "Marketing VP"; !=exclude, AND/OR, ()=grouping. Max 500 terms, depth 5, each term 2-100 chars. AND and OR cannot be mixed at the same nesting level - use parentheses to group. Mutually exclusive with include/exclude. max length: 20000.Example
{ "filters": { "person_job_title": { "include": [ "Product Marketing Manager", "Growth Marketing Manager" ], "exclude": [ "Assistant" ], "match_mode": "CONTAINS" } } }person_seniorityobjectoptionalFilter on the seniority level of the person's position for People Search: include or exclude values from Seniorities. Casing and spacing do not matter, and common synonyms are accepted as their level: Founder and Co-Founder (Owner), Board and Board Member (Partner), C-Level, CXO and CEO (C-Suite), Vice President (VP), Individual Contributor (Mid-level), Junior and Entry Level (Entry), Trainee (Intern), and the retired Chief Officer (C-Suite).
Field Type Description includeenum[] Seniority levels to match (any of). See Seniorities. excludeenum[] Seniority levels to reject. See Seniorities. Example
{ "filters": { "person_seniority": { "include": [ "C-Suite", "VP", "Director" ] } } }person_departmentobjectoptionalFilter on the department of the person's position for People Search: include or exclude department groups or sub-departments. Casing does not matter. The names of the previous department list are still accepted as the sub-department that replaced them (for example Web Design as Graphic, Web & Brand Design, Sourcing & Procurement as Procurement & Purchasing).
Field Type Description includeenum[] Departments to match (any of). Accepts a department group ("Sales", "Legal") or a specific sub-department ("Sales Operations", "Founder"). A group matches everyone in it, including people with no specific sub-department; a sub-department matches only that sub-department. See Departments. excludeenum[] Departments to reject. A group rejects everyone in it, including people with no specific sub-department; a sub-department rejects only that sub-department. See Departments. Example
{ "filters": { "person_department": { "include": [ "Marketing", "Sales" ], "exclude": [ "Accounting" ] } } }person_months_in_current_roleobjectoptionalAn inclusive range of whole months (0-600), used by the People Search tenure filters for the current role and the current company.
Field Type Description mininteger Minimum whole months (inclusive), 0-600. Optional. min: 0, max: 600. maxinteger Maximum whole months (inclusive), 0-600, must be >= min. Optional. min: 0, max: 600. Example
{ "filters": { "person_months_in_current_role": { "min": 6, "max": 24 } } }person_months_in_current_companyobjectoptionalAn inclusive range of whole months (0-600), used by the People Search tenure filters for the current role and the current company.
Field Type Description mininteger Minimum whole months (inclusive), 0-600. Optional. min: 0, max: 600. maxinteger Maximum whole months (inclusive), 0-600, must be >= min. Optional. min: 0, max: 600. Example
{ "filters": { "person_months_in_current_company": { "min": 12 } } }person_job_changeobjectoptionalFilter for People Search on a recent job change: the current role started within
timeframe_months, optionally narrowed bychange_type.Field Type Description timeframe_monthsintegerrequired Months since the current role started, counted in CALENDAR months the way LinkedIn counts them: a role is "N months" if it spans N calendar months inclusive, so a role begun any time in August is 2 months old on 1 September. timeframe_months: 1therefore matches only roles begun in the current month. Any whole number from 1 to 1000. Replaces the formertimeframe_days, which accepted only 30, 60, 90, 180, 270 or 365. min: 1, max: 1000.Example:
3change_typeenum any = any recent role change; new_company = also changed company; promotion = changed role at the same company (approximation, includes lateral moves). Allowed values:
anypromotionnew_companyExample
{ "filters": { "person_job_change": { "timeframe_months": 3, "change_type": "new_company" } } }companyobjectoptionalFilter on the person's company for People Search: by company id, website domain, name or LinkedIn company id.
Child attributes
idobjectoptionalFilter on the person's company for People Search by GetProspect company id: include or exclude companies.
Field Type Description includestring[] Only people who work at one of these companies. Use the idvalues returned by Company Search or in People Search results. Combines with an exactcompany.nameas OR (a person at any listed id or any listed name);company.domain,company_keywordsand a CONTAINScompany.namestill narrow it. Max 20000 ids.excludestring[] Reject people who work at any of these companies (same idvalues). Max 20000 ids.domainobjectoptionalFilter on the person's company for People Search by website domain: include or exclude domains, with
match_modefor which company pages count.Field Type Description includestring[] Only people who work at the organization that owns one of these domains, e.g. "stripe.com" - see match_modefor which of its company pages count. Scheme, "www." and any path are stripped. Max 100 items.excludestring[] Reject people whose company is on one of these domains. match_modeenum Which company pages an includedomain stands for. ORGANIZATION (default) = every company page that belongs to the organization owning the domain: its main page, its regional, brand and subsidiary pages. A small page that only links to the domain - a business hosted on a platform, a same-named company - is left out. PRIMARY = only the one main company page of the domain, leaving out the organization's other pages. LINKEDIN_WEBSITE = only the organization's pages whose own LinkedIn website is on the domain, so the domain is never inferred: "stripe.com", "stripe.com/jobs" and "jobs.stripe.com" all match "stripe.com"; a page that lists another site, or no website, does not.excludeis not affected: it always rejects every company on the domain.Allowed values:
ORGANIZATIONPRIMARYLINKEDIN_WEBSITEExample
{ "filters": { "company": { "domain": { "include": [ "stripe.com" ] } } } }nameobjectoptionalFilter on the person's company for People Search by name: include or exclude names, matched exactly or, with
match_mode: CONTAINS, as a term within the name.Field Type Description includestring[] Company names to match. Combined per match_mode. With EXACT, a value shaped like a website ("stripe.com", "https://www.stripe.com/about") also matches the company on that domain. Max 500 items. excludestring[] Company names to reject. With EXACT, a website-shaped value also rejects the company on that domain. match_modeenum EXACT (default) = the whole company name equals the term, case-insensitive. CONTAINS = the name contains the term as written, case-insensitive, starting at a word ("Haven Health" matches "Haven Health Management" and "New Haven Healthcare"). A match inside a longer word ("nails" in "AllNailSpa") comes back only for a term that matches no name at a word start, and reliably only for a single-word term. A multi-word term that matches no name as written falls back to names holding all of its words in any order ("Oak Park River Forest High School" matches "Oak Park and River Forest High School"). An excludeterm matches anywhere in the name ("soft" also rejects "Microsoft"). Resolved against the company index and capped; narrow the term if the request is rejected.Allowed values:
EXACTCONTAINSlinkedin_idobjectoptionalInclude/exclude filter on LinkedIn's numeric company id, shared by the
company.linkedin_idfilter of People Search and Company Search.Field Type Description includeinteger[] Match these LinkedIn companies. LinkedIn's numeric company id. Company URLs are not accepted here - enrich the company by linkedin_urlfirst, then filter by theidthat comes back. Max 500 items.Example:
[162479]excludeinteger[] Reject these LinkedIn companies. LinkedIn's numeric company id. Company URLs are not accepted here - enrich the company by linkedin_urlfirst, then filter by theidthat comes back. Max 500 items.
Example
{ "filters": { "company": { "name": { "include": [ "Intercom", "Stripe" ] } } } }company_industryobjectoptionalFilter on the industry of the person's company for People Search: include or exclude industries or whole industry groups.
Field Type Description includestring[] Industries or industry GROUPS to match (any of). A group name matches every industry in that category. See Industries for both. Example:
["Agriculture & Mining","Software Development"]excludestring[] Industries or industry GROUPS to reject. A group name rejects every industry in that category. See Industries for both. Example
{ "filters": { "company_industry": { "include": [ "Software Development", "IT Services & IT Consulting" ], "exclude": [ "Staffing & Recruiting" ] } } }company_headcount_rangeenum[]optionalBucketed headcount range of the company (see Employee ranges).
Example
{ "filters": { "company_headcount_range": [ "51-200", "201-500" ] } }company_countryobjectoptionalFilter on the country of the person's company for People Search: include or exclude ISO alpha-2 codes, optionally headquarters only.
Field Type Description includestring[] Match values in this list - any single value qualifies (exact, case-insensitive). Optional - provide include and/or exclude. excludestring[] Reject values in this list. 0-500 items. headquarters_onlyboolean When true, match the company headquarters country only. When false (default), any office country we have resolved counts, headquarters included: includes widen (a company with an office there matches) and excludes tighten symmetrically (a company with an office there is rejected). default: false. Example
{ "filters": { "company_country": { "include": [ "US", "CA", "GB" ], "headquarters_only": true } } }company_typeobjectoptionalInclude/exclude filter on company type (Company types), shared by
company_typein People Search and Company Search.Field Type Description includeenum[] Company types to match (any of). Allowed values:
Privately HeldPublic CompanyNon ProfitSelf OwnedSelf EmployedPartnershipEducationalGovernment AgencyUnknownexcludeenum[] Company types to reject. Allowed values:
Privately HeldPublic CompanyNon ProfitSelf OwnedSelf EmployedPartnershipEducationalGovernment AgencyUnknownExample
{ "filters": { "company_type": { "include": [ "Privately Held", "Public Company" ] } } }company_business_typeobjectoptionalInclude/exclude filter on business type (Business types), shared by
company_business_typein People Search and Company Search.Field Type Description includeenum[] Business types to match (any of). Allowed values:
B2BB2CNonprofitUnknownexcludeenum[] Business types to reject. Allowed values:
B2BB2CNonprofitUnknownExample
{ "filters": { "company_business_type": { "include": [ "B2B" ] } } }company_revenue_streamobjectoptionalInclude/exclude filter on revenue stream (Revenue streams), shared by
company_revenue_streamin People Search and Company Search.Field Type Description includeenum[] Revenue streams to match (any of). Allowed values:
Professional ServicesProduct SalesGrants / DonationsSubscriptions / RecurringProject / Contract WorkEvent / Experience RevenueTransaction FeesRental / LeasingAdvertisingFinancial ServicesLicensing / IPUnknownexcludeenum[] Revenue streams to reject. Allowed values:
Professional ServicesProduct SalesGrants / DonationsSubscriptions / RecurringProject / Contract WorkEvent / Experience RevenueTransaction FeesRental / LeasingAdvertisingFinancial ServicesLicensing / IPUnknownExample
{ "filters": { "company_revenue_stream": { "include": [ "Subscriptions / Recurring", "Product Sales" ] } } }company_ai_industryobjectoptionalInclude/exclude filter on the company AI industry (AI Industries), shared by
company_ai_industryin People Search and Company Search. Takes an industry group ("Finance and Insurance") or a sub-industry ("Banking and Lending"): a group matches every company in any of its sub-industries. Casing does not matter, and "&" is read as "and".Field Type Description includeenum[] AI industries to match (any of). A group matches all its sub-industries; a sub-industry matches only itself. Allowed values:
Software and ITHealthcare and Life SciencesFinance and InsuranceEnergy, Utilities and Environmental ServicesIndustrial Manufacturing and MaterialsReal Estate and ConstructionRetail and Consumer ChannelsTransportation and LogisticsProfessional, Business and Legal ServicesEducation and TrainingMedia, Entertainment and CultureHospitality, Food and Travel ServicesPersonal and Home ServicesAgriculture, Forestry and FisheriesAutomotive, Aerospace and Defense ManufacturingNon-Profit, Public Sector and Education (Non-Commercial)AI and ML PlatformsAgriculture and Forestry SoftwareBlockchain and Web3Carriers and ISPsCloud and Infrastructure SoftwareConsumer SoftwareData and Analytics SoftwareDeveloper Tools and PlatformsEnterprise Software SolutionsFinancial Services SoftwareGovernment and Public Sector SoftwareHardware and NetworkingHealthcare SoftwareIoT and Embedded Systems SoftwareIT Services and CybersecurityManufacturing SoftwareMetaverse, AR/VR and Other Emerging PlatformsQuantum Computing SoftwareReal Estate and PropTech SoftwareRetail and Ecommerce SoftwareSecurity and Identity SoftwareBiotechnology and PharmaceuticalsDigital Health and TelemedicineHospitals, Clinics and Outpatient CareMedical Devices and Diagnostic EquipmentMedical Testing and Clinical LaboratoriesMental Health and Rehabilitation ServicesPharma Distribution and CRO ServicesBanking and LendingCapital Markets and CryptocurrencyCryptocurrency and Blockchain ServicesFinancial Services PlatformsInsurance and InsurTechInvestment Management and WealthTechVenture Capital and Private EquityElectric Power and Grid ManagementNuclear and Advanced GenerationOil and Gas Exploration, Production and ServicesRenewable Energy and Clean TechSustainability Tech and Environmental ConsultingWater, Waste and Environmental Management3D Printing and Advanced ManufacturingBuilding Materials and ChemicalsConsumer Goods and AppliancesElectronics and Computer EquipmentFood, Beverage and Tobacco ProductionIndustrial Machinery and EquipmentMining, Metals and Natural ResourcesArchitecture, Urban Planning and Green BuildingCommercial Real Estate Development and LeasingConstruction and Civil Engineering ServicesProperty and Facility ManagementResidential Real Estate Development and BrokerageSpecialty Construction ProductsAutomotive Service and Collision RepairBrick-and-Mortar RetailMedia and Entertainment RetailOnline Commerce and MarketplacesRetail TechnologySpecialty Auctions and CollectiblesWholesale and DistributionAutonomous Vehicles and Drone DeliveryCar and Truck RentalFreight and CargoLogistics TechnologyPassenger Transit and MobilityWarehousing, Fulfillment and 3PL ServicesAccounting, Audit and Financial AdvisoryAdvertising, Marketing and Multimedia DesignDefense and Government ServicesFacilities Management and Commercial CleaningHuman Resources, Staffing and RecruitmentLegal Services and Regulatory ComplianceManagement Consulting and Strategy ConsultingTranslation, Document and Information ManagementCorporate Training and Learning and DevelopmentE-Learning Platforms and EdTechK-12 and Higher Education InstitutionsTest Prep, Tutoring and After-School ServicesVocational Training and Certification ProgramsDigital Publishing and Streaming PlatformsFilm, Television and BroadcastingGaming, Esports and Interactive EntertainmentLive Events, Experiences and Ticketed AttractionsMuseums, Art Galleries and Cultural PreservationMusic, Audio and Podcast ServicesSports and RecreationFood and Beverage ServicesHospitality and LodgingTravel Agencies and Leisure ServicesFuneral Homes and Related ServicesHome ServicesPersonal Care and WellnessVeterinary Care and Pet ServicesAgriTech and Precision FarmingAquaculture and FisheriesCrop Farming and Livestock ProductionFarming Equipment and SuppliesForestry, Logging and Wood ProductsMining and ExtractionAviation and Aerospace Component ManufacturingAutomotive and Rental RetailCommercial Space InnovationDefense Systems and Marine ManufacturingMotor Vehicle and Parts ManufacturingGovernment Administration and Municipal ServicesNGOs, Charities and Community OrganizationsPublic Healthcare and Social ServicesPublic/Private Research Institutions and Educational FoundationsStudent Organizations and Campus Servicesexcludeenum[] AI industries to reject. A group rejects all its sub-industries; a sub-industry rejects only itself. Allowed values:
Software and ITHealthcare and Life SciencesFinance and InsuranceEnergy, Utilities and Environmental ServicesIndustrial Manufacturing and MaterialsReal Estate and ConstructionRetail and Consumer ChannelsTransportation and LogisticsProfessional, Business and Legal ServicesEducation and TrainingMedia, Entertainment and CultureHospitality, Food and Travel ServicesPersonal and Home ServicesAgriculture, Forestry and FisheriesAutomotive, Aerospace and Defense ManufacturingNon-Profit, Public Sector and Education (Non-Commercial)AI and ML PlatformsAgriculture and Forestry SoftwareBlockchain and Web3Carriers and ISPsCloud and Infrastructure SoftwareConsumer SoftwareData and Analytics SoftwareDeveloper Tools and PlatformsEnterprise Software SolutionsFinancial Services SoftwareGovernment and Public Sector SoftwareHardware and NetworkingHealthcare SoftwareIoT and Embedded Systems SoftwareIT Services and CybersecurityManufacturing SoftwareMetaverse, AR/VR and Other Emerging PlatformsQuantum Computing SoftwareReal Estate and PropTech SoftwareRetail and Ecommerce SoftwareSecurity and Identity SoftwareBiotechnology and PharmaceuticalsDigital Health and TelemedicineHospitals, Clinics and Outpatient CareMedical Devices and Diagnostic EquipmentMedical Testing and Clinical LaboratoriesMental Health and Rehabilitation ServicesPharma Distribution and CRO ServicesBanking and LendingCapital Markets and CryptocurrencyCryptocurrency and Blockchain ServicesFinancial Services PlatformsInsurance and InsurTechInvestment Management and WealthTechVenture Capital and Private EquityElectric Power and Grid ManagementNuclear and Advanced GenerationOil and Gas Exploration, Production and ServicesRenewable Energy and Clean TechSustainability Tech and Environmental ConsultingWater, Waste and Environmental Management3D Printing and Advanced ManufacturingBuilding Materials and ChemicalsConsumer Goods and AppliancesElectronics and Computer EquipmentFood, Beverage and Tobacco ProductionIndustrial Machinery and EquipmentMining, Metals and Natural ResourcesArchitecture, Urban Planning and Green BuildingCommercial Real Estate Development and LeasingConstruction and Civil Engineering ServicesProperty and Facility ManagementResidential Real Estate Development and BrokerageSpecialty Construction ProductsAutomotive Service and Collision RepairBrick-and-Mortar RetailMedia and Entertainment RetailOnline Commerce and MarketplacesRetail TechnologySpecialty Auctions and CollectiblesWholesale and DistributionAutonomous Vehicles and Drone DeliveryCar and Truck RentalFreight and CargoLogistics TechnologyPassenger Transit and MobilityWarehousing, Fulfillment and 3PL ServicesAccounting, Audit and Financial AdvisoryAdvertising, Marketing and Multimedia DesignDefense and Government ServicesFacilities Management and Commercial CleaningHuman Resources, Staffing and RecruitmentLegal Services and Regulatory ComplianceManagement Consulting and Strategy ConsultingTranslation, Document and Information ManagementCorporate Training and Learning and DevelopmentE-Learning Platforms and EdTechK-12 and Higher Education InstitutionsTest Prep, Tutoring and After-School ServicesVocational Training and Certification ProgramsDigital Publishing and Streaming PlatformsFilm, Television and BroadcastingGaming, Esports and Interactive EntertainmentLive Events, Experiences and Ticketed AttractionsMuseums, Art Galleries and Cultural PreservationMusic, Audio and Podcast ServicesSports and RecreationFood and Beverage ServicesHospitality and LodgingTravel Agencies and Leisure ServicesFuneral Homes and Related ServicesHome ServicesPersonal Care and WellnessVeterinary Care and Pet ServicesAgriTech and Precision FarmingAquaculture and FisheriesCrop Farming and Livestock ProductionFarming Equipment and SuppliesForestry, Logging and Wood ProductsMining and ExtractionAviation and Aerospace Component ManufacturingAutomotive and Rental RetailCommercial Space InnovationDefense Systems and Marine ManufacturingMotor Vehicle and Parts ManufacturingGovernment Administration and Municipal ServicesNGOs, Charities and Community OrganizationsPublic Healthcare and Social ServicesPublic/Private Research Institutions and Educational FoundationsStudent Organizations and Campus ServicesExample
{ "filters": { "company_ai_industry": { "include": [ "Finance and Insurance" ], "exclude": [ "Banking and Lending" ] } } }company_foundedobjectoptionalAn inclusive numeric range (
min/max, either optional), used by the People Search company founded-year and headcount filters.Field Type Description minnumber Lower bound (inclusive). Optional. maxnumber Upper bound (inclusive). Must be >= min. Optional. Example
{ "filters": { "company_founded": { "min": 2015, "max": 2023 } } }company_headcount_customobjectoptionalAn inclusive numeric range (
min/max, either optional), used by the People Search company founded-year and headcount filters.Field Type Description minnumber Lower bound (inclusive). Optional. maxnumber Upper bound (inclusive). Must be >= min. Optional. Example
{ "filters": { "company_headcount_custom": { "min": 50, "max": 1000 } } }company_naicsobjectoptionalInclude or exclude a list of numeric values, used by the People Search
company_naicsfilter.Field Type Description includenumber[] Match numeric values in this list - any single value qualifies. Optional - provide include and/or exclude. excludenumber[] Reject numeric values in this list. 0-500 items. Example
{ "filters": { "company_naics": { "include": [ 541511, 541512 ] } } }company_locationobjectoptionalCompany location filter on unified location strings plus
headquarters_only, shared bycompany_locationin People Search and Company Search.Field Type Description includestring[] Match these locations (any of). Unified strings like "United States", "Texas, United States", "San Francisco, California, United States" - or a region like "EMEA", "APAC", "Europe", "Latin America", which expands to its member countries (full list with member countries: GET /v2/enums/regions). Max 100 items, each 2-200 chars. If none of the values resolve to a known location, the request fails with 400. excludestring[] Reject these locations (same unified-string format). Max 100 items, each 2-200 chars. Values that do not resolve are skipped. headquarters_onlyboolean When true, match the company headquarters location only. When false (default), any office location we have resolved counts, headquarters included: includes widen (a company with an office there matches) and excludes tighten symmetrically (a company with an office there is rejected). default: false. Example
{ "filters": { "company_location": { "include": [ "San Francisco, California, United States" ], "headquarters_only": true } } }company_technologiesobjectoptionalFilter on technologies detected on the company website, by suggest id, shared by
company_technologiesin People Search and Company Search.Field Type Description includestring[] Technology ids to match. match_mode: ANY(default): a company using any of them qualifies;ALL: it must use every one. Max 500.Example:
["3421"]excludestring[] Reject companies using any of these technology ids. Max 500. match_modeenum How includecombines:ANY(default) - at least one;ALL- every one, on the same company.Allowed values:
ANYALLExample
{ "filters": { "company_technologies": { "include": [ "3421" ] } } }company_technology_categoriesobjectoptionalFilter on technology categories, by suggest id, shared by
company_technology_categoriesin People Search and Company Search.Field Type Description includestring[] Category ids to match (any of). Max 200. Example:
["1"]excludestring[] Reject companies using any technology in these category ids. Max 200. Example
{ "filters": { "company_technology_categories": { "include": [ "1" ] } } }contact_detailsobjectoptionalFilter for People Search on contact data: email and phone status, and whether your workspace already revealed them.
Child attributes
emailobjectoptionalEmail part of the People Search
contact_detailsfilter: the email status to match and whether your workspace revealed it.Field Type Description statusenum[] Contact-level email status (best stored email; valid wins). Match-any: valid (>=1 valid email, or an email your workspace entered for the person), invalid, accept_all, not_found (no stored email and none entered by your workspace). Allowed values:
validinvalidaccept_allnot_foundrevealedboolean true = only contacts whose email your workspace already revealed; false = only those NOT revealed. Requires an authenticated workspace. phoneobjectoptionalPhone part of the People Search
contact_detailsfilter: the phone status to match and whether your workspace revealed it.Field Type Description statusenum[] Contact-level phone status from our lookup store. Match-any: found (number on file), not_found (looked up, none), unknown (never looked up). Allowed values:
foundnot_foundunknownrevealedboolean true = only contacts whose phone your workspace already revealed; false = only those NOT revealed. Requires an authenticated workspace.
Example
{ "filters": { "contact_details": { "email": { "status": [ "valid", "accept_all" ], "revealed": false }, "phone": { "status": [ "found" ] } } } }listsobjectoptionalFilter for People Search on your workspace's saved people: list membership, saved or not, and when they were saved.
Child attributes
includestring[]optionalOnly contacts your workspace saved into these list ids. Max 100 ids, each 1-64 chars.
excludestring[]optionalHide contacts your workspace saved into these list ids. Max 1000 ids, each 1-64 chars.
savedenumoptionalany = only contacts your workspace saved, in a list or not; none = only contacts your workspace has not saved; without_list = only contacts your workspace saved but did not file into any list.
Allowed values:
anynonewithout_listsaved_atobjectoptionalAn inclusive date range (ISO 8601
from/to) for when a person was saved, used by the People Searchlists.saved_atfilter.Field Type Description fromstring Saved on/after this date (ISO 8601). Optional. tostring Saved on/before this date (ISO 8601). Optional.
Example
{ "filters": { "person_job_title": { "include": [ "Product Marketing Manager" ] }, "lists": { "saved": "none" } } }duplicatesobjectoptionalFilter for People Search that hides people your workspace already exported through POST /v2/people/export.
Field Type Description exclude_exportedboolean true = hide people your workspace already exported through POST /v2/people/export. Exclude-only: it removes rows and never counts as an include condition. Requires an authenticated workspace. Example
{ "filters": { "duplicates": { "exclude_exported": true } } }max_person_per_companyintegeroptionalmin: 1max: 100Cap the number of people returned per company across the whole result set (1-100). A person is counted against the company of the position that matched your company filters, or their current/primary position when no company filter is set. Of the colleagues competing for a company slot, one we hold a valid email for is kept, and your sort decides between them (and picks the representative outright when none of them has one). Results stay in your sort order either way. For result sets above 25000 matches the representative is simply whoever leads your sort, and total_count is a rounded PRE-cap estimate (pagination.total_is_estimate=true) - an upper bound, so an export of that selection returns fewer people. At or below it both are exact.
Example
{ "filters": { "person_job_title": { "include": [ "Product Marketing Manager" ] }, "max_person_per_company": 2 } }
Responses
For error handling see Errors. Response objects are described in Person object and Company object.
