Search People Recruiter
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": {
"keywords": "<string>",
"job_title": [
"<string>"
],
"companies": [
"<string>"
],
"skills": [
"<string>"
],
"occupations": [
"<string>"
],
"first_name": "<string>",
"last_name": "<string>",
"notes": "<string>",
"locations": [
"<string>"
],
"postal_codes": [
{}
],
"current_company": [
"<string>"
],
"schools": [
"<string>"
],
"industries": [
"<string>"
],
"groups": [
"<string>"
],
"projects": [
"<string>"
],
"seniority_level": [
"<string>"
],
"function": [
"<string>"
],
"company_size": [
"<string>"
],
"connection_degree": [
"<string>"
],
"workplace": [
"<string>"
],
"profile_language": [
"<string>"
],
"joined_within": [
"<string>"
],
"activity_types": [
"<string>"
],
"years_of_experience": {},
"veteran": true,
"profile_views": true,
"count": 123,
"offset": 123,
"search_request_id": "<string>",
"include_raw": true
}
}
'import requests
url = "https://api.linkupapi.com/v2/profiles"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"keywords": "<string>",
"job_title": ["<string>"],
"companies": ["<string>"],
"skills": ["<string>"],
"occupations": ["<string>"],
"first_name": "<string>",
"last_name": "<string>",
"notes": "<string>",
"locations": ["<string>"],
"postal_codes": [{}],
"current_company": ["<string>"],
"schools": ["<string>"],
"industries": ["<string>"],
"groups": ["<string>"],
"projects": ["<string>"],
"seniority_level": ["<string>"],
"function": ["<string>"],
"company_size": ["<string>"],
"connection_degree": ["<string>"],
"workplace": ["<string>"],
"profile_language": ["<string>"],
"joined_within": ["<string>"],
"activity_types": ["<string>"],
"years_of_experience": {},
"veteran": True,
"profile_views": True,
"count": 123,
"offset": 123,
"search_request_id": "<string>",
"include_raw": True
}
}
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: {
keywords: '<string>',
job_title: ['<string>'],
companies: ['<string>'],
skills: ['<string>'],
occupations: ['<string>'],
first_name: '<string>',
last_name: '<string>',
notes: '<string>',
locations: ['<string>'],
postal_codes: [{}],
current_company: ['<string>'],
schools: ['<string>'],
industries: ['<string>'],
groups: ['<string>'],
projects: ['<string>'],
seniority_level: ['<string>'],
function: ['<string>'],
company_size: ['<string>'],
connection_degree: ['<string>'],
workplace: ['<string>'],
profile_language: ['<string>'],
joined_within: ['<string>'],
activity_types: ['<string>'],
years_of_experience: {},
veteran: true,
profile_views: true,
count: 123,
offset: 123,
search_request_id: '<string>',
include_raw: true
}
})
};
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' => [
'keywords' => '<string>',
'job_title' => [
'<string>'
],
'companies' => [
'<string>'
],
'skills' => [
'<string>'
],
'occupations' => [
'<string>'
],
'first_name' => '<string>',
'last_name' => '<string>',
'notes' => '<string>',
'locations' => [
'<string>'
],
'postal_codes' => [
[
]
],
'current_company' => [
'<string>'
],
'schools' => [
'<string>'
],
'industries' => [
'<string>'
],
'groups' => [
'<string>'
],
'projects' => [
'<string>'
],
'seniority_level' => [
'<string>'
],
'function' => [
'<string>'
],
'company_size' => [
'<string>'
],
'connection_degree' => [
'<string>'
],
'workplace' => [
'<string>'
],
'profile_language' => [
'<string>'
],
'joined_within' => [
'<string>'
],
'activity_types' => [
'<string>'
],
'years_of_experience' => [
],
'veteran' => true,
'profile_views' => true,
'count' => 123,
'offset' => 123,
'search_request_id' => '<string>',
'include_raw' => true
]
]),
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 \"keywords\": \"<string>\",\n \"job_title\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"occupations\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"notes\": \"<string>\",\n \"locations\": [\n \"<string>\"\n ],\n \"postal_codes\": [\n {}\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"schools\": [\n \"<string>\"\n ],\n \"industries\": [\n \"<string>\"\n ],\n \"groups\": [\n \"<string>\"\n ],\n \"projects\": [\n \"<string>\"\n ],\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"connection_degree\": [\n \"<string>\"\n ],\n \"workplace\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"joined_within\": [\n \"<string>\"\n ],\n \"activity_types\": [\n \"<string>\"\n ],\n \"years_of_experience\": {},\n \"veteran\": true,\n \"profile_views\": true,\n \"count\": 123,\n \"offset\": 123,\n \"search_request_id\": \"<string>\",\n \"include_raw\": true\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 \"keywords\": \"<string>\",\n \"job_title\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"occupations\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"notes\": \"<string>\",\n \"locations\": [\n \"<string>\"\n ],\n \"postal_codes\": [\n {}\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"schools\": [\n \"<string>\"\n ],\n \"industries\": [\n \"<string>\"\n ],\n \"groups\": [\n \"<string>\"\n ],\n \"projects\": [\n \"<string>\"\n ],\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"connection_degree\": [\n \"<string>\"\n ],\n \"workplace\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"joined_within\": [\n \"<string>\"\n ],\n \"activity_types\": [\n \"<string>\"\n ],\n \"years_of_experience\": {},\n \"veteran\": true,\n \"profile_views\": true,\n \"count\": 123,\n \"offset\": 123,\n \"search_request_id\": \"<string>\",\n \"include_raw\": true\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 \"keywords\": \"<string>\",\n \"job_title\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"occupations\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"notes\": \"<string>\",\n \"locations\": [\n \"<string>\"\n ],\n \"postal_codes\": [\n {}\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"schools\": [\n \"<string>\"\n ],\n \"industries\": [\n \"<string>\"\n ],\n \"groups\": [\n \"<string>\"\n ],\n \"projects\": [\n \"<string>\"\n ],\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"connection_degree\": [\n \"<string>\"\n ],\n \"workplace\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"joined_within\": [\n \"<string>\"\n ],\n \"activity_types\": [\n \"<string>\"\n ],\n \"years_of_experience\": {},\n \"veteran\": true,\n \"profile_views\": true,\n \"count\": 123,\n \"offset\": 123,\n \"search_request_id\": \"<string>\",\n \"include_raw\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"total_results": 1,
"total_available_results": 4812,
"offset": 0,
"search_request_id": "a1b2c3…",
"profiles": [
{
"full_name": "Jane Doe",
"headline": "Growth Marketing Lead",
"location": "Paris, Île-de-France, France",
"profile_url": "https://www.linkedin.com/in/janedoe",
"profile_urn": "urn:li:ts_profile:AEMAA…",
"hire_identity_urn": "urn:li:ts_hire_identity:1670586754",
"can_send_inmail": true,
"inmail_cost": 1,
"notes_count": 0,
"projects_count": 1,
"open_to_opportunities": true
}
]
},
"metadata": {
"action": "search_people_recruiter",
"account_id": "your-seat-account-id",
"credits_consumed": 1,
"timestamp": "2026-10-07T12:00:00Z"
}
}
Profiles
Search People Recruiter
Search candidates with a LinkedIn Recruiter (Lite) seat.
POST
/
v2
/
profiles
Search People Recruiter
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": {
"keywords": "<string>",
"job_title": [
"<string>"
],
"companies": [
"<string>"
],
"skills": [
"<string>"
],
"occupations": [
"<string>"
],
"first_name": "<string>",
"last_name": "<string>",
"notes": "<string>",
"locations": [
"<string>"
],
"postal_codes": [
{}
],
"current_company": [
"<string>"
],
"schools": [
"<string>"
],
"industries": [
"<string>"
],
"groups": [
"<string>"
],
"projects": [
"<string>"
],
"seniority_level": [
"<string>"
],
"function": [
"<string>"
],
"company_size": [
"<string>"
],
"connection_degree": [
"<string>"
],
"workplace": [
"<string>"
],
"profile_language": [
"<string>"
],
"joined_within": [
"<string>"
],
"activity_types": [
"<string>"
],
"years_of_experience": {},
"veteran": true,
"profile_views": true,
"count": 123,
"offset": 123,
"search_request_id": "<string>",
"include_raw": true
}
}
'import requests
url = "https://api.linkupapi.com/v2/profiles"
payload = {
"account_id": "<string>",
"action": "<string>",
"params": {
"keywords": "<string>",
"job_title": ["<string>"],
"companies": ["<string>"],
"skills": ["<string>"],
"occupations": ["<string>"],
"first_name": "<string>",
"last_name": "<string>",
"notes": "<string>",
"locations": ["<string>"],
"postal_codes": [{}],
"current_company": ["<string>"],
"schools": ["<string>"],
"industries": ["<string>"],
"groups": ["<string>"],
"projects": ["<string>"],
"seniority_level": ["<string>"],
"function": ["<string>"],
"company_size": ["<string>"],
"connection_degree": ["<string>"],
"workplace": ["<string>"],
"profile_language": ["<string>"],
"joined_within": ["<string>"],
"activity_types": ["<string>"],
"years_of_experience": {},
"veteran": True,
"profile_views": True,
"count": 123,
"offset": 123,
"search_request_id": "<string>",
"include_raw": True
}
}
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: {
keywords: '<string>',
job_title: ['<string>'],
companies: ['<string>'],
skills: ['<string>'],
occupations: ['<string>'],
first_name: '<string>',
last_name: '<string>',
notes: '<string>',
locations: ['<string>'],
postal_codes: [{}],
current_company: ['<string>'],
schools: ['<string>'],
industries: ['<string>'],
groups: ['<string>'],
projects: ['<string>'],
seniority_level: ['<string>'],
function: ['<string>'],
company_size: ['<string>'],
connection_degree: ['<string>'],
workplace: ['<string>'],
profile_language: ['<string>'],
joined_within: ['<string>'],
activity_types: ['<string>'],
years_of_experience: {},
veteran: true,
profile_views: true,
count: 123,
offset: 123,
search_request_id: '<string>',
include_raw: true
}
})
};
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' => [
'keywords' => '<string>',
'job_title' => [
'<string>'
],
'companies' => [
'<string>'
],
'skills' => [
'<string>'
],
'occupations' => [
'<string>'
],
'first_name' => '<string>',
'last_name' => '<string>',
'notes' => '<string>',
'locations' => [
'<string>'
],
'postal_codes' => [
[
]
],
'current_company' => [
'<string>'
],
'schools' => [
'<string>'
],
'industries' => [
'<string>'
],
'groups' => [
'<string>'
],
'projects' => [
'<string>'
],
'seniority_level' => [
'<string>'
],
'function' => [
'<string>'
],
'company_size' => [
'<string>'
],
'connection_degree' => [
'<string>'
],
'workplace' => [
'<string>'
],
'profile_language' => [
'<string>'
],
'joined_within' => [
'<string>'
],
'activity_types' => [
'<string>'
],
'years_of_experience' => [
],
'veteran' => true,
'profile_views' => true,
'count' => 123,
'offset' => 123,
'search_request_id' => '<string>',
'include_raw' => true
]
]),
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 \"keywords\": \"<string>\",\n \"job_title\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"occupations\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"notes\": \"<string>\",\n \"locations\": [\n \"<string>\"\n ],\n \"postal_codes\": [\n {}\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"schools\": [\n \"<string>\"\n ],\n \"industries\": [\n \"<string>\"\n ],\n \"groups\": [\n \"<string>\"\n ],\n \"projects\": [\n \"<string>\"\n ],\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"connection_degree\": [\n \"<string>\"\n ],\n \"workplace\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"joined_within\": [\n \"<string>\"\n ],\n \"activity_types\": [\n \"<string>\"\n ],\n \"years_of_experience\": {},\n \"veteran\": true,\n \"profile_views\": true,\n \"count\": 123,\n \"offset\": 123,\n \"search_request_id\": \"<string>\",\n \"include_raw\": true\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 \"keywords\": \"<string>\",\n \"job_title\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"occupations\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"notes\": \"<string>\",\n \"locations\": [\n \"<string>\"\n ],\n \"postal_codes\": [\n {}\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"schools\": [\n \"<string>\"\n ],\n \"industries\": [\n \"<string>\"\n ],\n \"groups\": [\n \"<string>\"\n ],\n \"projects\": [\n \"<string>\"\n ],\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"connection_degree\": [\n \"<string>\"\n ],\n \"workplace\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"joined_within\": [\n \"<string>\"\n ],\n \"activity_types\": [\n \"<string>\"\n ],\n \"years_of_experience\": {},\n \"veteran\": true,\n \"profile_views\": true,\n \"count\": 123,\n \"offset\": 123,\n \"search_request_id\": \"<string>\",\n \"include_raw\": true\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 \"keywords\": \"<string>\",\n \"job_title\": [\n \"<string>\"\n ],\n \"companies\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"occupations\": [\n \"<string>\"\n ],\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"notes\": \"<string>\",\n \"locations\": [\n \"<string>\"\n ],\n \"postal_codes\": [\n {}\n ],\n \"current_company\": [\n \"<string>\"\n ],\n \"schools\": [\n \"<string>\"\n ],\n \"industries\": [\n \"<string>\"\n ],\n \"groups\": [\n \"<string>\"\n ],\n \"projects\": [\n \"<string>\"\n ],\n \"seniority_level\": [\n \"<string>\"\n ],\n \"function\": [\n \"<string>\"\n ],\n \"company_size\": [\n \"<string>\"\n ],\n \"connection_degree\": [\n \"<string>\"\n ],\n \"workplace\": [\n \"<string>\"\n ],\n \"profile_language\": [\n \"<string>\"\n ],\n \"joined_within\": [\n \"<string>\"\n ],\n \"activity_types\": [\n \"<string>\"\n ],\n \"years_of_experience\": {},\n \"veteran\": true,\n \"profile_views\": true,\n \"count\": 123,\n \"offset\": 123,\n \"search_request_id\": \"<string>\",\n \"include_raw\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"total_results": 1,
"total_available_results": 4812,
"offset": 0,
"search_request_id": "a1b2c3…",
"profiles": [
{
"full_name": "Jane Doe",
"headline": "Growth Marketing Lead",
"location": "Paris, Île-de-France, France",
"profile_url": "https://www.linkedin.com/in/janedoe",
"profile_urn": "urn:li:ts_profile:AEMAA…",
"hire_identity_urn": "urn:li:ts_hire_identity:1670586754",
"can_send_inmail": true,
"inmail_cost": 1,
"notes_count": 0,
"projects_count": 1,
"open_to_opportunities": true
}
]
},
"metadata": {
"action": "search_people_recruiter",
"account_id": "your-seat-account-id",
"credits_consumed": 1,
"timestamp": "2026-10-07T12:00:00Z"
}
}
Overview
Run a Recruiter talent search and get back candidates in the same shape as Get Profile, plus what the seat knows about them (notes, messages, projects) and LinkedIn’s hiring insights. Uses the account’s Recruiter seat — see Connect Account. The seat has its ownaccount_id: pass that one, not the LinkedIn account’s.
This endpoint consumes 1 credit per 10 results returned. Requires a Recruiter seat. Ignore this if you’re on per-seat pricing: usage is unlimited.
Within a single filter, multiple values are combined with OR. Different filters are combined with AND. Ids come from Typeahead with
category: "recruiter".Request
string
required
Your API key for authentication.
string
required
The Recruiter seat’s account id (
recruiter.account_id in List Accounts).string
required
Must be
"search_people_recruiter".object
Show params properties
Show params properties
string
Free-text keywords.
string | string[]
Job titles. Pair with
title_scope: CURRENT, CURRENT_OR_PAST or PAST.string | string[]
Company names. Pair with
company_scope (same values as title_scope).string | string[]
Skills, e.g.
["Python", "SQL"].string[]
Job families, by id (Typeahead
occupation).string
First name.
string
Last name.
string
Text found in the seat’s notes on the candidate.
string[]
Location ids (Typeahead
location).object[]
Postal codes, passed as the items returned by Typeahead
zip ({ "id", "name" }) — LinkedIn needs both. Pair with distance, the radius around them (default 25).string[]
Current company ids (Typeahead
company). past_company works the same.string[]
School ids (Typeahead
school).string[]
Industry ids (Typeahead
industry).string[]
Group ids (Typeahead
group).string[]
Candidates already in these hiring projects (Typeahead
project).string[]
Unpaid, Training, Entry level, Senior, Manager, Director, VP, CXO, Partner, Owner.string[]
Job function, e.g.
["Engineering", "Sales"]. Full list via Typeahead function.string[]
Self-employed, 1-10, 11-50, 51-200, 201-500, 501-1,000, 1,001-5,000, 5,001-10,000, 10,001+.string[]
1st, 2nd, 3rd, group (ids F, S, O, A).string[]
On-site, Remote, Hybrid.string[]
ISO code or name, e.g.
en, French.string[]
Joined LinkedIn recently:
1 day ago, 2 to 7 days ago, 8 to 14 days ago, 15 to 30 days ago, 1 to 3 months ago.string[]
What the seat already did with them:
Emailed, Has notes, Tagged, In a project, Reviewed, Has a resume. Set exclude_activities: true to exclude them instead.object | string
{ "min": 3, "max": 10 }, [3, 10] or "3-10". graduation_year takes the same formats.boolean
Veterans only.
boolean
People who viewed your profile (
profile_views_days sets the window).integer
default:10
Number of candidates to return.
integer
default:0
Index of the first candidate to return.
string
Returned by the first page — pass it back with the next
offset to page the same search.boolean
default:false
Also attach LinkedIn’s untouched result under
raw.Response
object
Show data properties
Show data properties
array
Candidates, in the Get Profile shape (
public_id, profile_url, first_name, headline, experience, education…), plus:Show Recruiter fields
Show Recruiter fields
string
integer
Notes the seat holds on them.
messages_count and projects_count work the same.boolean
Whether the seat can InMail them.
inmail_cost is the InMail credits it costs (0 = free).boolean
Open to work, from the member’s own job preferences (
job_preferences).integer
Number of candidates returned.
integer
Total matches.
integer
Echoes the requested
offset.string
Pass it back to page this search.
{
"success": true,
"data": {
"total_results": 1,
"total_available_results": 4812,
"offset": 0,
"search_request_id": "a1b2c3…",
"profiles": [
{
"full_name": "Jane Doe",
"headline": "Growth Marketing Lead",
"location": "Paris, Île-de-France, France",
"profile_url": "https://www.linkedin.com/in/janedoe",
"profile_urn": "urn:li:ts_profile:AEMAA…",
"hire_identity_urn": "urn:li:ts_hire_identity:1670586754",
"can_send_inmail": true,
"inmail_cost": 1,
"notes_count": 0,
"projects_count": 1,
"open_to_opportunities": true
}
]
},
"metadata": {
"action": "search_people_recruiter",
"account_id": "your-seat-account-id",
"credits_consumed": 1,
"timestamp": "2026-10-07T12:00:00Z"
}
}
Example
{
"account_id": "your-seat-account-id",
"action": "search_people_recruiter",
"params": {
"job_title": "Product Manager",
"title_scope": "CURRENT",
"locations": ["105015875"],
"seniority_level": ["Senior", "Manager"],
"years_of_experience": { "min": 3, "max": 10 },
"count": 25
}
}
Was this page helpful?