v2

latestOpenAPI 3.0.3AGPL-3.0 license2026-07-2613501.9 MB
salesNav

Sales Navigator People/Lead Search

Sales Navigator People Search

Search for leads in LinkedIn Sales Navigator with advanced filters. Returns enriched profile data including tenure, premium status, and open profile flag.

Available filters

FilterTypeDescription
keywordsstringSearch terms
titlestringJob title keywords
company{include?, exclude?}Company IDs with include/exclude
industry{include?, exclude?}Industry IDs with include/exclude
locationstring[]Geography IDs
senioritystring[]Seniority levels (1-10)
functionstring[]Job function IDs
tenure{min?, max?}[]Years at current company
profileLanguagestring[]Profile language codes
connectionDegreestring[]Network distance (1, 2, 3)
schoolstring[]School IDs
yearsOfExperiencestring[]Experience ranges

Response fields (per item)

FieldTypeDescription
idstringSales Navigator lead ID
name, firstName, lastNamestringName
memberUrnstringLinkedIn member URN
profileUrnstringCanonical profile URN (urn:li:fsd_profile:ACoA... or urn:li:fsd_profile:ACwA...) — use directly with visit/connect/message endpoints
profileUrlstringPublic LinkedIn profile URL https://www.linkedin.com/in/<encrypted-id>. Sales Nav does not expose canonical vanity slugs — open in a browser and LinkedIn redirects to /in/<vanity-name>. To resolve programmatically, call POST /resolve/linkedin/profiles.
salesNavUrlstringSales Navigator lead URL
networkDistancestringConnection degree
premiumbooleanLinkedIn Premium subscriber
openProfilebooleanAccepts free InMail
pendingInvitationbooleanConnection request already sent
currentPositionsarrayWith company, role, tenure details

Credits

JSON validity (critical)

Every array field (seniority, function, location, companyHeadcount, companyType, annualRevenue, connectionDegree, yearsOfExperience, profileLanguage, school) MUST be a valid JSON array of double-quoted strings, e.g. ["Director","Vice President"]. Never pipe-separated prose (Director | Vice President), never unquoted values (United States), never merge multiple options into one element. Malformed JSON means the filter is dropped and the search runs unfiltered.

post/search/linkedin/sales-nav/people

Request body

category'people' | 'companies'

Type of Sales Navigator search: 'people' (leads) or 'companies' (accounts). Required unless url is provided.

urlstring

Sales Navigator search URL — paste directly from your browser. Category and filters are extracted automatically. Explicit params override URL-derived values. Example: https://www.linkedin.com/sales/search/people?query=...

keywordsstring

Search keywords. Supports LinkedIn Boolean syntax: use double quotes for exact phrases, AND/OR/NOT operators (UPPERCASE), and parentheses for grouping.

titlestring

Job title keywords (people only). Supports Boolean OR: 'CEO OR CTO OR Founder'.

locationstring[]

Geography filter (people & companies). Accepts location names ('France', 'San Francisco Bay Area', 'EMEA') OR LinkedIn geo ids. Server resolves via typeahead.

locationExcludestring[]

Geography filter to EXCLUDE. Same accepted shapes as location. Useful for 'all of Europe except Switzerland' patterns.

senioritystring[]

Seniority levels (people only). Accepts labels ('CXO', 'VP', 'Director', 'Owner / Partner', 'Senior', 'Entry Level', etc.) OR LinkedIn numeric ids. Server resolves labels to LinkedIn's 3-digit ids (CXO=310, etc.) — do NOT guess the ids.

functionstring[]

Job function (people only). Accepts function names ('Sales', 'Engineering', 'Marketing', 'Finance', etc. — 26 canonical) OR LinkedIn numeric ids.

profileLanguagestring[]

Profile language (people only). Accepts ISO 639-1 codes (e.g. 'en') or full language names; the server resolves either.

connectionDegreestring[]

Network distance: 'F' (1st-degree), 'S' (2nd-degree), 'O' (3rd-degree and beyond), or 'GROUP'. The labels '1st degree', '2nd degree', '3rd degree' are also accepted.

