For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DashboardGet API Key
GuidesAPI ReferenceCommon Patterns
  • Getting Started
    • Welcome
    • Introduction
    • Quickstart
    • Authentication
  • Core Concepts
    • Sessions & Cookies
    • Profiles
    • Messaging
    • Posts & Engagement
    • Connections
    • Search
    • SalesNav
    • SalesNav Filters
  • Playbooks
    • Multi-Step Workflows
    • Query Patterns
  • Workflow Guides
    • Lead Discovery
    • Warm Outreach
    • Content Intelligence
    • Company Research
    • Job Market Intelligence
    • Webhooks
  • Integration
    • MCP Server
    • WebSocket Relay
DashboardGet API Key
On this page
  • Profiles
  • Your Own Profile
  • Any Profile by Vanity Name
  • Contact Info
  • Skills
  • Network Stats
  • Profile Viewers
  • Member Badges
  • Relationship Status
  • Batch Profile Reads
  • Batch Relationship Checks
  • Email Address
  • Profile Activity
  • Recommendations
  • Related
Core Concepts

Profiles

Was this page helpful?
Previous

Messaging

Next
Built with

Profiles

Voyager provides comprehensive profile access — your own profile, any public profile, contact info, skills, recommendations, badges, and network stats. All profile endpoints are pure HTTP against LinkedIn’s internal APIs (REST first, GraphQL fallback).

Every response is wrapped in the Voyager envelope: { success, statusCode, message, data, errors }. The JSON examples below show only the data payload — in your client, access it as res.data.profile, not res.profile. See Introduction for the full envelope shape.

Your Own Profile

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/me"
1{
2 "success": true,
3 "profile": {
4 "fullName": "Jane Smith",
5 "headline": "VP Engineering at Acme Corp",
6 "vanityName": "janesmith",
7 "entityUrn": "urn:li:fsd_profile:ABC123",
8 "location": "San Francisco Bay Area",
9 "positions": [
10 {
11 "title": "VP Engineering",
12 "companyName": "Acme Corp",
13 "companyUrn": "urn:li:fsd_company:12345",
14 "startDate": { "year": 2023, "month": 1 }
15 }
16 ],
17 "education": [
18 {
19 "school": "Stanford University",
20 "degree": "MS",
21 "field": "Computer Science",
22 "startYear": 2015,
23 "endYear": 2017
24 }
25 ]
26 }
27}

Any Profile by Vanity Name

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/williamhgates"

The vanity name is the string after /in/ in a LinkedIn profile URL. For example, https://www.linkedin.com/in/williamhgates has vanity name williamhgates.

Profile responses include entityUrn which you can cache and reuse in messaging endpoints via the recipientUrn parameter for faster sends.

Contact Info

Get email, phone, Twitter, and website data for a profile. Contact info is typically only available for 1st-degree connections.

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/janesmith/contact"
1{
2 "success": true,
3 "contact": {
4 "emailAddress": "jane@acme.com",
5 "phoneNumbers": ["+1-555-0123"],
6 "twitterHandles": ["janesmith"],
7 "websites": ["https://janesmith.dev"]
8 }
9}

Contact info is only available for 1st-degree connections. For 2nd/3rd-degree profiles, fields will be empty or null.

Skills

Get endorsed skills with endorsement counts:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/janesmith/skills"
1{
2 "success": true,
3 "skills": [
4 { "name": "Distributed Systems", "endorsementCount": 42 },
5 { "name": "Python", "endorsementCount": 38 },
6 { "name": "Machine Learning", "endorsementCount": 27 }
7 ]
8}

Network Stats

Get follower, connection, and following counts:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/janesmith/network"
1{
2 "success": true,
3 "followersCount": 12500,
4 "connectionsCount": 890,
5 "followingCount": 340
6}

Profile Viewers

See who viewed your profile recently:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/viewers"

Member Badges

Check Premium status, Open Profile, and other badges:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/member-badges?profileUrl=https://www.linkedin.com/in/janesmith/"
1{
2 "success": true,
3 "badges": {
4 "premium": true,
5 "openProfile": true,
6 "influencer": false,
7 "jobSeeker": false
8 }
9}

Relationship Status

Check connection degree and messaging eligibility:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/relationship/status?profileUrl=https://www.linkedin.com/in/janesmith/"
1{
2 "success": true,
3 "data": {
4 "connected": true,
5 "connectionDegree": "1ST",
6 "canMessageDirectly": true,
7 "openProfile": false,
8 "pendingInvitationSent": false
9 }
10}

Batch Profile Reads

Fetch up to 25 profiles in a single request:

$curl -X POST "$BASE/api/profiles/read" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "profiles": [
> {"vanityName": "williamhgates"},
> {"vanityName": "jeffweiner08"},
> {"vanityName": "satlogin"}
> ]
> }'
1{
2 "success": true,
3 "count": 3,
4 "results": [
5 { "input": {"vanityName": "williamhgates"}, "success": true, "data": { "fullName": "Bill Gates", ... } },
6 { "input": {"vanityName": "jeffweiner08"}, "success": true, "data": { "fullName": "Jeff Weiner", ... } },
7 { "input": {"vanityName": "satlogin"}, "success": false, "error": "Profile not found" }
8 ]
9}

Batch results process sequentially with short delays between requests to stay within LinkedIn’s comfort zone.

Batch Relationship Checks

Check relationship status for up to 20 profiles at once:

$curl -X POST "$BASE/api/relationships/read" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "profiles": [
> {"vanityName": "janesmith"},
> {"vanityName": "johndoe"}
> ]
> }'

Email Address

Extract a member’s email address (requires connection or certain access levels):

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/janesmith/email"

Profile Activity

Get a person’s recent LinkedIn posts and activity:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/janesmith/posts?count=10"

Useful for understanding what someone cares about before reaching out.

Recommendations

Get endorsements and recommendations for a profile:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/profile/janesmith/recommendations"

Related

  • Search — Find profiles by keywords, company, or title
  • Connections — Send connection requests and manage your network
  • SalesNav — Account intelligence, dossier, employee insights
  • Batch Operations — All batch endpoint details