Direct RPC IMPLEMENTED & VERIFIED

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 / CookieTypeExampleDescription
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

GET /voyager/api/me

Validates active session credentials and extracts candidate profile entity URN.

curl 'https://www.linkedin.com/voyager/api/me' \ -H 'csrf-token: ajax:89237489234' \ -H 'x-restli-protocol-version: 2.0.0' \ -H 'Cookie: li_at=AQEDAT...; JSESSIONID="ajax:89237489234"'
GET /voyager/api/search/hits?q=jobs&keywords={keywords}&location={location}

Executes direct Voyager job search with filters (remote, posted date, experience level).

POST /voyager/api/jobs/onsiteJobApplications

Direct RPC application submission for LinkedIn Easy Apply listings. Submits candidate responses, pre-uploaded resume URN, and contact information.

{ "jobPostingUrn": "urn:li:fsd_jobPosting:3892839210", "responses": [ { "questionUrn": "urn:li:fsd_question:101", "answer": { "stringAnswer": "Immediate" } }, { "questionUrn": "urn:li:fsd_question:102", "answer": { "stringAnswer": "Yes" } } ], "contactDetail": { "emailAddress": "candidate@useme.ai", "phoneNumber": { "number": "+1234567890", "countryCode": "US" } }, "resume": "urn:li:digitalMediaAsset:D560...9" }

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 as REQUIRES_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.