Search

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.

Every positive filter accepts either a single value or a list of values. A list is OR within its field and AND across fields, so title: ["CEO", "CMO"] with country: ["United States", "Canada"] means (CEO or CMO) in (United States or Canada) — one search instead of one per value, with every match ranked together.

The exclude_* parameters (exclude_company_domain, exclude_country, exclude_state, exclude_industry, exclude_seniority, exclude_employee_range) work the other way round: each one also takes a list, but 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 <a href="https://moltsets.com/fair-use-policy-search/" target="_blank" rel="noopener">Fair Use Policy for Search</a>.

Outcomes: A lookup that finds nothing is not an error. It returns HTTP 200 with status: "not_found", empty or null results, and the usual metadata — and costs no tokens, though it still counts as one request against your Fair Use requests limit. Read status, not the HTTP code, to tell a hit from a miss. The API's only 404 is an unknown or retired tool name.

post/search_people

Request

  • Base URL: https://api.moltsets.com/api/v1/tools
  • URL: https://api.moltsets.com/api/v1/tools/search_people
  • Auth: HTTP bearer

Headers

User-Agentstring required

Identifies the calling client. Any non-empty value is accepted — MoltSets does not validate its contents. Requests without this header are rejected with 403 Forbidden (error.code: forbidden).

Request body

querystring

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.

exclude_company_domainstring[]

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. A list can hold up to 100 domains.

exclude_countrystring[]

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.

exclude_statestring[]

States or regions to exclude. People in any listed state are dropped. Accepts the same values as state (full names or abbreviations). Combine with a positive country — for example country: "United States" with exclude_state: ["California"].

exclude_industrystring[]

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.

exclude_senioritystring[]

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.

exclude_employee_rangestring[]

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.

limitinteger

Number of results to return (default: 10, max: 25).

offsetinteger

Number 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.

Example request

{
  "query": "Jane Doe",
  "exclude_company_domain": [
    "acme.com",
    "stripe.com"
  ],
  "exclude_country": [
    "India",
    "Philippines"
  ],
  "exclude_state": [
    "California",
    "New York"
  ],
  "exclude_industry": [
    "Education",
    "Government and Public Administration"
  ],
  "exclude_seniority": [
    "Intern",
    "Entry"
  ],
  "exclude_employee_range": [
    "1-10",
    "11-20"
  ]
}

Response

Success

Changes

No recorded changes to this operation across all 1 revision of this API.