Find People
Describe the person you want, get back matching professional profiles.
- Tool
find_people- Cost
- 0.5 credits per profile found
- Category
- Source Leads
- Required input
- None — pass at least one filter
- Returns
- Matching professional profiles
What it does
- Finds professional profiles based on the filters you pass — role, seniority, headcount, location, tenure, education and more.
- No single parameter is required, but a call with no filters has nothing to search on — pass at least one.
- Filters stack. Combining role, headcount and location narrows a broad search into a usable list.
- Cost scales with results — 0.5 credits per profile returned. A default page of 25 costs 12.5 credits; a full page of 100 costs 50.
It returns profiles. It does not return emails or phone numbers — chain find_work_email for those.
Use cases
- Build a prospect list against an ICP. Role, seniority, company size and geography in one call produces the people layer of a target list, not just the accounts.
- Work the job-change signal at scale.
recently_changed_jobsplus a title filter returns buyers in their first months, when the stack is still up for grabs. - Find champions who already know you. Filter on past company to surface people who used your product at their last employer.
- Map a buying committee across accounts. Pass several company domains with the titles that sign, and get every relevant stakeholder in one pass.
- Source on skills and credentials. Skills, certifications and education filters find technical audiences that title filters alone miss.
How to use it
Connect the MCP server
Follow the setup guide for your client. Browser sign-in, no API key.
Start with a narrow search
Find VP Sales and Head of Sales at Privately Held SaaS companies with
51-200 employees in the United States. Limit 25.Tighten the filters
Same search, but only people who have been in the role at least 1 year
and have a verified business email.Page through the rest
Get the next page using the cursor from that result. Stop after 3 pages
and tell me how many credits you used.Enrich the ones you want
For the 10 best matches, find work emails and verify them.Example prompts
| Ask your client | What you get back |
|---|---|
| ”Find c_suite people at fintech companies with 201-500 employees” | Profiles matching seniority, industry and headcount |
| ”Find RevOps directors in Germany who changed jobs recently” | Role, country and recently_changed_jobs combined |
| ”Find engineers with Kubernetes skills who studied at MIT” | Skills plus education filters |
| ”Find people at stripe.com and shopify.com with VP titles” | Multi-company search by domain |
| ”Find Sales Operations people in Berlin who started their current role after 2026-01-01” | current_sub_departments, person_cities and current_role_started_after |
| ”Find ex-HubSpot directors now in Marketing at 501-1000 employee companies” | past_company_domains with past_seniority_levels and current-role filters |
| ”Find people holding an AWS Certified Solutions Architect certification in the United States” | certifications plus person_countries |
| ”Find CTOs at stripe.com” | current_company_domains plus current_titles — set limit low for a single account |
Best prompting practices
- Always pass a filter. A search with nothing to match on still bills 0.5 credits for every profile it returns, and returns noise.
- Use domains, not company names.
current_company_domainsis exact. Names are easy to get wrong. - Use the exact enum strings.
c_suiteandvpare the accepted seniority values — “C-level” and “Vice President” are not. - Paste the docs URL into the prompt. “Parameter reference:
https://docs.syncgtm.com/mcp_server/tools/find_people— read it first and use the exact parameter names and value formats.” This tool has more than sixty filters, and a client left to guess inventsjob_titleandlocation. - Reach for the normalized fields when raw titles are messy.
current_departmentsandcurrent_sub_departmentsare cleaned taxonomies, so they hold wherecurrent_titlesmisses a variant.normalized_titlesdoes the same job at title level. - State the exclusions.
exclude_current_titlesis free and applies before anything is billed — dropping the near-miss titles a broad list pulls in is cheaper than paying 0.5 credits each to read them. - Dates are
YYYY-MM-DD.current_role_started_after,past_role_started_afterand their_beforepairs will not parse “since January”. person_citiesis exact,person_locationsis fuzzy. Use the fuzzy one when you are unsure how a metro is spelled, the exact one when you are not.- Set
limitdeliberately.limitis the cost dial — every profile returned is 0.5 credits. Ask for the number you will actually work, not the maximum. - Cap the paging. “Stop after 3 pages” prevents a broad search from walking the whole result set. Three pages of 100 is 300 profiles and 150 credits.
- Ask for the rows as a table. Name, title, company, domain, location, LinkedIn URL. Left to itself your client summarizes the list and you lose the columns you paid for.
- Search first, enrich second. Filter down to the profiles you want before spending credits on emails or phones. “No enrichment yet” belongs in the same prompt.
Output
{
"profiles": [
{
"name": "Jane Doe",
"title": "VP Sales",
"company": "Stripe",
"location": "San Francisco, United States",
"linkedin_url": "https://linkedin.com/in/janedoe"
}
],
"next_cursor": "eyJwYWdlIjoyfQ"
}Credits and limits
0.5 credits per profile returned. limit accepts 1–100 and defaults to 25, so a default call costs 12.5 credits and a full page costs 50. Each extra page fetched with cursor bills the same way.
Run check_credits (free) before a long paging run.
Broad filter sets return large, loose result sets — and you pay 0.5 credits for
every loose match. Test a filter combination with limit: 25 before you page
through it.
Parameters
Nothing is strictly required. Pass at least one filter from the families below — they are listed in the order the tool accepts them.
Filters combine as AND across families and any-of within a single array filter. current_titles: ["CTO", "VP Engineering"] matches a profile holding either title; adding person_countries narrows that set rather than widening it.
Person
| Parameter | Type | Notes |
|---|---|---|
first_names | array | Exact first name |
last_names | array | Exact last name |
full_names | array | Exact full name |
headline_keywords | array | Substring match on the profile headline |
summary_keywords | array | Substring match on the profile summary / about section |
languages | array | Languages listed on the profile |
Role
| Parameter | Type | Notes |
|---|---|---|
current_titles | array | Fuzzy match, any-of |
exclude_current_titles | array | Drops profiles holding these titles |
past_titles | array | Titles held in a previous role |
normalized_titles | array | Cleaned, standardised title, e.g. Chief Revenue Officer — use when raw titles are messy |
seniority_levels | array | c_suite, vp, director, senior |
current_functions | array | Engineering, Sales, Marketing |
current_departments | array | Normalized department of the current role |
current_sub_departments | array | Normalized sub-department, e.g. Sales Operations, Demand Generation |
employment_types | array | Full-time, Part-time, Contract, Internship |
current_role_started_after | string | YYYY-MM-DD — started the current role on or after |
current_role_started_before | string | YYYY-MM-DD — started the current role on or before |
Company
| Parameter | Type | Notes |
|---|---|---|
current_company_names | array | Exact match |
current_company_domains | array | More reliable than names |
current_company_types | array | Public Company, Privately Held |
current_company_countries | array | Company country, not person country |
current_company_locations | array | Fuzzy match on the company’s HQ location text |
industries | array | Industry of the current company |
linkedin_industries | array | LinkedIn’s own industry taxonomy — a second, differently-worded cut of the same company |
Company size
| Parameter | Type | Notes |
|---|---|---|
current_company_headcount_ranges | array | 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ |
min_current_company_headcount | number | Use instead of ranges for a custom floor |
max_current_company_headcount | number | Use instead of ranges for a custom ceiling |
Past experience
| Parameter | Type | Notes |
|---|---|---|
past_company_names | array | Worked there previously |
past_company_domains | array | Worked there previously — the alumni and champion play |
past_seniority_levels | array | Seniority held in the previous role |
past_functions | array | Function of the previous role |
past_industries | array | Industry of a previous employer |
past_employment_types | array | Full-time, Contract, Internship |
past_role_started_after | string | YYYY-MM-DD |
past_role_started_before | string | YYYY-MM-DD |
Location
| Parameter | Type | Notes |
|---|---|---|
person_countries | array | Exact match |
person_locations | array | Fuzzy match — cities, regions |
person_cities | array | Exact city |
person_states | array | Exact state or region |
person_continents | array | Europe, North America, Asia, South America, Africa, Oceania |
Tenure and experience
| Parameter | Type | Notes |
|---|---|---|
min_years_at_current_company | number | Time in the current seat |
max_years_at_current_company | number | Time in the current seat |
min_years_experience | number | Total career experience |
max_years_experience | number | Total career experience |
Education
| Parameter | Type | Notes |
|---|---|---|
schools | array | Fuzzy match |
degrees | array | Fuzzy match |
fields_of_study | array | Fuzzy match |
school_countries | array | Country the school sits in |
Skills and credentials
| Parameter | Type | Notes |
|---|---|---|
skills | array | Any-of — a profile matching one skill matches |
certifications | array | Certification names, e.g. AWS Certified Solutions Architect |
certification_issuers | array | Issuing organization, e.g. Amazon Web Services, Salesforce |
Network
| Parameter | Type | Notes |
|---|---|---|
min_followers | number | LinkedIn follower count |
max_followers | number | LinkedIn follower count |
min_connections | number | LinkedIn connection count |
max_connections | number | LinkedIn connection count |
Signals
| Parameter | Type | Notes |
|---|---|---|
recently_changed_jobs | boolean | Only people who moved recently |
has_verified_business_email | boolean | Only profiles with a verified business email |
open_to | array | CAREER_INTEREST, HIRING_MANAGER, VOLUNTEERING |
Paging
| Parameter | Type | Notes |
|---|---|---|
limit | number | 1–100, default 25 |
cursor | string | Pass the next_cursor from the previous call |
Filter reference
Several filters only match values from a fixed list. A near-miss does not error — it silently matches nothing, which reads like “no profiles found”. These are the full accepted value lists, hosted as JSON.
| Filter | Accepted values | Shape |
|---|---|---|
current_titles, past_titles, normalized_titles | linkedin_titles.json | Object keyed by title → { id } (~2.1 MB) |
skills | skills.json | Array of strings (~840 KB) |
person_locations, person_cities, person_states, person_countries | static-region-filter-values.json | Object keyed by region → { id } (~4.3 MB) |
linkedin_industries | static-linkedin-industries.json | Array of strings (~15 KB) |
The title and region files are keyed by name and carry LinkedIn’s internal id as the value. Pass the key, not the id — person_locations: ["Greater Boston"], not ["90000007"].
The title and region files are large — do not paste them into a prompt. Point your client at the URL and ask it to pull only what it needs: “fetch https://dyyboia6z5eq9.cloudfront.net/mcp/filters/find_people/linkedin_titles.json and list every title containing ‘Revenue Operations’.” It resolves the exact strings once, then reuses them for every call.
To search one locally:
curl -s https://dyyboia6z5eq9.cloudfront.net/mcp/filters/find_people/linkedin_titles.json \
| jq -r 'keys[]' | grep -i "revenue operations"current_titles and past_titles are fuzzy, so a close string still matches. normalized_titles, skills and the region filters are exact — use the lists above for those.
Related tools
| Tool | Use it instead when |
|---|---|
find_companies | You want the accounts first, people second |
newly_hired_executives | You want recent hires at a company, with their previous role |
enrich_person | You already have an identifier and want one contact record |
Next steps
- All MCP tools — the full catalogue with credit costs
- MCP use cases — search-to-outreach workflows
- AI for Sales Reps — workflows that chain this tool into a list build
Keep learning
Two courses take these tools past the reference page — clustered by GTM job, then chained into workflows.