> ## Documentation Index
> Fetch the complete documentation index at: https://docs.linkupapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search People

> Search for profiles using various filters.

## Overview

Search for profiles using a combination of keyword, company, location, school, and other filters. Supports pagination for retrieving large result sets.

There are two ways to define the search — pick whichever fits:

1. **Friendly filters** — pass human-readable values (e.g. `location: "Paris"`, `title: "CEO"`) and the API resolves them to the underlying ids for you.
2. **Copied LinkedIn search URL** — build the search visually on LinkedIn, copy the page URL, and pass it as `search_url`. Every filter is replicated verbatim, including ones with no friendly mapping (service category, profile language, open to volunteering, school free text, …).

<Note>This endpoint consumes **1 credit per 10 results** returned. Ignore this if you're on per-seat pricing: usage is unlimited.</Note>

## Request

<ParamField header="x-api-key" type="string" required>
  Your API key for authentication.
</ParamField>

<ParamField body="account_id" type="string" required>
  The unique identifier of the account to use.
</ParamField>

<ParamField body="action" type="string" required>
  Must be `"search_people"`.
</ParamField>

<ParamField body="params" type="object">
  <Expandable title="params properties">
    <ParamField body="search_url" type="string">
      A copied LinkedIn people search URL (`https://www.linkedin.com/search/results/people/?...`), pasted as-is. When provided, its filters are used as-is and **take precedence** over the friendly filters below. The best way to replicate a complex search or to use filters that have no friendly mapping. Returns `INVALID_PARAMS` if the URL is not a people search or carries no filter at all.
    </ParamField>

    <ParamField body="keyword" type="string">
      General keyword to search for across profiles.
    </ParamField>

    <ParamField body="first_name" type="string">
      Filter by first name.
    </ParamField>

    <ParamField body="last_name" type="string">
      Filter by last name.
    </ParamField>

    <ParamField body="title" type="string">
      Filter by current job title.
    </ParamField>

    <ParamField body="company_name" type="string">
      Filter by current company name.
    </ParamField>

    <ParamField body="company_url" type="string | string[]">
      Filter by company page URL, or a company id from [Typeahead](/api-reference/v2/profiles/typeahead). Accepts a single string or an array of strings for multiple companies.
    </ParamField>

    <ParamField body="past_company" type="string | string[]">
      Filter by past company name, URL or id. Accepts a single string or an array.
    </ParamField>

    <ParamField body="location" type="string | string[]">
      Filter by location name (e.g., `"San Francisco"`, `["Paris", "London"]`) or location id from [Typeahead](/api-reference/v2/profiles/typeahead). Accepts a single string or an array.
    </ParamField>

    <ParamField body="school_url" type="string | string[]">
      Filter by school page URL or school id. Accepts a single string or an array.
    </ParamField>

    <ParamField body="industry" type="string | string[]">
      Filter by industry. Accepts a single string or an array.
    </ParamField>

    <ParamField body="network" type="string | string[]">
      Filter by network relationship. Accepted values: `"F"` (1st degree), `"S"` (2nd degree), `"O"` (3rd degree and beyond). Accepts a single string or an array (e.g., `["F", "S"]`).
    </ParamField>

    <ParamField body="connection_of" type="string">
      Filter to show connections of a specific profile (profile URL, identifier, or the id returned by Typeahead `people`).
    </ParamField>

    <ParamField body="follower_of" type="string">
      Filter to show followers of a specific company or profile.
    </ParamField>

    <ParamField body="offset" type="integer" default={0}>
      Index of the first result to return (0-based). Combine with `count` to paginate. Any value works — it does not have to align to a page boundary.
    </ParamField>

    <ParamField body="count" type="integer" default={10}>
      Number of results to return, starting at `offset`.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates whether the request was successful.
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="data properties">
    <ResponseField name="profiles" type="array">
      Matching profiles.

      <Expandable title="profile properties">
        <ResponseField name="name" type="string">Full name.</ResponseField>
        <ResponseField name="job_title" type="string">Current headline / job title.</ResponseField>
        <ResponseField name="connection_level" type="string">Degree, e.g. `"1st degree"`, `"2nd degree"`.</ResponseField>
        <ResponseField name="location" type="string">Geographic location.</ResponseField>
        <ResponseField name="profile_url" type="string">Profile URL.</ResponseField>
        <ResponseField name="profile_picture" type="string">Profile picture URL.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total_results" type="integer">
      Number of profiles returned.
    </ResponseField>

    <ResponseField name="total_available_results" type="integer">
      Total number of matching profiles available.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "profiles": [
        {
          "name": "Jane Doe",
          "job_title": "Growth Marketing Specialist",
          "connection_level": "2nd degree",
          "location": "Greater Nice Metropolitan Area",
          "profile_url": "https://www.linkedin.com/in/janedoe",
          "profile_picture": "https://media.licdn.com/dms/image/..."
        }
      ],
      "total_results": 1,
      "total_available_results": 15400
    },
    "metadata": {
      "action": "search_people",
      "account_id": "your-account-id",
      "credits_consumed": 1,
      "timestamp": "2026-04-28T12:00:00Z"
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": {
      "code": "INVALID_PARAMS",
      "message": "At least one search parameter is required."
    },
    "metadata": {
      "action": "search_people",
      "account_id": "your-account-id",
      "credits_consumed": 0,
      "timestamp": "2026-03-24T12:00:00Z"
    }
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.