Search

Search

Voyager exposes LinkedIn’s internal search APIs for people, companies, content, jobs, and groups. All search endpoints support pagination via start and count parameters, and the people / company endpoints also have Sales Navigator variants with 28 structured filters.

Every Voyager response is wrapped in the standard envelope { success, statusCode, message, data, errors }. The JSON examples below show only the endpoint-specific payload — access res.data.<field> in your client. See Introduction for the full envelope shape.

Search People

Find LinkedIn members by keywords, company, and connection degree:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/people?keywords=CTO&company=Stripe&network=S&count=10"
1{
2 "success": true,
3 "total": 145,
4 "results": [
5 {
6 "fullName": "Jane Smith",
7 "headline": "CTO at Stripe",
8 "vanityName": "janesmith",
9 "profileUrl": "https://www.linkedin.com/in/janesmith/",
10 "location": "San Francisco Bay Area",
11 "connectionDegree": "2ND",
12 "entityUrn": "urn:li:fsd_profile:ABC123"
13 }
14 ]
15}

Parameters

ParameterTypeDescription
keywordsstringSearch terms (name, title, skills)
companystringCompany name — auto-resolved to LinkedIn company ID
networkstringConnection degree filter: F (1st), S (2nd), O (3rd+)
startnumberPagination offset (default: 0)
countnumberResults per page (default: 10, max: 49)
searchUrlstringPaste a LinkedIn or SalesNav SRP URL; keywords + filters parsed out of it
geoUrnstringNumeric LinkedIn geo ID(s), comma-separated. Resolve via /api/lookups/geo.
industrystringNumeric industry ID(s), comma-separated. Resolve via /api/lookups/industries.
schoolstringNumeric school ID(s), comma-separated
pastCompanystringNumeric past-company ID(s), comma-separated
serviceCategorystringService category ID(s), comma-separated
profileLanguagestringLanguage codes (e.g. en,fr)
connectionOfstringMember URN — returns people connected to this profile
followerOfstringMember URN — returns followers of this profile
firstName / lastName / titlestringDirect match filters
schoolFreetextstringFree-text school filter when the school ID is unknown

The company parameter accepts company names (e.g., "Stripe") and auto-resolves them to LinkedIn company IDs via a 3-strategy fallback (GraphQL, REST, Company search). You do not need to find the company ID yourself.

Prefer pasting the full LinkedIn SRP URL into searchUrl — every facet the LinkedIn UI exposes is already encoded there. See SalesNav filters for the parallel SalesNav surface.

Search Companies

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/companies?keywords=fintech+London&count=10"

Search Content

Find posts and articles by keyword:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/content?keywords=AI+infrastructure&count=10"

Pass maxResults=N (1–5000) to server-side auto-paginate past the single-page limit — start/count are ignored and the server loops until the underlying cursor empties or the cap is hit:

$curl -H "Authorization: Bearer $KEY" -H "X-User-Id: $USER" \
> "$BASE/api/search/content?keywords=cosine&mentionsOrganizationId=91573134&maxResults=1000"

The same maxResults shortcut applies to /api/posts/:postId/reactions, /api/posts/:postId/comments, /api/profile/followers, /api/profile/following, /api/connect/received, and /api/invitations/sent.

Search Jobs

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/jobs?keywords=Staff+Engineer&location=San+Francisco&count=25"

Job Detail

Get full details for a specific job posting:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/jobs/3847291056"

Search Groups

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/groups?keywords=AI+engineering&count=10"

Pagination

All search endpoints support offset-based pagination:

$# Page 1
$curl "$BASE/api/search/people?keywords=CTO&start=0&count=10" \
> -H "Authorization: Bearer $KEY" -H "X-User-Id: $USER"
$
$# Page 2
$curl "$BASE/api/search/people?keywords=CTO&start=10&count=10" \
> -H "Authorization: Bearer $KEY" -H "X-User-Id: $USER"
$
$# Page 3
$curl "$BASE/api/search/people?keywords=CTO&start=20&count=10" \
> -H "Authorization: Bearer $KEY" -H "X-User-Id: $USER"

When results are exhausted, the response returns 0 results. See Pagination for a complete looping pattern.

For advanced lead search with richer filters and data, use the SalesNav search endpoint. See SalesNav.

  • Between search pages: 3-5 seconds
  • Daily search volume: No hard limit, but high-volume searching can trigger LinkedIn rate limits

LinkedIn returns a maximum of ~1,000 results for any search query, even if the total count is higher. Use specific keywords and filters to narrow your results.