person_search
Find people who fit — by role, company and timing — with their contacts. Returns one row per person: name, title, seniority, department, company and its website, LinkedIn, location, the work email at the CURRENT employer, all known work emails, personal emails and phones from professional sources, months in role against their usual tenure, and why they matched. Beyond title and firmographics it filters on timing: started the role in the last N days, alumni of a company who left, in the seat longer than usual, engaged with a company's LinkedIn posts, talks about a topic, writes code in a language, company website runs a technology, fresh funding. Opted-out people are excluded. Each person returned costs one request of the user's quota; an empty page costs nothing — start with a small limit to see the total, then page with next_cursor. This is the way IN from an account or a segment: company_people lists one company's team (admin only), person_signals explains one human, email_intel checks an address you already hold. Emails here are not SMTP-checked — run them through email_intel_bulk before a send. Present the total, then the people with the reason they matched; keep cursors and raw fields for your workflow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | People per page, 1-100. Each person returned costs one request. | |
| cursor | No | next_cursor from the previous page, to continue the same search. | |
| filters | Yes | Filters, combined with AND; values inside one list combine with OR. At least one is required. Who: titles ['vp sales'], levels ['c-level','vp','director','head','manager'], departments ['Sales','Marketing','Engineering and Technical'], decision_makers true, countries ['United States'], states, cities, skills, programming_languages ['Rust'] (from GitHub). Where: industries ['Software Development'], company_size_min / company_size_max, company_countries, technologies ['HubSpot'] (on the company website), company_hiring true, funded_since '2025-06', founded_after 2018, domains ['stripe.com'], companies (LinkedIn slugs), exclude_domains. Timing and intent: new_in_role_days 90, past_companies ['salesforce'] (alumni who left), overdue_only true (in the seat 30%+ longer than their usual tenure), likes_posts_of ['hubspot'], engages_with_topics ['revops']. Your own list: profiles ['https://linkedin.com/in/x', 'jane@acme.com'] — up to 100 LinkedIn URLs or work emails per call, returns exactly those people (working or not) with contacts, each row carries the `input` it came from; anyone not in the data is skipped and costs nothing. | |
| only_with_contacts | No | Skip people without any email or phone. |