schoolstring[]

School filter (people only). Accepts school names ('Stanford', 'HEC Paris') OR LinkedIn numeric ids. Server resolves via typeahead.

yearsOfExperiencestring[]

Overall years of experience (people only). Accepts labels ('Less than 1 year', '1 to 2 years', '3 to 5 years', '6 to 10 years', 'More than 10 years') OR LinkedIn numeric ids 1-5.

personastring[]

Buyer Persona IDs the user has configured on sales.linkedin.com home (combos of function+seniority+title+geo). Match the IDs from the URL filter ((type:PERSONA,values:List((id:<id>,…)))).

recentlyChangedJobsboolean

Filter to leads who changed jobs in the last 90 days (LinkedIn buying-intent flag). True = include only job-changers; omit/false = no constraint.

postedOnLinkedinboolean

Filter to leads who recently posted on LinkedIn (engagement signal — active posters reply more often). True = include only recent posters; omit/false = no constraint.

sharedExperiencesboolean

Filter to leads with shared experience with the searcher (same school / past employer / group). True = include only shared-experience matches; omit/false = no constraint.

viewedYourProfileboolean

Filter to leads who recently viewed YOUR profile (LinkedIn flag VYP). Highest-intent engagement signal — they already showed interest. Requires Sales Nav seat that captures profile views.

followsYourCompanyboolean

Filter to leads who follow YOUR company page (LinkedIn flag CF). Warm-touch signal — they opted into your brand.

connectionOfstring[]

Filter to leads connected to a specific person. Values are LinkedIn ENCRYPTED member URN ids (e.g. 'ACwAAAim9ZcB…'), not numeric ids. Useful for 'find people connected to my champion at X' warm-intro patterns.

yearsInCurrentPositionstring[]

Years in current ROLE/POSITION (people only). Same accepted labels as yearsOfExperience ('Less than 1 year', '1 to 2 years', etc.). Distinct from tenure which counts years at current COMPANY.

pastTitlestring

Past job title keywords (people only). Free-text, supports Boolean OR. Finds leads who previously held a matching title.

firstNamestring

First name (people only). Exact name filter.

lastNamestring

Last name (people only). Exact name filter.

groupsstring[]

LinkedIn Groups membership (people only). Accepts group names ('Digital Marketing') OR numeric group ids. Server resolves names via typeahead.

pastColleagueboolean

Filter to leads who are past colleagues of the searcher (worked at the same company, overlapping dates). True = include only past colleagues; omit/false = no constraint. Warm-intro signal.

leadInteractionsstring[]

Filter by your past interaction with the lead (people only). Accepts labels ('Messaged') OR LinkedIn codes.

savedLeadsAndAccountsstring[]

Filter to your saved leads / accounts (people only). Accepts 'All my saved leads' / 'All my saved accounts' OR codes SL/SA.

numOfFollowersstring[]

Company follower-count buckets (companies only). Accepts labels ('1-50', '51-100', '101-1,000', '1,001-5,000', '5,001+') OR ids 1-5.

fortunestring[]

Fortune-list membership (companies only). Accepts 'Fortune 50' / 'Fortune 100' / 'Fortune 250' / 'Fortune 500' OR codes FORTUNE_50/100/250/500.

accountActivitiesstring[]

Account buying-intent signals (companies only). Accepts labels ('Senior leadership changes in last 3 months', 'Funding events in past 12 months') OR codes SLC/RFE.

jobOpportunitiesstring[]

Account hiring signals (companies only). Accepts the LinkedIn hiring-signal labels OR codes.

startinteger

Pagination offset (default 0).

countinteger

Results per page (default 25, max 25).

campaignSlugstring

Campaign ID. Auto-adds discovered contacts to this campaign in background. Mandatory whenever a campaign is active.

Response

Sales Navigator people search results

successtrue required
category'people' required
hasMoreboolean required
creditsUsedinteger required

Credits consumed by this call (0 for free endpoints, cached results, or duplicates).

retryAfterinteger required

Seconds to wait before making another call of the same type. 0 means no wait needed.