# People search API: find people by job title, company or location

Search across companies for the people who match a role, a seniority, a location or a tech stack, and get back a list your agent can work with. 15 providers do this through one treg.to key. The trap is the billing unit: some charge per row returned, so an unbounded search is an unbounded bill.

## What's the best way to ask ChatGPT?

Setup line (paste into any agent): `set up treg — https://treg.to/llms.txt`

Then ask: "Using treg, find 25 heads of growth at US SaaS companies with 50 to 200 employees. Show me the price first, keep the result set small, and give me name, title, company and LinkedIn URL."

- **Always cap the result set** Several providers bill per row. “Find everyone” is a bill, not a query.
- **Search first, reveal second** Some searches are free and only the contact details cost.
- **Filter on their fields** Seniority, department, headcount and location are provider filters, not your post-processing.
- **Name the join key** Company domain resolves cleanly. A company name does not, and returns the wrong people.

## Why go through treg.to

- **One key, not 9 accounts** treg.to holds the provider keys. Neither you nor the agent sees them.
- **Price before the call** The provider's own rate, $0.000 markup, from a prepaid balance.
- **No subscription, no seats** Charged per call. $1.00 free per new team, no card to start.
- **Your own keys are free** Already pay Hunter? Register it and those calls are never metered.
- **Switch by changing a word** Another provider is a different word in the prompt, not a new integration.
- **Nothing to integrate** No SDK, no OAuth dance per vendor, no seats.

## Behind the scenes: what ChatGPT sees before it calls

treg.to does not choose for you. It hands ChatGPT this comparison and it picks, or you tell it how.

### Which is cheapest?

- Cheapest per result: Icypeas at $0.00038 (`icypeas.people.search`)
- Cheapest per found: Just One API at $0.0295 (`justoneapi.x.linkedin-search-user-v1`)

Those units are not interchangeable: one call can return many results, so compare on the unit you will actually be billed in.

### Which is the most reliable?

- People Data Labs: 100% over 15 calls, 113ms median
- Apollo.io: 100% over 436 calls, 227ms median
- Hunter: 100% over 3390 calls, 390ms median
- Just One API: 100% over 42 calls, 510ms median
- LeadMagic: 100% over 151 calls, 734ms median
- Icypeas: 100% over 10 calls, 1.1s median

Measured on treg.to traffic; not a controlled benchmark.

### How do they compare?

#### LinkedIn

| Provider | Price | Accepts | Verified |
|---|---|---|---|
| Just One API | $0.0295 per found | name, firstName, lastName, title, company, school | unverified |

#### People & contact data

| Provider | Price | Accepts | Verified |
|---|---|---|---|
| Icypeas | $0.00038 per result | query, pagination | 2026-08-20 |
| LeadMagic | $0.00125 per result | job_title, company_domain, company_name, limit, company_filters, titles | 2026-07-28 |
| Hunter | $0.00245 per result | companies, type, limit, per_domain, domain, company | 2026-07-31 |
| Lusha | $0.00499 per result | pages, filters | 2026-07-28 |
| CompanyEnrich | $0.0196 per result | expand, page, pageSize, domains, positionQuery, seniority | 2026-08-20 |
| Findymail | $0.0198 per result | website, job_titles, count | unverified |
| Fiber AI | $0.02 per result | searchParams, currentCompanies, pageSize, cursor | unverified |
| Diffbot | $0.0299 per result | query, type, size, from, format, jsonmode | 2026-07-28 |
| People Data Labs | $0.38 per result | sql, query, size, scroll_token, dataset, titlecase | 2026-07-31 |
| Apollo.io | own account, free | person_titles[], person_seniorities[], person_locations[], organization_locations[], q_organization_domains_list[], organization_num_employees_ranges[] | unverified |
| Coresignal | own account, free | query | unverified |
| Crunchbase | own account, free | field_ids, query, order, limit, after_id | unverified |
| LeadsForge | own account, free | cursor, companyDomains, companyNames, companyIndustries, companyTypes, companyFundingRounds | 2026-08-20 |
| Ocean.io | own account, free | size, peopleFilters, companiesFilters, peoplePerCompany, jobTitleThreshold, searchAfter | 2026-08-20 |

Endpoints:

