# LinkedIn Sales Navigator Lead Search API

> LinkedIn lead search with Sales Navigator's search and filters: one call returns a page of up to 25 people matching a keyword and Sales Navigator lead filters (location, job title, current and past company, school, seniority, function, company size, and more), or the results of a Sales Navigator lead-search URL you built yourself. Each lead comes with name, current positions, location, summary, and photo, and its url opens the profile and can be passed to linkedin.profile for the full record. For full profiles in one call use linkedin.search_profiles.

Source: https://www.sandbase.ai/apis/linkedin/search-leads
API reference: https://www.sandbase.ai/apis/linkedin/search-leads/docs

## Facts

- Provider: LinkedIn
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/linkedin/search-leads`
- Price: From $0.07 per call
- Capabilities: api, linkedin, social media
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/linkedin/search-leads` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `page` | integer | no |  |
| `query` | string | no |  |
| `schools` | array | no |  |
| `jobTitle` | string | no |  |
| `location` | string | no |  |
| `lastNames` | array | no |  |
| `firstNames` | array | no |  |
| `functionIds` | array | no |  |
| `salesNavUrl` | string | no |  |
| `pastCompanies` | array | no |  |
| `pastJobTitles` | array | no |  |
| `excludeSchools` | array | no |  |
| `companyHeadcount` | array | no |  |
| `currentCompanies` | array | no |  |
| `excludeLocations` | array | no |  |
| `profileLanguages` | array | no |  |
| `seniorityLevelIds` | array | no |  |
| `excludeFunctionIds` | array | no |  |
| `recentlyChangedJobs` | boolean | no |  |
| `excludePastCompanies` | array | no |  |
| `excludePastJobTitles` | array | no |  |
| `yearsOfExperienceIds` | array | no |  |
| `excludeCurrentCompanies` | array | no |  |
| `excludeCurrentJobTitles` | array | no |  |
| `excludeSeniorityLevelIds` | array | no |  |
| `recentlyPostedOnLinkedIn` | boolean | no |  |
| `yearsAtCurrentCompanyIds` | array | no |  |
| `companyHeadquarterLocations` | array | no |  |
| `excludeCompanyHeadquarterLocations` | array | no |  |

## FAQ

### How do I use the LinkedIn Sales Navigator Lead Search API?

Send a POST request to https://api.sandbase.ai/v1/api/linkedin/search-leads with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the LinkedIn Sales Navigator Lead Search API cost?

From $0.07 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.

### What parameters does the LinkedIn Sales Navigator Lead Search API accept?

No parameters are required. Optional: page (integer), query (string), schools (array), jobTitle (string), location (string) and lastNames (array) and 23 more. The Parameters table and the Playground on this page list every field.

### What does the LinkedIn Sales Navigator Lead Search API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a LinkedIn developer account or API key?

No. LinkedIn Sales Navigator Lead Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for LinkedIn API access separately.

## README

### LinkedIn Sales Navigator Lead Search API

