Search People Nav
curl --request POST \
--url https://api.linkupapi.com/v2/profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"account_id": "<string>",
"action": "<string>",
"params": {
"sales_nav_url": "<string>",
"keyword": "<string>",
"current_title": "<string>",
"past_title": "<string>",
"seniority_level": [
"<string>"
],
"function": [
"<string>"
],
"years_in_current_position": [
"<string>"
],
"years_at_current_company": [
"<string>"
],
"years_of_experience": [
"<string>"
],
"current_company": [
"<string>"
],
"past_company": [
"<string>"
],
"company_size": "<string>",
"company_type": [
"<string>"
],
"company_headquarters": [
"<string>"
],
"industry": [
"<string>"
],
"first_name": "<string>",
"last_name": "<string>",
"geography": [
"<string>"
],
"region": [
"<string>"
],
"profile_language": [
"<string>"
],
"school": [
"<string>"
],
"relationship": [
"<string>"
],
"connection_of": [
"<string>"
],
"category_interest": [
"<string>"
],
"shared_experiences": true,
"lead_interactions": [
"<string>"
],
"persona": [
"<string>"
],
"group": [
"<string>"
],
"account_list": [
"<string>"
],
"lead_list": [
"<string>"
],
"saved": [
"<string>"
],
"exclude": {},
"offset": 123,
"count": 123
}
}
'import requests
url = "https://api.linkupapi.com/v2/profiles"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"sales_nav_url": "<string>",
"keyword": "<string>",
"current_title": "<string>",
"past_title": "<string>",
"seniority_level": ["<string>"],
"function": ["<string>"],
"years_in_current_position": ["<string>"],
"years_at_current_company": ["<string>"],
"years_of_experience": ["<string>"],
"current_company": ["<string>"],
"past_company": ["<string>"],
"company_size": "<string>",
"company_type": ["<string>"],
"company_headquarters": ["<string>"],
"industry": ["<string>"],
"first_name": "<string>",
"last_name": "<string>",
"geography": ["<string>"],
"region": ["<string>"],
"profile_language": ["<string>"],
"school": ["<string>"],
"relationship": ["<string>"],
"connection_of": ["<string>"],
"category_interest": ["<string>"],
"shared_experiences": True,
"lead_interactions": ["<string>"],
"persona": ["<string>"],
"group": ["<string>"],
"account_list": ["<string>"],
"lead_list": ["<string>"],
"saved": ["<string>"],
"exclude": {},
"offset": 123,
"count": 123
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
action: '<string>',
params: {
sales_nav_url: '<string>',
keyword: '<string>',
current_title: '<string>',
past_title: '<string>',
seniority_level: ['<string>'],
function: ['<string>'],
years_in_current_position: ['<string>'],
years_at_current_company: ['<string>'],
years_of_experience: ['<string>'],
current_company: ['<string>'],
past_company: ['<string>'],
company_size: '<string>',
company_type: ['<string>'],
company_headquarters: ['<string>'],
industry: ['<string>'],
first_name: '<string>',
last_name: '<string>',
geography: ['<string>'],
region: ['<string>'],
profile_language: ['<string>'],
school: ['<string>'],
relationship: ['<string>'],
connection_of: ['<string>'],
category_interest: ['<string>'],
shared_experiences: true,
lead_interactions: ['<string>'],
persona: ['<string>'],
group: ['<string>'],
account_list: ['<string>'],
lead_list: ['<string>'],
saved: ['<string>'],
exclude: {},
offset: 123,
count: 123
}
})
};
fetch('https://api.linkupapi.com/v2/profiles', 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.linkupapi.com/v2/profiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'action' => '<string>',
'params' => [
'sales_nav_url' => '<string>',
'keyword' => '<string>',
'current_title' => '<string>',
'past_title' => '<string>',
'seniority_level' => [
'<string>'
],
'function' => [
'<string>'
],
'years_in_current_position' => [
'<string>'
],
'years_at_current_company' => [
'<string>'
],
'years_of_experience' => [
'<string>'
],
'current_company' => [
'<string>'
],
'past_company' => [
'<string>'
],
'company_size' => '<string>',
'company_type' => [
'<string>'
],
'company_headquarters' => [
'<string>'
],
'industry' => [
'<string>'
],
'first_name' => '<string>',
'last_name' => '<string>',
'geography' => [
'<string>'
],
'region' => [
'<string>'
],
'profile_language' => [
'<string>'
],
'school' => [
'<string>'
],
'relationship' => [
'<string>'
],
'connection_of' => [
'<string>'
],
'category_interest' => [
'<string>'
],
'shared_experiences' => true,
'lead_interactions' => [
'<string>'
],
'persona' => [
'<string>'
],
'group' => [
'<string>'
],
'account_list' => [
'<string>'
],
'lead_list' => [
'<string>'
],
'saved' => [
'<string>'
],
'exclude' => [
],
'offset' => 123,
'count' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/profiles"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"sales_nav_url\": \"<string>\",\n \"keyword\": \"<string>\",\n \"current_title\": \"<string>\",\n \"past_title\": \"<string>\",\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"years_in_current_position\": [\n \"<string>\"\n ],\n \"years_at_current_company\": [\n \"<string>\"\n ],\n \"years_of_experience\": [\n \"<string>\"\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"past_company\": [\n \"<string>\"\n ],\n \"company_size\": \"<string>\",\n \"company_type\": [\n \"<string>\"\n ],\n \"company_headquarters\": [\n \"<string>\"\n ],\n \"industry\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"geography\": [\n \"<string>\"\n ],\n \"region\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"school\": [\n \"<string>\"\n ],\n \"relationship\": [\n \"<string>\"\n ],\n \"connection_of\": [\n \"<string>\"\n ],\n \"category_interest\": [\n \"<string>\"\n ],\n \"shared_experiences\": true,\n \"lead_interactions\": [\n \"<string>\"\n ],\n \"persona\": [\n \"<string>\"\n ],\n \"group\": [\n \"<string>\"\n ],\n \"account_list\": [\n \"<string>\"\n ],\n \"lead_list\": [\n \"<string>\"\n ],\n \"saved\": [\n \"<string>\"\n ],\n \"exclude\": {},\n \"offset\": 123,\n \"count\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v2/profiles")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"sales_nav_url\": \"<string>\",\n \"keyword\": \"<string>\",\n \"current_title\": \"<string>\",\n \"past_title\": \"<string>\",\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"years_in_current_position\": [\n \"<string>\"\n ],\n \"years_at_current_company\": [\n \"<string>\"\n ],\n \"years_of_experience\": [\n \"<string>\"\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"past_company\": [\n \"<string>\"\n ],\n \"company_size\": \"<string>\",\n \"company_type\": [\n \"<string>\"\n ],\n \"company_headquarters\": [\n \"<string>\"\n ],\n \"industry\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"geography\": [\n \"<string>\"\n ],\n \"region\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"school\": [\n \"<string>\"\n ],\n \"relationship\": [\n \"<string>\"\n ],\n \"connection_of\": [\n \"<string>\"\n ],\n \"category_interest\": [\n \"<string>\"\n ],\n \"shared_experiences\": true,\n \"lead_interactions\": [\n \"<string>\"\n ],\n \"persona\": [\n \"<string>\"\n ],\n \"group\": [\n \"<string>\"\n ],\n \"account_list\": [\n \"<string>\"\n ],\n \"lead_list\": [\n \"<string>\"\n ],\n \"saved\": [\n \"<string>\"\n ],\n \"exclude\": {},\n \"offset\": 123,\n \"count\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"sales_nav_url\": \"<string>\",\n \"keyword\": \"<string>\",\n \"current_title\": \"<string>\",\n \"past_title\": \"<string>\",\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"years_in_current_position\": [\n \"<string>\"\n ],\n \"years_at_current_company\": [\n \"<string>\"\n ],\n \"years_of_experience\": [\n \"<string>\"\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"past_company\": [\n \"<string>\"\n ],\n \"company_size\": \"<string>\",\n \"company_type\": [\n \"<string>\"\n ],\n \"company_headquarters\": [\n \"<string>\"\n ],\n \"industry\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"geography\": [\n \"<string>\"\n ],\n \"region\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"school\": [\n \"<string>\"\n ],\n \"relationship\": [\n \"<string>\"\n ],\n \"connection_of\": [\n \"<string>\"\n ],\n \"category_interest\": [\n \"<string>\"\n ],\n \"shared_experiences\": true,\n \"lead_interactions\": [\n \"<string>\"\n ],\n \"persona\": [\n \"<string>\"\n ],\n \"group\": [\n \"<string>\"\n ],\n \"account_list\": [\n \"<string>\"\n ],\n \"lead_list\": [\n \"<string>\"\n ],\n \"saved\": [\n \"<string>\"\n ],\n \"exclude\": {},\n \"offset\": 123,\n \"count\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"total_results": 2,
"offset": 0,
"total_available_results": 493426,
"open_profile_badge_visible": true,
"profiles": [
{
"name": "Jessica Jensen",
"job_title": "Chief Marketing Officer",
"company": "TechCo",
"location": "San Francisco, California, United States",
"profile_url": "https://www.linkedin.com/in/ACwAAA...",
"sales_nav_url": "https://www.linkedin.com/sales/lead/ACwAAA...",
"recipient_urn": "urn:li:fs_salesProfile:(ACwAAA...,NAME_SEARCH,8_-X)",
"connection_level": "2",
"headline": "CMO @ TechCo — B2B growth & demand gen",
"premium": true,
"open_link": true,
"viewed_profile": false,
"changed_job_recently": false,
"shared_connections": 4,
"teamlink_count": 1,
"company_size": "51-200",
"latest_activity": "2 recent posts",
"current_positions": [
{ "title": "Chief Marketing Officer", "company": "TechCo", "duration": "2 ans" }
]
}
]
},
"metadata": {
"action": "search_people_nav",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-03-24T12:00:00Z"
}
}
{
"success": false,
"error": {
"code": "CHANNEL_ERROR",
"message": "No Sales Nav license found for this account"
},
"metadata": {
"action": "search_people_nav",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-03-24T12:00:00Z"
}
}
Profiles
Search People Nav
Search leads with Sales Nav using its full filter set.
POST
/
v2
/
profiles
Search People Nav
curl --request POST \
--url https://api.linkupapi.com/v2/profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"account_id": "<string>",
"action": "<string>",
"params": {
"sales_nav_url": "<string>",
"keyword": "<string>",
"current_title": "<string>",
"past_title": "<string>",
"seniority_level": [
"<string>"
],
"function": [
"<string>"
],
"years_in_current_position": [
"<string>"
],
"years_at_current_company": [
"<string>"
],
"years_of_experience": [
"<string>"
],
"current_company": [
"<string>"
],
"past_company": [
"<string>"
],
"company_size": "<string>",
"company_type": [
"<string>"
],
"company_headquarters": [
"<string>"
],
"industry": [
"<string>"
],
"first_name": "<string>",
"last_name": "<string>",
"geography": [
"<string>"
],
"region": [
"<string>"
],
"profile_language": [
"<string>"
],
"school": [
"<string>"
],
"relationship": [
"<string>"
],
"connection_of": [
"<string>"
],
"category_interest": [
"<string>"
],
"shared_experiences": true,
"lead_interactions": [
"<string>"
],
"persona": [
"<string>"
],
"group": [
"<string>"
],
"account_list": [
"<string>"
],
"lead_list": [
"<string>"
],
"saved": [
"<string>"
],
"exclude": {},
"offset": 123,
"count": 123
}
}
'import requests
url = "https://api.linkupapi.com/v2/profiles"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"sales_nav_url": "<string>",
"keyword": "<string>",
"current_title": "<string>",
"past_title": "<string>",
"seniority_level": ["<string>"],
"function": ["<string>"],
"years_in_current_position": ["<string>"],
"years_at_current_company": ["<string>"],
"years_of_experience": ["<string>"],
"current_company": ["<string>"],
"past_company": ["<string>"],
"company_size": "<string>",
"company_type": ["<string>"],
"company_headquarters": ["<string>"],
"industry": ["<string>"],
"first_name": "<string>",
"last_name": "<string>",
"geography": ["<string>"],
"region": ["<string>"],
"profile_language": ["<string>"],
"school": ["<string>"],
"relationship": ["<string>"],
"connection_of": ["<string>"],
"category_interest": ["<string>"],
"shared_experiences": True,
"lead_interactions": ["<string>"],
"persona": ["<string>"],
"group": ["<string>"],
"account_list": ["<string>"],
"lead_list": ["<string>"],
"saved": ["<string>"],
"exclude": {},
"offset": 123,
"count": 123
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '<string>',
action: '<string>',
params: {
sales_nav_url: '<string>',
keyword: '<string>',
current_title: '<string>',
past_title: '<string>',
seniority_level: ['<string>'],
function: ['<string>'],
years_in_current_position: ['<string>'],
years_at_current_company: ['<string>'],
years_of_experience: ['<string>'],
current_company: ['<string>'],
past_company: ['<string>'],
company_size: '<string>',
company_type: ['<string>'],
company_headquarters: ['<string>'],
industry: ['<string>'],
first_name: '<string>',
last_name: '<string>',
geography: ['<string>'],
region: ['<string>'],
profile_language: ['<string>'],
school: ['<string>'],
relationship: ['<string>'],
connection_of: ['<string>'],
category_interest: ['<string>'],
shared_experiences: true,
lead_interactions: ['<string>'],
persona: ['<string>'],
group: ['<string>'],
account_list: ['<string>'],
lead_list: ['<string>'],
saved: ['<string>'],
exclude: {},
offset: 123,
count: 123
}
})
};
fetch('https://api.linkupapi.com/v2/profiles', 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.linkupapi.com/v2/profiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'action' => '<string>',
'params' => [
'sales_nav_url' => '<string>',
'keyword' => '<string>',
'current_title' => '<string>',
'past_title' => '<string>',
'seniority_level' => [
'<string>'
],
'function' => [
'<string>'
],
'years_in_current_position' => [
'<string>'
],
'years_at_current_company' => [
'<string>'
],
'years_of_experience' => [
'<string>'
],
'current_company' => [
'<string>'
],
'past_company' => [
'<string>'
],
'company_size' => '<string>',
'company_type' => [
'<string>'
],
'company_headquarters' => [
'<string>'
],
'industry' => [
'<string>'
],
'first_name' => '<string>',
'last_name' => '<string>',
'geography' => [
'<string>'
],
'region' => [
'<string>'
],
'profile_language' => [
'<string>'
],
'school' => [
'<string>'
],
'relationship' => [
'<string>'
],
'connection_of' => [
'<string>'
],
'category_interest' => [
'<string>'
],
'shared_experiences' => true,
'lead_interactions' => [
'<string>'
],
'persona' => [
'<string>'
],
'group' => [
'<string>'
],
'account_list' => [
'<string>'
],
'lead_list' => [
'<string>'
],
'saved' => [
'<string>'
],
'exclude' => [
],
'offset' => 123,
'count' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.linkupapi.com/v2/profiles"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"sales_nav_url\": \"<string>\",\n \"keyword\": \"<string>\",\n \"current_title\": \"<string>\",\n \"past_title\": \"<string>\",\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"years_in_current_position\": [\n \"<string>\"\n ],\n \"years_at_current_company\": [\n \"<string>\"\n ],\n \"years_of_experience\": [\n \"<string>\"\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"past_company\": [\n \"<string>\"\n ],\n \"company_size\": \"<string>\",\n \"company_type\": [\n \"<string>\"\n ],\n \"company_headquarters\": [\n \"<string>\"\n ],\n \"industry\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"geography\": [\n \"<string>\"\n ],\n \"region\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"school\": [\n \"<string>\"\n ],\n \"relationship\": [\n \"<string>\"\n ],\n \"connection_of\": [\n \"<string>\"\n ],\n \"category_interest\": [\n \"<string>\"\n ],\n \"shared_experiences\": true,\n \"lead_interactions\": [\n \"<string>\"\n ],\n \"persona\": [\n \"<string>\"\n ],\n \"group\": [\n \"<string>\"\n ],\n \"account_list\": [\n \"<string>\"\n ],\n \"lead_list\": [\n \"<string>\"\n ],\n \"saved\": [\n \"<string>\"\n ],\n \"exclude\": {},\n \"offset\": 123,\n \"count\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.linkupapi.com/v2/profiles")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"sales_nav_url\": \"<string>\",\n \"keyword\": \"<string>\",\n \"current_title\": \"<string>\",\n \"past_title\": \"<string>\",\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"years_in_current_position\": [\n \"<string>\"\n ],\n \"years_at_current_company\": [\n \"<string>\"\n ],\n \"years_of_experience\": [\n \"<string>\"\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"past_company\": [\n \"<string>\"\n ],\n \"company_size\": \"<string>\",\n \"company_type\": [\n \"<string>\"\n ],\n \"company_headquarters\": [\n \"<string>\"\n ],\n \"industry\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"geography\": [\n \"<string>\"\n ],\n \"region\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"school\": [\n \"<string>\"\n ],\n \"relationship\": [\n \"<string>\"\n ],\n \"connection_of\": [\n \"<string>\"\n ],\n \"category_interest\": [\n \"<string>\"\n ],\n \"shared_experiences\": true,\n \"lead_interactions\": [\n \"<string>\"\n ],\n \"persona\": [\n \"<string>\"\n ],\n \"group\": [\n \"<string>\"\n ],\n \"account_list\": [\n \"<string>\"\n ],\n \"lead_list\": [\n \"<string>\"\n ],\n \"saved\": [\n \"<string>\"\n ],\n \"exclude\": {},\n \"offset\": 123,\n \"count\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkupapi.com/v2/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"action\": \"<string>\",\n \"params\": {\n \"sales_nav_url\": \"<string>\",\n \"keyword\": \"<string>\",\n \"current_title\": \"<string>\",\n \"past_title\": \"<string>\",\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"years_in_current_position\": [\n \"<string>\"\n ],\n \"years_at_current_company\": [\n \"<string>\"\n ],\n \"years_of_experience\": [\n \"<string>\"\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"past_company\": [\n \"<string>\"\n ],\n \"company_size\": \"<string>\",\n \"company_type\": [\n \"<string>\"\n ],\n \"company_headquarters\": [\n \"<string>\"\n ],\n \"industry\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"geography\": [\n \"<string>\"\n ],\n \"region\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"school\": [\n \"<string>\"\n ],\n \"relationship\": [\n \"<string>\"\n ],\n \"connection_of\": [\n \"<string>\"\n ],\n \"category_interest\": [\n \"<string>\"\n ],\n \"shared_experiences\": true,\n \"lead_interactions\": [\n \"<string>\"\n ],\n \"persona\": [\n \"<string>\"\n ],\n \"group\": [\n \"<string>\"\n ],\n \"account_list\": [\n \"<string>\"\n ],\n \"lead_list\": [\n \"<string>\"\n ],\n \"saved\": [\n \"<string>\"\n ],\n \"exclude\": {},\n \"offset\": 123,\n \"count\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"total_results": 2,
"offset": 0,
"total_available_results": 493426,
"open_profile_badge_visible": true,
"profiles": [
{
"name": "Jessica Jensen",
"job_title": "Chief Marketing Officer",
"company": "TechCo",
"location": "San Francisco, California, United States",
"profile_url": "https://www.linkedin.com/in/ACwAAA...",
"sales_nav_url": "https://www.linkedin.com/sales/lead/ACwAAA...",
"recipient_urn": "urn:li:fs_salesProfile:(ACwAAA...,NAME_SEARCH,8_-X)",
"connection_level": "2",
"headline": "CMO @ TechCo — B2B growth & demand gen",
"premium": true,
"open_link": true,
"viewed_profile": false,
"changed_job_recently": false,
"shared_connections": 4,
"teamlink_count": 1,
"company_size": "51-200",
"latest_activity": "2 recent posts",
"current_positions": [
{ "title": "Chief Marketing Officer", "company": "TechCo", "duration": "2 ans" }
]
}
]
},
"metadata": {
"action": "search_people_nav",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-03-24T12:00:00Z"
}
}
{
"success": false,
"error": {
"code": "CHANNEL_ERROR",
"message": "No Sales Nav license found for this account"
},
"metadata": {
"action": "search_people_nav",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-03-24T12:00:00Z"
}
}
Overview
Run a Sales Nav lead search and get back richly-detailed leads. This uses the account’s Sales Nav seat — see Connect Account to activate it. There are two ways to define the search — pick whichever fits:- Friendly filters — pass human-readable values (e.g.
seniority_level: ["Director", "CXO"]) and the API resolves them to the underlying ids for you. - Copied Sales Nav URL — build the search visually in Sales Nav, copy the page URL, and pass it as
sales_nav_url. Every filter is replicated verbatim, including ones with no friendly mapping (buyer intent, spotlights, …). Saved-search and lead-list URLs work too.
This endpoint consumes 1 credit per 10 results returned. Requires a Sales Nav seat on the account. Ignore this if you’re on per-seat pricing: usage is unlimited.
Within a single filter, multiple values are combined with OR (e.g.
seniority_level: ["VP", "CXO"] = VP or CXO). Different filters are combined with AND.Request
string
required
Your API key for authentication.
string
required
The unique identifier of the account to use. Must have a Sales Nav seat.
string
required
Must be
"search_people_nav".object
Show params properties
Show params properties
string
A copied Sales Nav people URL, pasted as-is. Three kinds work: a search (
.../sales/search/people?query=... or #query=...), a saved search (.../sales/search/people?savedSearchId=...) and a lead list (.../sales/lists/people/<id>). When provided, it takes precedence over the friendly filters below. The best way to replicate a complex search or use filters that have no friendly mapping.string
Free-text keyword searched across profiles.
string
Current job title (free text), e.g.
"CTO", "Head of Growth".string
Past job title (free text).
string[]
Seniority. Names or ids. Accepted names:
In Training, Entry Level, Senior, Strategic, Entry Level Manager, Experienced Manager, Director, Vice President (VP), CXO, Owner / Partner.string[]
Job function, e.g.
["Sales", "Marketing", "Engineering"]. Names or ids.string[]
Tenure in current position. Accepted:
Less than 1 year, 1 to 2 years, 3 to 5 years, 6 to 10 years, More than 10 years.string[]
Tenure at current company. Same values as above.
string[]
Total years of experience. Same values as above.
string[]
Current company. Company names, company page URLs or ids from Typeahead (
category: sales_nav).string[]
Past company. Names or URLs.
string
Headcount range, e.g.
"51-200", "1-10", "51-1000". Expanded to the matching size brackets (OR).string[]
Accepted:
Public Company, Privately Held, Non Profit, Educational Institution, Partnership, Self Employed, Self Owned, Government Agency.string[]
Company HQ location. Super-regions (
EMEA, APAC, DACH, Benelux, Oceania, North America) or any place name (resolved via geo typeahead).string[]
Industry names (e.g.
["Software Development", "Financial Services"]), resolved via typeahead.string
Filter by first name.
string
Filter by last name.
string[]
Person location. Place names, super-regions, or location ids from Typeahead.
string[]
Region / super-region (
EMEA, DACH, Benelux, …) or place names.string[]
Profile language. ISO code (
en, fr) or name (English, French).string[]
School names (e.g.
["Stanford University"]), resolved via typeahead.string[]
Connection degree. Names/aliases
1st, 2nd, 3rd+, group, or ids F, S, O, A. Alias: connection_degree.string[]
People who are connections of a given person (name, or the id returned by Typeahead
people).string[]
Buyer category interest (product category names), resolved via typeahead.
boolean
Only leads you share an experience with (company, school, group).
string[]
Your past interactions. Accepted:
Viewed profile (LIVP), Messaged (LIMP).string[]
One of your saved personas (name, resolved via typeahead).
string[]
Group names, resolved via typeahead.
string[]
Your saved account lists.
"ALL" or a list name.string[]
Your saved lead lists.
"ALL" or a list name.string[]
Your saved items. Accepted:
saved leads (SL), saved accounts (SA).object
Leads to exclude, as
{ filter_name: [values] } using the same filter names and value formats as above (names or ids). A filter can be included and excluded at once, e.g. geography: ["France"] with exclude: { geography: ["Paris"] }.Sales Nav only supports exclusion on: current_company, past_company, current_title, past_title, geography, region, company_headquarters, industry, school, function, account_list, lead_list, lead_interactions, saved. Any other key returns INVALID_PARAMS (0 credits).integer
default:0
Index of the first lead to return (0-based). Combine with
count to walk the result set page by page. Any value works — it does not have to align to a page boundary.integer
default:10
Number of leads to return, starting at
offset.Paging
offset: 0, count: 25 returns leads 0–24, offset: 25 the next 25. The response echoes offset back, so the next page is offset + total_results.
Sales Nav only lets a single search be browsed up to 2500 results, whatever
total_available_results reports. An offset of 2500 or more returns INVALID_PARAMS (0 credits) — narrow the filters to reach deeper leads.Every list filter also accepts raw ids directly, so you can mix friendly names and ids. Unknown values are ignored rather than causing an error.
Response
boolean
Indicates whether the request was successful.
object
Show data properties
Show data properties
array
List of matching leads.
Show lead properties
Show lead properties
string
Full name.
string
Current job title.
string
Current company.
string
Geographic location.
string
Standard profile URL.
string
Sales Nav lead URL.
string
Sales-Nav-specific URN (
urn:li:fs_salesProfile:(...)) — pass it to Send Message to InMail this lead.string
Profile picture URL.
string
Connection degree (e.g.
"2").string
Profile headline.
string
Profile summary / about.
boolean
Whether the lead has a Premium account.
boolean
Whether the lead is an Open Profile (free InMail). Not reliable when
open_profile_badge_visible is false — see below.boolean
Whether you have viewed this lead’s profile.
boolean
Recent job change flag.
integer
Number of shared connections.
integer
Number of TeamLink connection paths.
string
Current company size, when available.
string
Most recent activity (e.g. recent posts).
array
Spotlight badges (mutual connections, recent posts, …).
array
array
Past positions. Same fields as above, except
started / description are replaced by period (e.g. "3/2023 - 11/2025").integer
Number of leads returned.
integer
Absolute index of the first lead returned — echoes the requested
offset. Add total_results to it for the next page’s offset.integer
Total number of matching leads available (an estimate for large sets).
boolean | null
Whether the seat that ran the search can see the Open Profile badge. LinkedIn hides it from some seats (every lead then looks “not open”); the API checks known Open Profiles on the same seat. When
false, open_link reads false for every lead whatever their real status, and a warning is included. Probe a seat beforehand with Check InMail Seat.string
Present only when
open_profile_badge_visible is false.{
"success": true,
"data": {
"total_results": 2,
"offset": 0,
"total_available_results": 493426,
"open_profile_badge_visible": true,
"profiles": [
{
"name": "Jessica Jensen",
"job_title": "Chief Marketing Officer",
"company": "TechCo",
"location": "San Francisco, California, United States",
"profile_url": "https://www.linkedin.com/in/ACwAAA...",
"sales_nav_url": "https://www.linkedin.com/sales/lead/ACwAAA...",
"recipient_urn": "urn:li:fs_salesProfile:(ACwAAA...,NAME_SEARCH,8_-X)",
"connection_level": "2",
"headline": "CMO @ TechCo — B2B growth & demand gen",
"premium": true,
"open_link": true,
"viewed_profile": false,
"changed_job_recently": false,
"shared_connections": 4,
"teamlink_count": 1,
"company_size": "51-200",
"latest_activity": "2 recent posts",
"current_positions": [
{ "title": "Chief Marketing Officer", "company": "TechCo", "duration": "2 ans" }
]
}
]
},
"metadata": {
"action": "search_people_nav",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-03-24T12:00:00Z"
}
}
{
"success": false,
"error": {
"code": "CHANNEL_ERROR",
"message": "No Sales Nav license found for this account"
},
"metadata": {
"action": "search_people_nav",
"account_id": "your-account-id",
"credits_consumed": 1,
"timestamp": "2026-03-24T12:00:00Z"
}
}
Examples
Friendly filters
{
"account_id": "your-account-id",
"action": "search_people_nav",
"params": {
"keyword": "marketing",
"seniority_level": ["Vice President", "CXO"],
"function": ["Marketing", "Sales"],
"company_type": ["Public Company"],
"company_size": "51-1000",
"industry": ["Software Development"],
"company_headquarters": ["North America", "EMEA"],
"years_in_current_position": ["3 to 5 years"],
"count": 25
}
}
Exclusions
{
"account_id": "your-account-id",
"action": "search_people_nav",
"params": {
"current_title": "Head of Sales",
"geography": ["France"],
"exclude": {
"current_company": ["Google", "Microsoft"],
"current_title": ["Intern"],
"geography": ["Paris"]
},
"count": 25
}
}
Copied Sales Nav URL
{
"account_id": "your-account-id",
"action": "search_people_nav",
"params": {
"sales_nav_url": "https://www.linkedin.com/sales/search/people?query=(filters:List(...))",
"offset": 0,
"count": 25
}
}
Was this page helpful?