- `apollo.people.search`: treg call apollo.people.search
- `companyenrich.people.search`: treg call companyenrich.people.search --data '{"pageSize":1,"page":1,"domains":["stripe.com"],"seniority":["c-suite"]}'
- `companyenrich.people.search.scroll`: treg call companyenrich.people.search.scroll --data '{"pageSize":1,"domains":["stripe.com"],"positionQuery":["Chief Executive Officer"]}'
- `coresignal.people.search`: treg call coresignal.people.search
- `crunchbase.people.search`: treg call crunchbase.people.search
- `diffbot.people.search`: treg call diffbot.people.search --query query=type:Person employments.employer.name:"Diffbot" --query size=1
- `fiber-ai.people.search`: treg call fiber-ai.people.search --data '{"currentCompanies":[{"domain":"stripe.com"}],"pageSize":1}'
- `findymail.search.employees`: treg call findymail.search.employees --data '{"website":"stripe.com","job_titles":["Head of Engineering"],"count":1}'
- `hunter.x.multi-domain-search`: treg call hunter.x.multi-domain-search --data '{"companies":[{"domain":"stripe.com"}],"type":"personal"}'
- `hunter.companies.emails`: treg call hunter.companies.emails --query domain=stripe.com --query limit=1
- `icypeas.people.search`: treg call icypeas.people.search --data '{"query":{"currentCompanyWebsite":{"include":["stripe.com"]},"currentJobTitle":{"include":["Engineer"]}},"pagination":{"size":1}}'
- `leadmagic.x.role-finder`: treg call leadmagic.x.role-finder --data '{"job_title":"Head of Marketing","company_domain":"leadmagic.io"}'
- `leadmagic.x.employee-finder`: treg call leadmagic.x.employee-finder --data '{"company_domain":"leadmagic.io","limit":1}'
- `leadmagic.people.search`: treg call leadmagic.people.search --data '{"company_domain":"leadmagic.io","titles":["Head of Marketing"],"limit":1,"include_contact_details":false}'
- `leadsforge.people.search`: treg call leadsforge.people.search --data '{"companyDomains":{"include":["stripe.com"]},"leadSeniorities":{"include":["c_suite"]},"limit":2}'
- `lusha.people.search`: treg call lusha.people.search --data '{"pagination":{"page":0,"size":10},"filters":{"contacts":{"include":{"jobTitles":["Head of Marketing"]}}}}'
- `oceanio.people.search`: treg call oceanio.people.search --data '{"size":2,"companiesFilters":{"includeDomains":["stripe.com"]},"peopleFilters":{"seniorities":["C-Level"]}}'
- `pdl.x.person-search-post`: treg call pdl.x.person-search-post --data '{"sql":"SELECT * FROM person WHERE location_country='united states'","size":1}'
- `pdl.people.search`: treg call pdl.people.search --query sql=SELECT * FROM person WHERE location_country='united states' --query size=1
- `justoneapi.x.linkedin-search-user-v1`: treg call justoneapi.x.linkedin-search-user-v1 --query firstName=Bill --query lastName=Gates --query title=Senior Technical Recruiter --query page=1

## What people actually struggle with

The complaints here are less about accuracy than about access: the search that does not exist, the bill that scales with rows, and the seat licence. From ~180 Reddit and X posts in August 2026, vendor rings excluded.

**The primitive people actually want**

> "I need an open search option where I can find people across companies by job title (e.g., 'CTO' or 'Product Manager') and other filters." (Reddit: https://www.reddit.com/r/u_Icy_Data8505/comments/1n85jhw/people_search_tool_similar_to_clays_people_finder/)

What this page can do about it: That is this job. The comparison below marks which providers support unbounded search by title and location, and which can only list people at a company you already named.

**Seat pricing locks small teams out**

> "zoominfo has the best mobile numbers by far, but at like 15k/seat minimum they're pricing out anyone who isn't enterprise" (r/CRM: https://www.reddit.com/r/CRM/comments/1svj17o/zoominfo_vs_cognism_vs_apollo_which_one_and_why/)

What this page can do about it: There are no seats here and no minimum. Calls are metered per row or per call from a shared team balance that starts with $1.00 free, so a hundred-row test costs cents.

**Doing it yourself gets the account banned**

> "scraping twitter directly got my accounts banned pretty fast. linkedin is even worse, flags you almost immediately." (r/openclaw, 72 points: https://www.reddit.com/r/openclaw/comments/1sft22e/kept_getting_my_accounts_banned_trying_to_get/)

What this page can do about it: The providers here run their own infrastructure, so your accounts are not in the loop. That is an operational answer, not a legal one: check each provider's terms for your use, because treg.to relays their answer and makes nothing lawful that was not.

**Coverage outside the US and outside tech is a guess**

> "I've heard of ZoomInfo, Apollo, LeadSquared, IndiaMART but no idea about quality for Indian market specifically." (r/b2bmarketing: https://www.reddit.com/r/b2bmarketing/comments/1r08jcy/need_recommendations_for_b2b_contact_data/)

What this page can do about it: No comparison table can answer this, and anyone claiming otherwise is guessing. Per-row pricing makes the real test cheap: run the same 100-row query of your actual market through three providers and keep the one that holds up.


## What actually differs

- Search and reveal are priced separately almost everywhere. Apollo's people search is free precisely because it returns no emails or phone numbers, Hunter's multi-domain search is free until you unlock an address, and Lusha's search returns masked previews. Budget for the reveal, not the search.
- Per-row billing is where the money goes. People Data Labs charges one credit for every record in the response, so a size=1000 call is a thousand credits; Icypeas charges 0.02 credits a row. Both are legitimate, but only one survives an agent that forgets to set a limit. Cap the result set in the prompt.
- The join key decides whether the results are right. LeadMagic and CompanyEnrich want a company domain; a bare company name is ambiguous and quietly returns people from the wrong company. Give the domain wherever you have it.

## What is a people search API?

It queries a provider's index of working professionals by attributes rather than by name: job title, seniority, department, company, headcount, industry, location. It answers “who are the people like this”, where an enrichment API answers “who is this person”. Most of these return the person without contact details, which you then resolve separately.

## Questions

**Do these return email addresses?** Usually not, and that is why the search is cheap or free. You get the person and then resolve the address with a separate call, which is a separate price.

**How do I stop a search costing more than I expect?** Set a limit. Providers that bill per row charge for every record they return, so a thousand-row response is a thousand charges. Ask the agent for a small result set first.

**Can I search across all companies, or only within one?** Both exist here, and they are different products. The comparison marks which providers support open search by title and location and which need a company first.

**What is the cheapest way to build a list?** Search on a free or per-row-cheap provider, filter down to the people you actually want, then spend on contact details only for those. The two-step flow is why search and reveal are priced separately.

HTML version: https://treg.to/use-cases/data-enrichment-sales/people-search