Search for People
The People Search API lets you search MoltSets’ contact database for people by name, job title, company, industry, country, seniority, or department.
Use title for the job title or role — it matches the title field alone, so it is far more precise than putting a role in query. Use query for the person’s name, or for loose natural-language phrases when you have nothing more specific. To find people at a specific company, use company (company name) or company_domain (website domain) rather than putting the employer in query. Use the exact filters (country, state, city, seniority, industry, department or functional_area, employee_range, revenue_range) to narrow further — employee_range and revenue_range scope to people at companies of that size or revenue without needing a specific company. Combining query with filters gives the most precise matches. Every result comes back ranked, with a higher _score meaning a stronger match.
The exclude_* parameters (exclude_company_domain, exclude_country, exclude_state, exclude_industry, exclude_seniority, exclude_employee_range) work the other way round: each one takes a list and removes matches rather than selecting them. exclude_company_domain is how you suppress companies you already have. Exclusions narrow a search but cannot be the whole search — you still need at least one positive input.
Use this endpoint to:
- Build targeted lead lists for outbound sales
- Identify decision makers at specific target accounts
- Populate outbound sequences with verified contact data
Fair Use Policy: This API is subject to our Fair Use Policy for Search.
Authorizations
Pass your API key as a Bearer token. Keys follow the format ms_XXXXXXXXXXX.
Body
Full-text search across full_name, first_name, last_name, company name, title (~85% filled), and headline (~65% filled) using cross-field matching. Multi-word queries distribute terms across fields — "John Smith" matches first_name: John AND last_name: Smith rather than requiring either field alone to contain the full string. Best for person names, and for loose natural-language phrases when nothing more specific fits. For a job title or role, use the title filter instead: a role placed here is diluted across names and company names and only needs most of its terms to match, so "Account Executive" in query can also return Account Managers. Likewise use seniority for level (VP, Director, C-suite), and company or company_domain for a specific employer. Categorical values like country or seniority belong in their own filter params rather than this field.
"Jane Doe"
Job title filter (~85% filled) — scopes results to people whose job title matches, and the precise way to search by role. The match is analysed rather than literal: a one or two word title requires every word, so "Account Executive" will not return Account Managers. A longer title requires 75% of its words, rounded down — a three or four word title must match all but one, a five or six word title all but two. That allowance is what stops function words breaking a match, so "VP of Sales" still finds "VP, Sales". Extra words in the stored title are always fine: "Account Executive" matches "Senior Account Executive, SMB". Prefer this over putting a role in query. For seniority level use the seniority filter, which is a clean enumerated list, and use title for the role or function itself — the two combine, e.g. title: "Sales" with seniority: "VP". Around 15% of profiles carry no title at all, and those can never match a title filter.
"Account Executive"
Company name filter — scopes results to people whose employer's name matches. Analysed match: every word you provide must appear in the company name, so extra words in the stored name are fine ("Acme" matches "Acme Corporation"). Use this when you have a company name but not its domain; if you have the domain, prefer company_domain, which is more precise.
"MoltSets"
Company domain filter — scopes results to people at the company with this website domain. Full URLs are normalised automatically ("https://www.acme.com/about" → "acme.com"), so there is no need to strip the protocol or path yourself. The most precise way to target a single company — prefer it over company whenever you know the domain.
"moltsets.com"
Exact country name filter (~99% filled — most reliable filter). Must match the stored value exactly. Top values by volume: "United States", "India", "United Kingdom", "Brazil", "Canada", "France", "Mexico", "Australia", "China", "Spain", "Netherlands", "Italy", "Indonesia", "Germany", "Philippines", "Turkey", "South Africa", "Saudi Arabia", "Argentina", "Singapore", "United Arab Emirates", "Colombia", "South Korea", "Malaysia", "Poland", "Belgium", "Switzerland", "Ireland", "Sweden", "Denmark", "Norway", "Austria", "Portugal", "Israel", "New Zealand", "Finland", "Greece", "Hungary", "Romania", "Ukraine". Use the full English country name. "UK" and "HK" also exist in the data as dirty values — prefer "United Kingdom" and "Hong Kong".
"United States"
Exact state or region name filter on the person's location. Must match the stored value exactly — full names with standard capitalisation, not abbreviations ("Texas", not "TX"). Combine with country for precision.
"Texas"
Exact city name filter on the person's location. Must match the stored value exactly, with standard capitalisation. City names repeat across regions, so combine with state and/or country to disambiguate — e.g. city: "Portland", state: "Oregon". Matches only the exact stored city, not its suburbs — for a metro-area search prefer state or country.
"Austin"
Exact seniority level filter (~60% filled). Must match one of the enumerated values exactly, including the space in "C Suite" (not a hyphen).
Intern, Entry, Senior, Manager, Director, VP, Head, C Suite, Owner, Partner Exact current industry filter (~60% filled). These 22 buckets are the only supported values, and must match exactly, including capitalisation and punctuation (e.g. the ampersand in "Marketing & Advertising").
Professional and Business Services, Information Technology, Manufacturing, Retail, Health and Pharmaceuticals, Creative Arts and Entertainment, Construction, Marketing & Advertising, Finance and Banking, Tourism and Hospitality, Non-Profit and Social Services, Food and Beverage, Real Estate, Education, Transportation and Logistics, Media and Publishing, Energy, Government and Public Administration, Automotive, Telecommunications, Agriculture, Utilities Exact department filter (~60% filled). Shares its underlying data with functional_area — use one or the other, not both. Must match one of the enumerated values exactly, including capitalisation and punctuation (e.g. the ampersand in "Medical & Health").
Operations, Sales, Information Technology, Education, Engineering, Finance, Medical & Health, Marketing, Human Resources, Design, Consulting, Legal Exact functional area filter (~60% filled). Shares its underlying data with department — use one or the other, not both.
Operations, Sales, Information Technology, Education, Engineering, Finance, Medical & Health, Marketing, Human Resources, Design, Consulting, Legal Exact employee-count range filter on the person's current employer — finds people at companies of a certain size without needing to name a specific company. These eight numeric bands are the only supported values, and use the same vocabulary as search_companies. Combine with other filters, e.g. seniority: "VP", employee_range: "51-200".
1-10, 11-20, 21-50, 51-200, 201-500, 501-1000, 1001-5000, 5001+ Exact annual revenue range filter on the person's current employer — finds people at companies of a certain revenue without needing to name a specific company. These seven bands are the only supported values, and use the same vocabulary as search_companies. "Above $50M" is a flat catch-all for all revenue over $50M; there is no finer band above it.
Below $500k, $500k - $1M, $1M - $5M, $5M - $10M, $10M - $20M, $20M - $50M, Above $50M Exact NAICS industry code filter on the person's current employer (~50% filled). Works at any level of the hierarchy, from the 2-digit sector ("23" = Construction, "54" = Professional Services) through to the 6-digit national industry ("541120" = Offices of Notaries, "511210" = Software Publishers). Use a short code for broad industry targeting and a longer code for precision. The most standardised industry filter available — prefer it over industry when you need fine-grained targeting.
"541120"
Exact LinkedIn industry label filter on the person's current employer. Uses LinkedIn's own industry vocabulary, which is far finer-grained than the 22 buckets in industry. Must match the stored label exactly, with standard capitalisation — for example "Software Development", "Hospitality", "Legal Services", "Wellness and Fitness Services", "Construction", "Staffing and Recruiting". Use when a niche industry cannot be expressed by the broad industry buckets.
"Software Development"
Company domains to exclude. People at any listed company are dropped from the results — this is the suppression list, so pass the accounts you already have (existing customers, current vendors, your own company) and they never come back. Full URLs are normalised automatically, exactly as with company_domain. Excluded records cost you nothing: they consume no tokens and no fair use records, so excluding here is always cheaper than filtering the results yourself.
Countries to exclude. People in any listed country are dropped. Accepts the same values as country — use it when you want everywhere except a few places.
States or regions to exclude. People in any listed state are dropped. Accepts the same values as state (full names, never abbreviations). Combine with a positive country — for example country: "United States" with exclude_state: ["California"].
Industries to exclude. People whose current industry is any listed value are dropped. Accepts the same values as industry. Around 40% of profiles carry no industry at all, and exclusion only removes profiles that positively carry a listed value — so those profiles still appear.
Seniority levels to exclude. People at any listed level are dropped. Accepts the same values as seniority (note the space in "C Suite"). Same caveat as exclude_industry: profiles with no seniority on record are not excluded.
Employer size bands to exclude. People at companies in any listed band are dropped. Accepts the same values as employee_range — for example ["1-10", "11-20"] to skip very small companies, or ["5001+"] to skip enterprises.
Number of results to return (default: 10, max: 25).
1 <= x <= 25Number of results to skip for pagination (default: 0). Use with limit to page through results — e.g. offset: 10 to get the second page of 10 results.
Response
Success
