Search people by title, company, skills or location
pdl.people.searchSearch PDL people by title, company, seniority, skills or location — pays per record
- Price
- $0.28/resultAt provider cost
- Success rate
- 92.7%Last 30 days · 78 calls
- Latency p50
- 223 msp95 5.3 s
- Last verified
- Jul 31, 2026Verified working
GEThttps://toolswitch.dev/v1/tools/pdl.people.search?sql=SELECT+*+FROM+person+WHERE+location_country%3D%27united+states%27&size=1Preview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
exactly one of sql | query. GET caps `size` at 100, POST at 1000 — the only real difference between the two methods. Always set an explicit small size while iterating: you pay per record, so a size=100 call is a 100-credit call. Rate limit 10 req/min
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
sql | string | Optional | SQL WHERE clause over the Person schema, e.g. "SELECT * FROM person WHERE job_title_role='engineering' AND location_country='united states'" | SELECT * FROM person WHERE location_country='united states' |
size | integer | Optional | records to return, 1-100, default 1 — THIS IS THE PRICE DIAL: you pay 1 credit per record | 1 |
query | string | Optional | Elasticsearch JSON query — the alternative to sql, more expressive | |
pretty | boolean | Optional | ||
dataset | string | Optional | restrict to a licensed dataset, e.g. resume, email, phone | |
titlecase | boolean | Optional | ||
scroll_token | string | Optional | cursor from the previous response, for paging past 100 | |
- Query parameters
sqlstringOptionalSQL WHERE clause over the Person schema, e.g. "SELECT * FROM person WHERE job_title_role='engineering' AND location_country='united states'"
Example:
SELECT * FROM person WHERE location_country='united states'sizeintegerOptionalrecords to return, 1-100, default 1 — THIS IS THE PRICE DIAL: you pay 1 credit per record
Example:
1querystringOptionalElasticsearch JSON query — the alternative to sql, more expressive
prettybooleanOptionaldatasetstringOptionalrestrict to a licensed dataset, e.g. resume, email, phone
titlecasebooleanOptionalscroll_tokenstringOptionalcursor from the previous response, for paging past 100
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X GET 'https://toolswitch.dev/v1/tools/pdl.people.search?sql=SELECT+*+FROM+person+WHERE+location_country%3D%27united+states%27&size=1' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"GET",
"https://toolswitch.dev/v1/tools/pdl.people.search?sql=SELECT+*+FROM+person+WHERE+location_country%3D%27united+states%27&size=1",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/pdl.people.search?sql=SELECT+*+FROM+person+WHERE+location_country%3D%27united+states%27&size=1", {
method: "GET",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.28/result, including the service fee.