LinkedIn Voyager Client Service
Direct communication layer interfacing with LinkedIn's internal Voyager REST & GraphQL microservices without official developer APIs or browser automation. Implements normalized JSON parsing, automated CSRF handshakes, job discovery, Easy Apply onsite application submissions, and applicant status tracking.
Authentication & CSRF Handshake
LinkedIn's Voyager API enforces that all requests carry both the user's authenticated session ticket and a CSRF token derived from the active session.
| Header / Cookie | Type | Example | Description |
|---|---|---|---|
li_at |
Cookie | AQEDAT... |
Primary HTTP-only session authentication cookie. |
JSESSIONID |
Cookie | "ajax:89237489234" |
Session identifier holding the CSRF challenge token. |
csrf-token |
Header | ajax:89237489234 |
Enforced Rule: Must match JSESSIONID with surrounding double quotes removed. |
x-restli-protocol-version |
Header | 2.0.0 |
Restli 2.0 microservice protocol specification header. |
Accept |
Header | application/vnd.linkedin.normalized+json+2.1 |
Normalized entity graph format. |
Internal Operations & Endpoints
/voyager/api/me
Validates active session credentials and extracts candidate profile entity URN.
/voyager/api/search/hits?q=jobs&keywords={keywords}&location={location}
Executes direct Voyager job search with filters (remote, posted date, experience level).
/voyager/api/jobs/onsiteJobApplications
Direct RPC application submission for LinkedIn Easy Apply listings. Submits candidate responses, pre-uploaded resume URN, and contact information.
Resilience, Throttling & Checkpoint Guard
- Checkpoint Detection: Automatically intercepts HTTP 403 or 999 responses with redirect targets containing
/checkpoint/challenge/. Instantly halts automated jobs, marks connection asREQUIRES_AUTHORIZATION, and triggers Telegram alerts. - Humanized Cooldown: Enforces random jittered delays (30s – 90s) between submissions.
- Bounded Retries: 3 attempts with exponential backoff on transient HTTP 429 and 503 errors.