curl --request GET \
--url https://api.parallellabs.app/api/v0/people \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.parallellabs.app/api/v0/people"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.parallellabs.app/api/v0/people', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.parallellabs.app/api/v0/people",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.parallellabs.app/api/v0/people"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.parallellabs.app/api/v0/people")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/people")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "<string>",
"displayName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"contactEmails": [
"<string>"
],
"phone": "<string>",
"linkedinUrl": "<string>",
"companyName": "<string>",
"jobTitle": "<string>",
"website": "<string>",
"photoUrl": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"companyIndustry": "<string>",
"companySize": "<string>",
"companyDescription": "<string>",
"sourceCounts": {},
"touchpointCount": 123,
"needsReview": true,
"firstSeenDate": "<string>",
"lastSeenDate": "<string>",
"lastEngagementDate": "<string>",
"lastEngagementType": "<string>",
"identifiers": [
{
"type": "<string>",
"value": "<string>",
"tier": "<string>",
"disabled": true,
"linkCount": 123
}
]
}
],
"total": 123,
"page": 123,
"pageSize": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}List resolved people for the company.
Each person unifies every touchpoint across smart lists, sequences,
marketing campaigns, agent conversations, and the inbox. Server-side
paginated; search matches names, emails, companies, and any normalized
identifier (so “(415) 555-1234” finds a person stored as “+14155551234”).
curl --request GET \
--url https://api.parallellabs.app/api/v0/people \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.parallellabs.app/api/v0/people"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.parallellabs.app/api/v0/people', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.parallellabs.app/api/v0/people",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.parallellabs.app/api/v0/people"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.parallellabs.app/api/v0/people")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/people")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "<string>",
"displayName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"contactEmails": [
"<string>"
],
"phone": "<string>",
"linkedinUrl": "<string>",
"companyName": "<string>",
"jobTitle": "<string>",
"website": "<string>",
"photoUrl": "<string>",
"city": "<string>",
"state": "<string>",
"country": "<string>",
"companyIndustry": "<string>",
"companySize": "<string>",
"companyDescription": "<string>",
"sourceCounts": {},
"touchpointCount": 123,
"needsReview": true,
"firstSeenDate": "<string>",
"lastSeenDate": "<string>",
"lastEngagementDate": "<string>",
"lastEngagementType": "<string>",
"identifiers": [
{
"type": "<string>",
"value": "<string>",
"tier": "<string>",
"disabled": true,
"linkCount": 123
}
]
}
],
"total": 123,
"page": 123,
"pageSize": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.
Query Parameters
Company ID to scope the query. Required for PAK/API key auth; optional for JWT auth.
1-indexed page number
Results per page. Default 50, max 200.
Search name, email, company, or any normalized identifier
Only people with at least one touchpoint of this source type
Filter to people whose identity merge needs confirmation
engagement, name Filter by presence of qualifying engagement
Count every matching person. Pass false to skip the count when paging through a total you already have; total is then null.

