Skip to main content

Features

Searching for people

This endpoint allows you to search for people using various filters, and optionally retrieve additional person data.

POST https://api.linkedapi.io/data/people.search

Body


{
  "searches": [
    {
      "searchId": "unique-id-1",
      "term": "John Doe",
      "limit": 2,
      "filter": {
        "firstName": "John",
        "lastName": "Doe",
        "position": "CEO",
        "locations": ["New York", "San Francisco", "London"],
        "industries": ["Software Development", "Professional Services"],
        "currentCompanies": ["Tech Solutions", "Innovatech"],
        "previousCompanies": ["FutureCorp"]
      },
      "include": {
        "basicInfo": {}
      }
    },
    {
      "searchId": "unique-id-2",
      "term": "Jane Smith",
      "limit": 2
    }
  ]
}
  • searches – array where each item represents a separate search query.
    • searchId (optional) – unique identifier to correlate searches with results. If not provided, matches can still be determined by the order of searches and results.
    • term (optional) – keyword or phrase to search.
    • limit (optional) – number of search results to return. Defaults to 10, with a maximum value of 10.
    • include (optional) – object specifying additional person data to retrieve, following the structure of the retrieving people data documentation.
    • filter (optional) – filter configuration object, details are specified below.

Filter configuration object

  • firstName (optional) – first name of person.
  • lastName (optional) – last name of person.
  • positions (optional) – array of job position names. Matches if person's current position is any of the listed options.
  • locations (optional) – array of free-form strings representing locations. Matches if person is located in any of the listed locations.
  • industries (optional) – array of enums representing industries. Matches if person works in any of the listed industries. Takes specific values available in the LinkedIn interface.
  • currentCompanies (optional) – array of company names. Matches if person currently works at any of the listed companies.
  • previousCompanies (optional) – array of company names. Matches if person previously worked at any of the listed companies.
  • schools (optional) – array of institution names. Matches if person currently attends or previously attended any of the listed institutions.
  • yearsOfExperiences (optional) – array of enums representing professional experience. Matches if person’s experience falls within any of the listed ranges. Options:
    • lessThanOne – less than 1 year.
    • oneToTwo – 1 to 2 years.
    • threeToFive – 3 to 5 years.
    • sixToTen – 6 to 10 years.
    • moreThanTen – more than 10 years.
When multiple filter fields are specified, they are combined using AND logic.

Response

  1. If all searches are successful:

{
  "status": "complete",
  "completion": [
    {
      "searchId": "unique-id-1",
      "result": {
        "success": true,
        "data": [
          {
            "name": "John Doe",
            "hashedUrl": "https://www.linkedin.com/in/SInQBmjJ015eLr8OeJoj0mrkxx7Jiuy0",
            "position": "Founder & CEO",
            "location": "London",
            "include": {
              "basicInfo": { ... }
            }
          },
          {
            "name": "John Doe",
            "hashedUrl": "https://www.linkedin.com/in/ACoAA2DdsSV83B48UDvgO5jPoу3Gho0o",
            "position": "Product Manager",
            "location": "New York",
            "include": {
              "basicInfo": { ... }
            }
          }
        ]
      }
    },
    {
      "searchId": "unique-id-2",
      "result": {
        "success": true,
        "data": [
          {
            "name": "Jane Smith",
            "hashedUrl": "https://www.linkedin.com/in/GDnQBmjyDSHeLr8OeJoj0m231x7JiG4",
            "position": "Civil Engineer",
            "location": "Lisbon, Portugal",
            "include": null
          },
          {
            "name": "Jane Smith",
            "hashedUrl": "https://www.linkedin.com/in/BdsA2dn6SV76dkj8UDvgO5jPhdhHD5",
            "position": "Product Analyst",
            "location": "Washington, United States",
            "include": null
          }
        ]
      }
    }
  ]
}
  • name – full name of the person.
  • hashedUrl – hashed LinkedIn URL of the person.
  • position – job position of the person.
  • location – free-form string indicating the person's location.
  • includenull or additional data retrieved using the include object.
  1. If some searches are unsuccessful:

{
  "status": "complete",
  "completion": [
    {
      "searchId": "unique-id-1",
      "result": {
        "success": false,
        "error": {
          "errorType": "searchingNotAllowed",
          "message": "LinkedIn has blocked performing the search."
        }
      }
    },
    {
      "searchId": "unique-id-2",
      "result": {
        "success": true,
        "data": [
          {
            "name": "Jane Smith",
            "hashedUrl": "https://www.linkedin.com/in/GDnQBmjyDSHeLr8OeJoj0m231x7JiG4",
            "position": "Civil Engineer",
            "location": "Lisbon, Portugal",
            "include": null
          },
          {
            "name": "Jane Smith",
            "hashedUrl": "https://www.linkedin.com/in/BdsA2dn6SV76dkj8UDvgO5jPhdhHD5",
            "position": "Product Analyst",
            "location": "Washington, United States",
            "include": null
          }
        ]
      }
    }
  ]
}
  • errorType – enum with the following possible values:
    • searchingNotAllowed – LinkedIn has blocked performing the search due unknown restrictions.

Throughout the documentation, for simplicity, only the request body and final response (when status is complete) are shown. Consider possible global errors and the result handling approach for proper implementation.