Enrich a profile
Turn any LinkedIn profile URL into a full live record, scraped at request time.
POST
https://api.up2data.ai/v1/profiles/enrichPure LinkedIn profile scraping, with no email finding or third-party blending. Typical latency is 2 to 8 seconds. Identify the profile with url or urn; provide exactly one. Restricting the response with fields does not reduce the cost.
Info
Listing followers_count or connections_count in fields opts into the same extra scrape as with_followers_and_connections. Listing skill_endorsements opts into the same full-skills scrape as with_full_skills_and_endorsements.
Info
Send many as batch items at 1 credit each. See the batch endpoint.
#Request
| Field | Type | Notes |
|---|---|---|
url | string | Public profile URL or public identifier. Provide url or urn. |
urn | string | LinkedIn member URN, if already known. Provide url or urn. |
fields | string[] | Restrict the response to these top-level fields. Same cost. |
with_followers_and_connections | boolean | Default false. Adds followers_count/connections_count via a second LinkedIn request. Raises the rate to 4 credits (does not stack with the other option); extra latency. |
with_full_skills_and_endorsements | boolean | Default false. Returns every skill (up to 50) plus skill_endorsements, instead of the first 20 skills. Raises the rate to 4 credits (does not stack with the other option); extra latency. |
#Call it
curl -X POST "https://api.up2data.ai/v1/profiles/enrich" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.linkedin.com/in/satyanadella",
"with_followers_and_connections": true,
"with_full_skills_and_endorsements": true
}'import requests
url = "https://api.up2data.ai/v1/profiles/enrich"
headers = {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"url": "https://www.linkedin.com/in/satyanadella",
"with_followers_and_connections": True,
"with_full_skills_and_endorsements": True
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const url = "https://api.up2data.ai/v1/profiles/enrich";
const headers = {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
};
const body = {
"url": "https://www.linkedin.com/in/satyanadella",
"with_followers_and_connections": true,
"with_full_skills_and_endorsements": true
};
const response = await fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
});
const data = await response.json();
console.log(data);package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.up2data.ai/v1/profiles/enrich"
body := bytes.NewBufferString(`{
"url": "https://www.linkedin.com/in/satyanadella",
"with_followers_and_connections": true,
"with_full_skills_and_endorsements": true
}`)
req, err := http.NewRequest("POST", url, body)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(respBody))
}#Response
{
"data": {
"url": "https://www.linkedin.com/in/satyanadella",
"full_name": "Satya Nadella",
"first_name": "Satya",
"last_name": "Nadella",
"public_identifier": "satyanadella",
"headline": "Chairman and CEO at Microsoft",
"location": {
"city": "Redmond",
"region": "Washington",
"country": "United States",
"raw": "Redmond, Washington, United States"
},
"about": "Empowering every person and every organization on the planet to achieve more.",
"urn": "urn:li:member:19186432",
"linkedin_id": "19186432",
"profile_urn": "urn:li:fsd_profile:ACoAAAEyX8gBmX0wjgGmBhKd8rC5WYkYlKk",
"positions": [
{
"title": "Chairman and CEO",
"company": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"linkedin_id": "1035",
"position_id": "urn:li:fsd_profilePosition:(ACoAAAEyX8gBmX0wjgGmBhKd8rC5WYkYlKk,2227646598)",
"started_at": "2014-02",
"ended_at": null,
"description": "CEO since 2014; Chairman since 2021.",
"skills": [
"Cloud Computing",
"Leadership"
],
"company_industry": "Software Development",
"company_headcount": "10001+",
"company_logo_url": "https://media.licdn.com/dms/image/v2/C560BAQExample/company-logo_200_200/0/microsoft"
},
{
"title": "Executive Vice President, Cloud and Enterprise",
"company": "Microsoft",
"company_url": "https://www.linkedin.com/company/microsoft",
"linkedin_id": "1035",
"position_id": "urn:li:fsd_profilePosition:(ACoAAAEyX8gBmX0wjgGmBhKd8rC5WYkYlKk,1841102234)",
"started_at": "2011-02",
"ended_at": "2014-02",
"description": "Led the transformation to cloud and the launch of Azure.",
"skills": [
"Cloud Computing",
"Enterprise Software"
],
"company_industry": "Software Development",
"company_headcount": "10001+",
"company_logo_url": "https://media.licdn.com/dms/image/v2/C560BAQExample/company-logo_200_200/0/microsoft"
}
],
"current_company": {
"name": "Microsoft",
"url": "https://www.linkedin.com/company/microsoft",
"linkedin_id": "1035",
"title": "Chairman and CEO",
"started_at": "2014-02",
"logo_url": "https://media.licdn.com/dms/image/v2/C560BAQExample/company-logo_200_200/0/microsoft",
"industry": "Software Development",
"headcount": "10001+"
},
"education": [
{
"school": "The University of Chicago Booth School of Business",
"degree": "MBA",
"field": "Business Administration",
"activities": "President, High Tech Club",
"education_id": "urn:li:fsd_profileEducation:(ACoAAAEyX8gBmX0wjgGmBhKd8rC5WYkYlKk,615479904)",
"school_logo_url": "https://media.licdn.com/dms/image/v2/C4D0BAQExample/company-logo_200_200/0/chicago-booth",
"started_at": "1994",
"ended_at": "1996"
},
{
"school": "University of Wisconsin-Milwaukee",
"degree": "MS",
"field": "Computer Science",
"education_id": "urn:li:fsd_profileEducation:(ACoAAAEyX8gBmX0wjgGmBhKd8rC5WYkYlKk,615479905)",
"school_logo_url": "https://media.licdn.com/dms/image/v2/C4D0BAQExample/company-logo_200_200/0/uwm"
}
],
"skills": [
"Cloud Computing",
"Leadership",
"Enterprise Software",
"Artificial Intelligence (AI)",
"Strategy",
"Product Management"
],
"languages": [
"English",
"Telugu"
],
"certifications": [
{
"name": "AWS Certified Cloud Practitioner",
"authority": "Amazon Web Services (AWS)",
"issued_at": "2023-04",
"expires_at": "2026-04",
"url": "https://www.credly.com/badges/example-aws",
"linkedin_id": "2382910",
"license_number": "AWS-CCP-4821937"
}
],
"is_open_to_work": true,
"profile_picture_url": "https://media.licdn.com/dms/image/v2/D5603AQExample/profile-displayphoto-shrink_800_800/0/satyanadella",
"followers_count": 11482930,
"connections_count": 500,
"scraped_at": "2026-07-07T14:00:04Z",
"skill_endorsements": [
{
"name": "Cloud Computing",
"endorsement_count": 312
},
{
"name": "Leadership",
"endorsement_count": 274
},
{
"name": "Enterprise Software",
"endorsement_count": 87
},
{
"name": "Artificial Intelligence (AI)",
"endorsement_count": 64
},
{
"name": "Strategy",
"endorsement_count": 52
},
{
"name": "Product Management",
"endorsement_count": 31
}
],
"publications": [
{
"title": "Hit Refresh",
"publisher": "Harper Business",
"published_at": "2017-09",
"url": "https://www.harpercollins.com/products/hit-refresh"
}
],
"patents": [
{
"title": "Distributed resource management in a cloud computing environment",
"number": "US10127086B2",
"issued_at": "2018-11"
}
],
"awards": [
{
"title": "Financial Times Person of the Year",
"issuer": "Financial Times",
"issued_at": "2019"
}
],
"interests": [
"Artificial Intelligence",
"Climate",
"Education"
],
"projects": [
{
"name": "Microsoft Azure",
"title": "Cloud platform",
"description": "Hyperscale cloud for enterprises and developers.",
"url": "https://azure.microsoft.com",
"started_at": "2011-02",
"ended_at": null
}
],
"recommendations": [
{
"text": "Satya is an exceptional leader who sets a high bar for culture and product.",
"relationship": "Worked with Satya on the same team",
"created_at": "2021-03-15T00:00:00Z",
"person": {
"url": "https://www.linkedin.com/in/example-vp",
"full_name": "Alex Example",
"headline": "EVP, Cloud + AI at Microsoft",
"urn": "ACoAABOPHB8BM6example"
}
}
],
"primary_locale": "en_US",
"is_premium": true,
"is_verified": true,
"is_open_profile": false,
"job_preferences": {
"titles": [
"Board Member",
"Advisor"
],
"locations": [
"Greater Seattle Area",
"San Francisco Bay Area"
],
"workplace_types": [
"hybrid",
"remote"
],
"start_timing": "flexible"
}
},
"meta": {
"creditsUsed": 4,
"creditsRemaining": 98417,
"billed": true,
"reason": "profile_found",
"requestId": "req_8f2ka91x",
"latencyMs": 5240
}
}#Errors
| Status | Type | When | Billed |
|---|---|---|---|
| 400 | invalid_request | Malformed body, unknown field, or bad URL format. | No |
| 401 | invalid_api_key | Missing, malformed, or revoked key. | No |
| 402 | insufficient_credits | Balance can't cover the call. | No |
| 422 | unprocessable_target | Target not found, private, deleted, or unreachable. | Yes |
| 429 | rate_limited | Over the 300 requests/min per-key limit. Honor Retry-After. | No |
| 500 | internal_error | Something broke on the server side. | No |
| 504 | upstream_timeout | The live scrape didn't complete in time. | No |
See the Errors guide for every error type this version can return.