# nv.retrieveSavedSearches

Retrieve your Sales Navigator saved lead or account searches, with the URLs used to read their results.

> The API Reference is also the SDK and CLI reference. Consecutive code fences marked `tab=HTTP`, `tab=Node`, `tab=Python` and `tab=CLI` are the same call on each surface (a fence marked `tab=HTTP,CLI` is the same text for both), and a block between `:::surface <names>` and `:::` applies only to the surfaces it names. Identifiers in the text are written as in Node and in HTTP JSON (camelCase); the Python SDK spells methods, parameters and result attributes in snake_case (`sendMessage` → `send_message`, `reconnectionLink` → `reconnection_link`), while names inside HTTP JSON stay camelCase.

Retrieve your saved lead searches or saved account searches in Sales Navigator. Pass a saved search's `url` as `customSearchUrl` to [`nv.searchPeople`](/docs/action-nv-search-people) (lead searches) or [`nv.searchCompanies`](/docs/action-nv-search-companies) (account searches) to read its results.

An active Sales Navigator subscription is required. To save a new search, use [`nv.createSavedSearch`](/docs/action-nv-create-saved-search); to delete one, use [`nv.deleteSavedSearch`](/docs/action-nv-delete-saved-search).

:::surface node,python
In the SDK this is the `nvRetrieveSavedSearches` method. It takes the parameters below except `label`, which exists only in workflow JSON. The result below is returned in `data`.
:::

:::surface cli
The command is `linkedin navigator saved-searches`. Its flag is listed below.
:::

## Constraints

> ⏺️ **Root Start:** allowed.

> ⬆️ **Parent Actions:** N/A.

> ⬇️ **Child Actions:** N/A.

## Parameters

```json tab=HTTP
{
  "actionType": "nv.retrieveSavedSearches",
  "label": "leadSearches",
  "type": "lead"
}
```

```typescript tab=Node
const workflow = await linkedapi.nvRetrieveSavedSearches.execute({
  type: "lead"
});

const { data, errors } = await linkedapi.nvRetrieveSavedSearches.result(workflow.workflowId);
```

```python tab=Python
from linkedapi import NvRetrieveSavedSearchesParams

workflow = linkedapi.nv_retrieve_saved_searches.execute(
    NvRetrieveSavedSearchesParams(
        type="lead",
    )
)

result = linkedapi.nv_retrieve_saved_searches.result(workflow.workflow_id)
```

```bash tab=CLI
linkedin navigator saved-searches --type lead --json
```

In AI assistants, the MCP tool is `nv_retrieve_saved_searches`. The n8n action is **Retrieve saved searches in Sales Navigator**; the Make module is **Retrieve Saved Searches in Sales Navigator**.

| Parameter | Description |
| --- | --- |
| `label` | Optional label included in workflow completion. |
| `type` | Required. `lead` for saved lead searches or `account` for saved account searches. |

:::surface cli
| Flag | Description |
| --- | --- |
| `--type` | Required. `lead` or `account`. |
:::

## Result options

```json
{
  "actionType": "nv.retrieveSavedSearches",
  "label": "leadSearches",
  "success": true,
  "data": [
    {
      "id": "1900000001",
      "name": "Lead Search 1",
      "type": "lead",
      "url": "https://www.linkedin.com/sales/search/people?savedSearchId=1900000001",
      "keywords": "Head of Sales",
      "createdAt": "2026-11-02T10:15:00.000Z",
      "lastViewedAt": "2026-11-02T10:15:00.000Z",
      "newResultsCount": null
    }
  ]
}
```

| Field | Meaning |
| --- | --- |
| `id` | ID of the saved search, as a string. Pass it as `savedSearchId` to delete the search. |
| `name` | Name of the saved search as Sales Navigator shows it. Searches saved with [`nv.createSavedSearch`](/docs/action-nv-create-saved-search) carry Sales Navigator's default name, such as `Lead Search 1`. |
| `type` | `lead` or `account`, matching the requested `type`. |
| `url` | Opens the saved search in Sales Navigator. Pass it as `customSearchUrl` to [`nv.searchPeople`](/docs/action-nv-search-people) for a lead search, or to [`nv.searchCompanies`](/docs/action-nv-search-companies) for an account search, to read its results. |
| `keywords` | The search's keywords as Sales Navigator stores them, or `null` when it stores none. The search's other filters are not returned; they apply when you open `url`. |
| `createdAt` | When the search was saved, in ISO 8601 UTC, or `null`. |
| `lastViewedAt` | When the saved search was last viewed, in ISO 8601 UTC, or `null`. |
| `newResultsCount` | Number of new results Sales Navigator reports for the search, or `null` when it reports none. A newly saved search has `null`. |

Saved search IDs are long numeric strings. Keep them as strings.

The result includes every saved search of the requested type, up to 50. If Sales Navigator reports more than it returns, the call fails with `unexpectedError` rather than returning a partial list. An account with no saved searches of this type returns an empty array.

`label` is included only if specified in the action parameters.

## Error result

An unsuccessful action returns `success: false` with an `error` object:

```json
{
  "actionType": "nv.retrieveSavedSearches",
  "label": "leadSearches",
  "success": false,
  "error": {
    "type": "noSalesNavigator",
    "message": "Your account does not have Sales Navigator subscription."
  }
}
```

Possible `error.type` values:

- `noSalesNavigator` — the account does not have an active Sales Navigator subscription.
- `unexpectedError` — the saved searches could not be retrieved or parsed, including when Sales Navigator reports more than 50 of this type.