LinkedIn lead search with Sales Navigator's search and filters: one call returns a page of up to 25 people matching a keyword and Sales Navigator lead filters (location, job title, current and past company, school, seniority, function, company size, and more), or the results of a Sales Navigator lead-search URL you built yourself. Each lead comes with name, current positions, location, summary, and photo, and its url opens the profile and can be passed to linkedin.profile for the full record. For full profiles in one call use linkedin.search_profiles.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "linkedin/search-leads", "query": "engineer", "currentCompanies": ["Google"]}'
```

The result is returned in `outputs[0].data`. A lookup that finds nothing still succeeds and returns `found: false`.

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `companyHeadcount` | array | No | Filter by current company size (employee count). Codes: A=Self-Employed, B=1-10, C=11-50, D=51-200, E=201-500, F=501-1,000, G=1,001-5,000, H=5,001-10,000, I=10,001+. |
| `companyHeadquarterLocations` | array | No | Filter by the location of the person's current company headquarters, by place name (e.g. ['United States']). Commas are not allowed in a value. Up to 70 values. |
| `currentCompanies` | array | No | Filter to people who currently work at any of these companies, by name (e.g. ['Google','Meta']). Multiple names widen the match (OR). Commas are not allowed in a value. Up to 50 values. |
| `excludeCompanyHeadquarterLocations` | array | No | Exclude people whose current company is headquartered in any of these locations. Commas are not allowed in a value. Up to 70 values. |
| `excludeCurrentCompanies` | array | No | Exclude people who currently work at any of these companies, by name. Commas are not allowed in a value. Up to 50 values. |
| `excludeCurrentJobTitles` | array | No | Exclude people whose current job title matches any of these. Commas are not allowed in a value. Up to 70 values. |
| `excludeFunctionIds` | array | No | Exclude these job functions (same codes as functionIds). Up to 30 values. |
| `excludeLocations` | array | No | Exclude people in any of these locations, by place name. Commas are not allowed in a value. Up to 70 values. |
| `excludePastCompanies` | array | No | Exclude people who previously worked at any of these companies, by name. Commas are not allowed in a value. Up to 50 values. |
| `excludePastJobTitles` | array | No | Exclude people who held any of these past job titles. Commas are not allowed in a value. Up to 70 values. |
| `excludeSchools` | array | No | Exclude people who attended any of these schools, by name. Commas are not allowed in a value. Up to 50 values. |
| `excludeSeniorityLevelIds` | array | No | Exclude these seniority levels (same codes as seniorityLevelIds). Up to 20 values. |
| `firstNames` | array | No | Filter to people whose first name matches any of these. Commas are not allowed in a value. Up to 70 values. |
| `functionIds` | array | No | Filter by job function. Codes: 1=Accounting, 2=Administrative, 3=Arts and Design, 4=Business Development, 5=Community and Social Services, 6=Consulting, 7=Education, 8=Engineering, 9=Entrepreneurship, 10=Finance, 11=Heal |
| `jobTitle` | string | No | Optional current job title filter (e.g. 'Software Engineer'). Commas are not allowed in a value. |
| `lastNames` | array | No | Filter to people whose last name matches any of these. Commas are not allowed in a value. Up to 70 values. |
| `location` | string | No | Optional location filter (e.g. 'San Francisco'). Commas are not allowed in a value. |
| `page` | integer | No | Which page of up to 25 leads to return, starting at 1 (1-100, default 1). Also pages through a salesNavUrl search. Each page is billed as one request. |
| `pastCompanies` | array | No | Filter to people who previously worked at any of these companies, by name. Commas are not allowed in a value. Up to 50 values. |
| `pastJobTitles` | array | No | Filter by a past job title the person held (e.g. ['Product Manager']). Commas are not allowed in a value. Up to 70 values. |
| `profileLanguages` | array | No | Filter by the profile's primary language. |
| `query` | string | No | Search keywords for LinkedIn leads: a role, name, or keywords (e.g. 'Marketing Manager'). Provide this or salesNavUrl. |
| `recentlyChangedJobs` | boolean | No | When true, only return people who recently changed jobs (a strong sales/recruiting signal). |
| `recentlyPostedOnLinkedIn` | boolean | No | When true, only return people who recently posted on LinkedIn (an activity signal). |
| `salesNavUrl` | string | No | Alternatively, a LinkedIn Sales Navigator lead-search URL you built in Sales Navigator (e.g. https://www.linkedin.com/sales/search/people?query=(keywords%3Aengineer)). When set it overrides query and every other filter o |
| `schools` | array | No | Filter to people who attended any of these schools, by name. Commas are not allowed in a value. Up to 50 values. |
| `seniorityLevelIds` | array | No | Filter by seniority level. Codes: 100=In Training, 110=Entry Level, 120=Senior, 130=Strategic, 200=Entry Level Manager, 210=Experienced Manager, 220=Director, 300=Vice President, 310=CXO, 320=Owner/Partner. |
| `yearsAtCurrentCompanyIds` | array | No | Filter by tenure at the current company. Codes: 1=Less than 1 year, 2=1 to 2 years, 3=3 to 5 years, 4=6 to 10 years, 5=More than 10 years. |
| `yearsOfExperienceIds` | array | No | Filter by total years of experience. Codes: 1=Less than 1 year, 2=1 to 2 years, 3=3 to 5 years, 4=6 to 10 years, 5=More than 10 years. |

#### Pricing

Billed at the actual cost of each call, usually $0.07 per request. A call can cost more when the first data source fails and another one answers. Failed calls are not charged. Lookups that find nothing and searches with no results are billed at their actual cost, which is often lower and can be $0.
