People Search
curl --request POST \
--url https://api.datamagnet.co/api/v1/people/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "<string>",
"page": 123,
"title_free_text": "<string>",
"company_free_text": "<string>",
"company_linkedin_url": "<string>",
"first_name": "<string>",
"last_name": "<string>"
}
'import requests
url = "https://api.datamagnet.co/api/v1/people/search"
payload = {
"keyword": "<string>",
"page": 123,
"title_free_text": "<string>",
"company_free_text": "<string>",
"company_linkedin_url": "<string>",
"first_name": "<string>",
"last_name": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
keyword: '<string>',
page: 123,
title_free_text: '<string>',
company_free_text: '<string>',
company_linkedin_url: '<string>',
first_name: '<string>',
last_name: '<string>'
})
};
fetch('https://api.datamagnet.co/api/v1/people/search', 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.datamagnet.co/api/v1/people/search",
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([
'keyword' => '<string>',
'page' => 123,
'title_free_text' => '<string>',
'company_free_text' => '<string>',
'company_linkedin_url' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.datamagnet.co/api/v1/people/search"
payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"page\": 123,\n \"title_free_text\": \"<string>\",\n \"company_free_text\": \"<string>\",\n \"company_linkedin_url\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.datamagnet.co/api/v1/people/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"page\": 123,\n \"title_free_text\": \"<string>\",\n \"company_free_text\": \"<string>\",\n \"company_linkedin_url\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.datamagnet.co/api/v1/people/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\",\n \"page\": 123,\n \"title_free_text\": \"<string>\",\n \"company_free_text\": \"<string>\",\n \"company_linkedin_url\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"data": {
"people": [
{
"full_name": "Raphaël Marinier",
"first_name": "Raphaël",
"last_name": "Marinier",
"headline": "Software Engineer chez Google",
"location": "Greater Paris Metropolitan Region",
"url": "https://www.linkedin.com/in/rapha%C3%ABl-marinier-6a14621a0",
"urn": "ACoAAC8Np1kB17Ro_b3eo8YZWUZFudbt9lrg1Tw",
"profile_image_url": "https://media.licdn.com/dms/image/v2/C5603AQGPFPcmGMPj6w/profile-displayphoto-shrink_100_100/0/1516242909401"
}
],
"total": 1000,
"start": 0,
"count": 50,
"has_more": true
},
"credit_used": 5
}
People Search
Search LinkedIn members by keyword with filters for job title, company, and name. Returns matching profiles in structured JSON.
POST
/
api
/
v1
/
people
/
search
People Search
curl --request POST \
--url https://api.datamagnet.co/api/v1/people/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keyword": "<string>",
"page": 123,
"title_free_text": "<string>",
"company_free_text": "<string>",
"company_linkedin_url": "<string>",
"first_name": "<string>",
"last_name": "<string>"
}
'import requests
url = "https://api.datamagnet.co/api/v1/people/search"
payload = {
"keyword": "<string>",
"page": 123,
"title_free_text": "<string>",
"company_free_text": "<string>",
"company_linkedin_url": "<string>",
"first_name": "<string>",
"last_name": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
keyword: '<string>',
page: 123,
title_free_text: '<string>',
company_free_text: '<string>',
company_linkedin_url: '<string>',
first_name: '<string>',
last_name: '<string>'
})
};
fetch('https://api.datamagnet.co/api/v1/people/search', 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.datamagnet.co/api/v1/people/search",
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([
'keyword' => '<string>',
'page' => 123,
'title_free_text' => '<string>',
'company_free_text' => '<string>',
'company_linkedin_url' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.datamagnet.co/api/v1/people/search"
payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"page\": 123,\n \"title_free_text\": \"<string>\",\n \"company_free_text\": \"<string>\",\n \"company_linkedin_url\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.datamagnet.co/api/v1/people/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"page\": 123,\n \"title_free_text\": \"<string>\",\n \"company_free_text\": \"<string>\",\n \"company_linkedin_url\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.datamagnet.co/api/v1/people/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"keyword\": \"<string>\",\n \"page\": 123,\n \"title_free_text\": \"<string>\",\n \"company_free_text\": \"<string>\",\n \"company_linkedin_url\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"data": {
"people": [
{
"full_name": "Raphaël Marinier",
"first_name": "Raphaël",
"last_name": "Marinier",
"headline": "Software Engineer chez Google",
"location": "Greater Paris Metropolitan Region",
"url": "https://www.linkedin.com/in/rapha%C3%ABl-marinier-6a14621a0",
"urn": "ACoAAC8Np1kB17Ro_b3eo8YZWUZFudbt9lrg1Tw",
"profile_image_url": "https://media.licdn.com/dms/image/v2/C5603AQGPFPcmGMPj6w/profile-displayphoto-shrink_100_100/0/1516242909401"
}
],
"total": 1000,
"start": 0,
"count": 50,
"has_more": true
},
"credit_used": 5
}
People Search
Cost:10 credits/search.
Search for LinkedIn people using keyword and filter parameters. Each page returns up to 50 results.
People search endpoint
This endpoint allows you to search for LinkedIn people by keyword, job title, company, and name filters. To filter by a specific company, pass the company’s LinkedIn URL incompany_linkedin_url — it is automatically resolved to the company’s LinkedIn ID and applied as a current-company filter. The filter matches anyone who holds a current role at that company, which may not be the role in their headline, and a small share of results can be out of date. For the exact role of each person, use ICP People Search, which returns the company of each result.
Optional attributes
string
General search keyword. Example:
software engineerinteger
default:1
Page number for pagination. Minimum value is
1. Each page contains up to 50 results.string
Filter by job title. Example:
CTOstring
Filter by company name. Example:
Microsoftstring
Filter by the person’s current company using its LinkedIn URL. Example:
https://www.linkedin.com/company/google/. Returns a 400 error if the URL cannot be resolved to a LinkedIn company.string
Filter by first name. Example:
Johnstring
Filter by last name. Example:
SmithResponse
{
"status": "ok",
"data": {
"people": [
{
"full_name": "Raphaël Marinier",
"first_name": "Raphaël",
"last_name": "Marinier",
"headline": "Software Engineer chez Google",
"location": "Greater Paris Metropolitan Region",
"url": "https://www.linkedin.com/in/rapha%C3%ABl-marinier-6a14621a0",
"urn": "ACoAAC8Np1kB17Ro_b3eo8YZWUZFudbt9lrg1Tw",
"profile_image_url": "https://media.licdn.com/dms/image/v2/C5603AQGPFPcmGMPj6w/profile-displayphoto-shrink_100_100/0/1516242909401"
}
],
"total": 1000,
"start": 0,
"count": 50,
"has_more": true
},
"credit_used": 5
}
The response model
Properties
string
Status of the response. Example:
okobject
Search results and pagination info.
Show Data object
Show Data object
array
List of matching people.
Show Person object
Show Person object
string
Full name of the person.
string
First name of the person. May be
null when the profile does not show it.string
Last name of the person. May be
null when the profile does not show it.string
The person’s headline or current role description.
string
Location of the person.
string
LinkedIn profile URL.
string
LinkedIn member URN identifier.
string
URL of the person’s profile picture.
integer
Upper bound on the number of results matching the search. The real number of distinct people can be lower, because the same person can appear on more than one page.
integer
Zero-based offset of the first result on this page.
integer
Number of results returned on this page (up to
50, and fewer when repeated people were removed).boolean
Whether more results are available on the next page.
integer
Number of repeated people dropped from this page.
Repeated people are removed within a page, so a page can hold fewer than
50 people: use has_more, not the count, to decide whether to request the next page. The same person can still appear on two different pages, and some people may not be returned. De-duplicate by urn across all pages, and do not expect the number of results to equal total. To list a large group completely, split the search into narrower searches (add title_free_text, a location or a name filter) and merge the results by urn. ICP People Search returns stable, non-overlapping pages.integer
Number of credits used for this request. Example:
10Was this page helpful?