---
title: "List the people suggested to you"
method: GET
path: "/me/linkedin/recommended"
tags: ["profile"]
---

# List the people suggested to you

`GET /me/linkedin/recommended`

## Request

- Base URL: `https://api.bereach.ai`
- URL: `https://api.bereach.ai/me/linkedin/recommended`
- Auth: HTTP bearer

List the people suggested to your account on My Network, with name, headline, profile URL and the reason given for each, AND save them into the contact list. These are people you are NOT connected to, so it answers who is worth meeting rather than who you already know; use the connections list for people already in your network. Returns one set per call and cannot continue from where it stopped, so ask once for the number wanted. `saved` reports what the write actually stored.

## Query parameters

- `limit` integer: How many people to ask for, 1 to 96, 24 by default. This is a ceiling, not a promise: fewer can come back, because LinkedIn withholds the identity on some of the people it shows, and `unresolved` says how many. LinkedIn also answers in blocks of eight, so a smaller number still reads a whole block, and asking again re-reads from the start rather than continuing: ask once for the number actually wanted.

## Response `200`

Recommended people

- object
  - `success` true, required
  - `people` object[], required
    - `name` string, required
    - `headline` string, nullable, required
    - `profileUrl` string, nullable, required
    - `profileUrn` string, nullable, required
    - `publicIdentifier` string, nullable, required
    - `profilePicture` string, nullable, required: Profile picture URL
    - `insight` string, nullable, required: The reason given for suggesting this person, word for word. Null when none was given, which is ordinary.
    - `connectionDegree` 'null', nullable, required: Always null. These people are not connections, and how far away they are is not known.
  - `count` integer, required
  - `saved` integer, nullable: People from this page written to the contact list. Null or absent means the write has not answered: report nothing saved rather than the number of rows returned.
  - `newToList` integer, nullable: People who were not on this chat's list before this call and now are. Report this, not `saved`, as the number added: asking again re-reads from the start, so `saved` counts the same people again while only this many are new. Null or absent when there is no list or it has not answered.
  - `served` integer, required: How many people were suggested for this call. The denominator for `unresolved`, and not the same as `count`: suggestions come in fixed blocks, so asking for fewer still reads a whole block.
  - `unresolved` integer, required: Suggested people whose identity was not shown, so they are counted here and missing from the list, out of `served`. This is why a set can come back smaller than it looks.
  - `hasMore` false, required: Always false. There is no continuation for this list, so a second call returns the same people rather than the next ones.
  - `creditsUsed` integer, required: Credits this call spent, net of anything given back. 0 when nothing was charged: a free read, a cached answer, nothing delivered.
  - `retryAfter` integer, required: Seconds to wait before another call of the same type. 0 means no wait is needed.

## Other responses

- `400`: The server cannot or will not process the request due to something that is perceived to be a client error.
- `401`: Although HTTP specifies "unauthorized", this response means "unauthenticated". Authenticate to continue. NOTE: 401 is also returned with code "linkedin_not_connected" on an endpoint that acts from your account (invitations, messages, your own network or inbox) when the caller IS authenticated but has no connected LinkedIn account: connect LinkedIn (not re-authenticate) to continue. Every other read never returns it.
- `403`: The caller is authenticated but not allowed. Read error.code: subscription_required (API key or connector whose plan is not active), free_draft_limit (a free-plan limit was reached), sales_nav_seat_inactive (no active Sales Navigator seat), or forbidden (not permitted).
- `404`: The server cannot find the requested resource.
- `409`: The request conflicts with the current state of the server.
- `410`: The requested content has been permanently deleted from the server.
- `422`: The request was well-formed but was unable to be followed due to semantic errors.
- `429`: Rate limit exceeded. Read error.retryAfter for the wait time in seconds.
- `500`: The server encountered a situation it does not know how to handle.
- `502`: An upstream service returned an error. Retry after a few seconds.
- `503`: Capacity is temporarily exceeded. Retry after a few seconds.

## Changes

> 39 revisions in range; 1 not diffed.

- **2026-10-22** `bdaed6984b20`: 1 warning
  - removed the optional property `_meta` from the response with the `200` status
- **2026-09-12** `d9e9a9ac37d1`: 1 info
  - added the optional property `newToList` to the response with the `200` status
- **2026-09-10** `0c4c837b7eca`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/berea/apis/bereach-api/changes/me/linkedin/recommended/get.md)

---

[API](https://skmtc.dev/berea/apis/bereach-api.md) · [All operations](https://skmtc.dev/berea/apis/bereach-api/llms.txt) · [OpenAPI document](https://skmtc.dev/berea/apis/bereach-api/revisions/b657f915ce03?raw)
