Quickstart

Quickstart

Prerequisites

You need two things:

  1. An API key (voy_ prefix) — contact us or deploy your own instance
  2. LinkedIn session cookies from your browser

Set up these variables for the examples below:

$export BASE=https://li.scaleabm.org
$export KEY=voy_YOUR_API_KEY
$export USER=your-username

1. Sync your LinkedIn session

Export your LinkedIn cookies from your browser and POST them to Voyager. Include your browser’s User-Agent for best session stability.

$curl -X POST "$BASE/api/session" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "cookies": [
> {"name": "li_at", "value": "YOUR_LI_AT_VALUE", "domain": ".linkedin.com"},
> {"name": "JSESSIONID", "value": "YOUR_JSESSIONID", "domain": ".linkedin.com"}
> ],
> "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
> }'

The li_at and JSESSIONID cookies are the minimum required. Including li_a and li_ep_auth_context enables SalesNav access. Always include userAgent — sessions without it may fail LinkedIn’s fingerprint checks.

The response includes a session health probe:

1{
2 "success": true,
3 "sessionValid": true,
4 "message": "Session synced and validated"
5}

2. Verify your session

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

Response:

1{
2 "success": true,
3 "linkedInSessionValid": true,
4 "salesNavSessionValid": true,
5 "canSend": true,
6 "usage": {
7 "messagesSent": 0,
8 "connectionsRequested": 0,
9 "profilesViewed": 0,
10 "accountAgeDays": 365,
11 "secondsSinceLastAction": 3600
12 }
13}

3. Get your own profile

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

Response:

1{
2 "success": true,
3 "profile": {
4 "fullName": "Jane Smith",
5 "headline": "VP Engineering at Acme Corp",
6 "vanityName": "janesmith",
7 "location": "San Francisco Bay Area",
8 "positions": [
9 {
10 "title": "VP Engineering",
11 "companyName": "Acme Corp",
12 "startDate": { "year": 2023, "month": 1 }
13 }
14 ],
15 "education": [
16 {
17 "school": "Stanford University",
18 "degree": "MS Computer Science",
19 "startYear": 2015,
20 "endYear": 2017
21 }
22 ]
23 }
24}

4. Search for people

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/people?keywords=CEO+Warmly&count=5"

5. Look up any profile

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

What’s next?