List resolved people for the company.
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>",
"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>"
}
]
}
],
"total": 123,
"page": 123,
"pageSize": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}People
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”).
GET
/
api
/
v0
/
people
List resolved people for the company.
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>",
"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>"
}
]
}
],
"total": 123,
"page": 123,
"pageSize": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
CompanyApiKeyBearerAuth & CompanyId
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
Available options:
list_row, sequence_member, campaign_recipient, agent_conversation, inbox_message, crm_contact Filter to people whose identity merge needs confirmation
Available options:
engagement, name Filter by presence of qualifying engagement

