curl --request GET \
--url https://api.captaindata.com/v1/people/enrich \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.captaindata.com/v1/people/enrich"
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.captaindata.com/v1/people/enrich', 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.captaindata.com/v1/people/enrich",
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.captaindata.com/v1/people/enrich"
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.captaindata.com/v1/people/enrich")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.captaindata.com/v1/people/enrich")
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{
"uid": "<string>",
"li_profile_handle": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"birth_date": "<string>",
"headline": "<string>",
"summary": "<string>",
"languages": [
"<string>"
],
"skills": [
{
"name": "<string>"
}
],
"has_more_skills": true,
"li_profile_id": 123,
"li_profile_url": "<string>",
"li_profile_country": "<string>",
"li_profile_language": "<string>",
"location": "<string>",
"li_profile_image_url": "<string>",
"job_title": "<string>",
"education": [
{
"school_uid": "<string>",
"school_name": "<string>",
"li_school_url": "<string>",
"date": "<string>",
"li_school_id": 123,
"degree_name": "<string>"
}
],
"school_name": "<string>",
"li_school_url": "<string>",
"volunteer_experiences": [
{}
],
"li_number_connections": 123,
"experiences": [
{
"title": "<string>",
"company_uid": "<string>",
"company_name": "<string>",
"company_description": "<string>",
"li_company_url": "<string>",
"location": "<string>",
"li_company_id": 123,
"date": "<string>",
"job_time_period": "<string>",
"company_logo_url": "<string>"
}
],
"has_more_experiences": true,
"company_uid": "<string>",
"company_name": "<string>",
"li_company_url": "<string>",
"li_company_id": "<string>",
"li_number_followers": 123,
"li_people_post_search_url": "<string>",
"open_to_work": true,
"past_company_uid": "<string>",
"past_company_name": "<string>",
"past_job_title": "<string>",
"past_li_company_id": "<string>",
"past_li_company_url": "<string>"
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}Enrich People
Get comprehensive profile information from a LinkedIn profile URL.
curl --request GET \
--url https://api.captaindata.com/v1/people/enrich \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.captaindata.com/v1/people/enrich"
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.captaindata.com/v1/people/enrich', 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.captaindata.com/v1/people/enrich",
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.captaindata.com/v1/people/enrich"
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.captaindata.com/v1/people/enrich")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.captaindata.com/v1/people/enrich")
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{
"uid": "<string>",
"li_profile_handle": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"birth_date": "<string>",
"headline": "<string>",
"summary": "<string>",
"languages": [
"<string>"
],
"skills": [
{
"name": "<string>"
}
],
"has_more_skills": true,
"li_profile_id": 123,
"li_profile_url": "<string>",
"li_profile_country": "<string>",
"li_profile_language": "<string>",
"location": "<string>",
"li_profile_image_url": "<string>",
"job_title": "<string>",
"education": [
{
"school_uid": "<string>",
"school_name": "<string>",
"li_school_url": "<string>",
"date": "<string>",
"li_school_id": 123,
"degree_name": "<string>"
}
],
"school_name": "<string>",
"li_school_url": "<string>",
"volunteer_experiences": [
{}
],
"li_number_connections": 123,
"experiences": [
{
"title": "<string>",
"company_uid": "<string>",
"company_name": "<string>",
"company_description": "<string>",
"li_company_url": "<string>",
"location": "<string>",
"li_company_id": 123,
"date": "<string>",
"job_time_period": "<string>",
"company_logo_url": "<string>"
}
],
"has_more_experiences": true,
"company_uid": "<string>",
"company_name": "<string>",
"li_company_url": "<string>",
"li_company_id": "<string>",
"li_number_followers": 123,
"li_people_post_search_url": "<string>",
"open_to_work": true,
"past_company_uid": "<string>",
"past_company_name": "<string>",
"past_job_title": "<string>",
"past_li_company_id": "<string>",
"past_li_company_url": "<string>"
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}{
"error_label": "<string>",
"error_scope": "input",
"error_ref": "ERR-12345",
"message": "<string>",
"status_code": 123,
"params": {},
"data": {}
}1 credit · 2 credits with full_enrich · Credit costs
Full enrichment adds:
- Detailed experiences, skills, education, languages
- Work history, volunteer experiences, connections count
- Past companies, job time periods, open to work status
full_enrich set to true, the response includes at most the 5 most recent experience entries, 2 most recent skills, and 2 most recent education entries.
When has_more_experiences or has_more_skills is true, call List Experiences or List Skills for the complete lists. Licenses and certifications are not included in Enrich — use List Licenses & Certifications.
Enrich accepts li_profile_url only — it does not take people_uid. The list endpoints below do.
List Experiences
has_more_experiences is true.List Skills
has_more_skills is true.List Licenses & Certifications
Authorizations
Query Parameters
A LinkedIn Profile URL should start with 'https://www.linkedin.com/sales/people/', 'https://www.linkedin.com/sales/lead/', 'https://www.linkedin.com/pub/' or 'https://www.linkedin.com/in/'
/^https:\/\/(?:(www|[a-z]{2})\.)?linkedin\.com\/(?:in|pub|sales\/people|sales\/lead)\/[^\s/]+/When true, include a preview of experiences (max 5) and skills (max 2). For complete lists use GET /people/experiences and GET /people/skills. Licenses are not included. Extract a preview of experiences (max 5) and skills (max 2). For complete lists, use GET /people/experiences and GET /people/skills. Licenses and certifications are not included.
Response
Successful response
Show child attributes
Show child attributes
True when the profile has more skills registered on LinkedIn than returned. Call GET /people/skills for the complete list.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
True when the profile has more experiences registered on LinkedIn than returned. Call GET /people/experiences for the complete list.