This page documents the canonical HTTP contract. Switch to the CLI example when you want the operator workflow.
When to use this: Use this endpoint when LinkedIn itself is the source of truth and you need one transparent search page from the connected account: replay a URL, inspect a query, debug filters, or fetch the next cursor deliberately. For broader company-first or people-first discovery strategy, see Choosing a list-building path.
This read endpoint uses the caller’s resolved LinkedIn connection and has no sender-account selector. A developer API key requires linkedin:read; an authenticated user session is also accepted. If the connection requires a core reconnect, the API returns a reconnect-required error rather than searching.
Two search modes
- URL mode — Pass a full LinkedIn or Sales Navigator search URL in the
urlfield. All filters encoded in the URL are applied automatically. Great for reproducing a saved search. - Parameter mode — Use
keywords,category, andextra_paramsto build a search programmatically.
Discover available filters
Call LinkedIn filter catalog for the current normalized fields and value shapes, and Resolve search parameters for provider-resolved identifiers. The catalog is a first-party guide; it does not guarantee the provider will accept a search.
The server reserves account policy allowance before a request and refunds it on provider errors or unused result capacity. Provider limits and errors remain account- and provider-dependent; this endpoint does not promise a fixed daily search quota.
Pagination
The response is the provider search response, including items, cursor, and paging metadata when supplied. Pass its cursor back in the JSON body for a next page. Do not assume a fixed total-count or page shape.
Body parameters
url· optionalstring
LinkedIn or Sales Navigator search URL. If present, it is sent instead of `keywords` and `extra_params`; `category` and resolved API mode are still sent.
category· optionalstring
Search category sent to the provider. Default: `people`. The catalog lists `people`, `companies`, `jobs`, and `posts`; provider support can vary.
keywords· optionalstring
Free-text search. At least one of `url` or `keywords` is required; ignored when `url` is present.
linkedin_api· optionalstring
Mode override: omit or use `auto` for the connected account mode, or use `classic` / `sales_navigator`. `posts` searches are sent in Classic mode. Provider availability and acceptance are not guaranteed.
cursor· optionalstring
Pagination cursor from a previous response.
limit· optionalinteger
Request limit, 1–100. Default: 25. The server caps it to 50 for Classic mode and 100 for Sales Navigator mode.
extra_params· optionalobject
Additional provider search fields used only when `url` is omitted. Consult the filter catalog; support varies by mode and category.
| Name | Type | Description |
|---|---|---|
| url | string | LinkedIn or Sales Navigator search URL. If present, it is sent instead of `keywords` and `extra_params`; `category` and resolved API mode are still sent. |
| category | string | Search category sent to the provider. Default: `people`. The catalog lists `people`, `companies`, `jobs`, and `posts`; provider support can vary. |
| keywords | string | Free-text search. At least one of `url` or `keywords` is required; ignored when `url` is present. |
| linkedin_api | string | Mode override: omit or use `auto` for the connected account mode, or use `classic` / `sales_navigator`. `posts` searches are sent in Classic mode. Provider availability and acceptance are not guaranteed. |
| cursor | string | Pagination cursor from a previous response. |
| limit | integer | Request limit, 1–100. Default: 25. The server caps it to 50 for Classic mode and 100 for Sales Navigator mode. |
| extra_params | object | Additional provider search fields used only when `url` is omitted. Consult the filter catalog; support varies by mode and category. |
Definitions
Parameter search request
An alternate complete request body. Send one request object per call.
{
"category": "people",
"keywords": "VP Engineering",
"limit": 25,
"extra_params": {
"location": [
"103644278"
],
"industry": [
"96"
]
}
}Errors
| Status | Meaning |
|---|---|
| 401 | Invalid API key or missing auth. |
| 403 | Developer API key lacks linkedin:read scope. |
| 400 | Organization/user context is missing, neither url nor keywords was supplied, or the mode is invalid. |
| 424 | The connected account requires reconnect for this operation. |
| 429 | Account policy does not currently allow the search. |
| 502 | Fallback when the provider error has no HTTP status; a provider HTTP status may otherwise be returned. |
| 422 | Request body validation failed, including a limit outside 1–100. |
| 503 | Unipile LinkedIn integration is not configured. |
