Skip to main content

Features

Retrieving people data

This endpoint allows you to retrieve various types of data about specified people.

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

Retrieving overview

The types of data to retrieve are defined through include options. Below is a general overview of how the request body and response are structured. Detailed explanations for each include option are provided in the sections below.

Body


{
  "include": {
    "basicInfo": { ... },
    "activities": { ... },
    "experience": { ... },
    "education": { ... },
    "skills": { ... },
    "languages": { ... }
  },
  "people": [
    "https://www.linkedin.com/in/person1",
    "https://www.linkedin.com/in/person2",
    "https://www.linkedin.com/in/person3"
  ]
}
  • include – object specifying the types of data to retrieve. At least one of the following options must be included:
    • basicInfo (optional) – basic information about the person.
    • activities (optional) – person's posts, comments, and reactions.
    • experience (optional) – professional experience of the person.
    • education (optional) – education of the person.
    • skills (optional) – skills listed by the person.
    • languages (optional) – languages the person speaks.
  • people – LinkedIn URLs of people whose data you want to retrieve.

Response

  1. If all retrievals are successful:

{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "activities": { ... },
          "experience": [ ... ],
          "education": [ ... ],
          "skills": [ ... ],
          "languages": [ ... ]
        }
      }
    },
    {
      "person": "https://www.linkedin.com/in/person2",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "activities": { ... },
          "experience": [ ... ],
          "education": [ ... ],
          "skills": [ ... ],
          "languages": [ ... ]
        }
      }
    },
    {
      "person": "https://www.linkedin.com/in/person3",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "activities": { ... },
          "experience": [ ... ],
          "education": [ ... ],
          "skills": [ ... ],
          "languages": [ ... ]
        }
      }
    }
  ]
}
  1. If some retrievals are unsuccessful:

{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "activities": { ... },
          "experience": [ ... ],
          "education": [ ... ],
          "skills": [ ... ],
          "languages": [ ... ]
        }
      }
    },
    {
      "person": "https://www.linkedin.com/in/person2",
      "result": {
        "success": false,
        "error": {
          "errorType": "personNotFound",
          "message": "The provided URL is not an existing LinkedIn person."
        }
      }
    },
    {
      "person": "https://www.linkedin.com/in/person3",
      "result": {
        "success": false,
        "error": {
          "errorType": "retrievingNotAllowed",
          "message": "LinkedIn has blocked retrieving data of this person."
        }
      }
    }
  ]
}
  • errorType – enum with the following possible values:
    • personNotFound – provided URL is not an existing LinkedIn person.
    • retrievingNotAllowed – LinkedIn has blocked retrieving data of this person due to privacy settings, or other restrictions.

Retrieving basic info

Body


{
  "include": {
    "basicInfo": {},
    ...
  },
  "people": [
    "https://www.linkedin.com/in/person1"
  ]
}
  • basicInfo (optional) – retrieves basic information about the person. If needed, this field must be included as an empty object ({}).

Response


{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "basicInfo": {
            "name": "John Doe",
            "publicUrl": "https://www.linkedin.com/in/person1",
            "headline": "Software Engineer at TechCorp",
            "location": "San Francisco, USA",
            "countryCode": "US",
            "position": "Software Engineer",
            "companyName": "TechCorp",
            "companyUrl": "https://www.linkedin.com/company/12345678"
          },
          ...
        }
      }
    }
  ]
}
  • name – full name of the person.
  • publicUrlpublic LinkedIn URL of the person.
  • headline – headline of the person.
  • location – free-form string indicating the person's location.
  • countryCode – two-character code of the person's country.
  • position – current job position of the person.
  • companyName – name of the person's current company.
  • companyUrlhashed LinkedIn URL of the person's current company.

Retrieving activities

Body


{
  "include": {
    "activities": {
      "posts": {
        "limit": 10,
        "since": "2023-01-01T00:00:00Z"
      },
      "comments": {
        "limit": 15,
        "since": "2023-01-01T00:00:00Z"
      },
      "reactions": {
        "limit": 20,
        "since": "2023-01-01T00:00:00Z"
      }
    },
    ...
  },
  "people": [
    "https://www.linkedin.com/in/person1"
  ]
}
  • activities (optional) – retrieves posts, comments, and reactions from the person. Contains the following objects:
    • posts (optional) – retrieves a list of posts authored by the person.
      • limit (optional) – maximum number of posts to retrieve. Defaults to 20, with a maximum value of 20.
      • since (optional) – timestamp to filter posts created after the specified date.
    • comments (optional) – retrieves a list of comments made by the person.
      • limit (optional) – maximum number of comments to retrieve. Defaults to 20, with a maximum value of 20.
      • since (optional) – timestamp to filter comments made after the specified date.
    • reactions (optional) – retrieves a list of reactions made by the person.
      • limit (optional) – maximum number of reactions to retrieve. Defaults to 20, with a maximum value of 20.
      • since (optional) – timestamp to filter reactions made after the specified date.

Both limit and since conditions are applied simultaneously. For example:

  • If limit is 10, but there are more than 10 posts since the specified timestamp, only 10 posts will be returned.
  • If limit is 15, but only 5 posts exist after the specified timestamp, only those 5 posts will be returned.

Response


{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "activities": {
            "posts": [
              {
                "url": "https://www.linkedin.com/posts/post1",
                "time": "2023-01-02T12:30:00Z",
                "type": "original",
                "repostText": null,
                "text": "Check out our latest product launch!",
                "images": [
                  "https://static.linkedin.com/image1.jpg",
                  "https://static.linkedin.com/image2.jpg"
                ],
                "hasVideo": false,
                "hasPoll": false,
                "reactionCount": 27,
                "commentCount": 8
              }
            ],
            "comments": [
              {
                "postUrl": "https://www.linkedin.com/posts/example2",
                "time": "2023-01-02T10:30:00Z",
                "text": "Great work!",
                "image": null,
                "reactionCount": 0
              }
            ],
            "reactions": [
              {
                "postUrl": "https://www.linkedin.com/posts/example3",
                "time": "2023-01-02T10:30:00Z",
                "type": "like"
              }
            ]
          },
          ...
        }
      }
    }
  ]
}

Posts:

  • url – URL of the post.
  • time – timestamp when the post was published.
  • type – type of the post. Enum with possible values:
    • original – for original posts.
    • repost – for reposts.
  • repostText – additional text added during repost, if applicable.
  • text – text content of the post, if available.
  • images – array of top 3 preview image URLs, if available.
  • hasVideo – boolean indicating if the post contains a video.
  • hasPoll – boolean indicating if the post contains a poll.
  • reactionCount – number of reactions on the post.
  • commentCount – number of comments on the post.

Comments:

  • postUrl – URL of the post the comment belongs to.
  • time – timestamp when the comment was left.
  • text – text content of the comment, if available.
  • image – URL of the comment's image, if available.
  • reactionCount – number of reactions on the comment.

Reactions:

  • postUrl – URL of the post the reaction belongs to.
  • time – timestamp when the reaction was made.
  • type – enum describing the reaction type. May take one of the following values:
    • like – standard "like".
    • celebrate – celebrates an achievement.
    • support – shows support.
    • love – expresses love or admiration.
    • insightful – appreciates insightful content.
    • funny – reacts to something humorous.

Retrieving experience

Body


{
  "include": {
    "experience": {},
    ...
  },
  "people": [
    "https://www.linkedin.com/in/person1"
  ]
}
  • experience (optional) – retrieves professional experience details of the person. If needed, this field must be included as an empty object ({}).

Response


{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "experience": [
            {
              "position": "Software Engineer",
              "companyName": "TechCorp",
              "companyUrl": "https://www.linkedin.com/company/12345678",
              "employmentType": "fullTime",
              "locationType": "onSite",
              "description": "Developing innovative software solutions.",
              "duration": 24,
              "startTime": "2021-01-01T00:00:00Z",
              "endTime": null,
              "location": "San Francisco, USA"
            },
            {
              "position": "Junior Developer",
              "companyName": "CodeBase Inc.",
              "companyUrl": "https://www.linkedin.com/company/87654321",
              "employmentType": "internship",
              "locationType": "remote",
              "description": "Worked on front-end development tasks.",
              "duration": 12,
              "startTime": "2020-01-01T00:00:00Z",
              "endTime": "2020-12-31T00:00:00Z",
              "location": null
            }
          ],
          ...
        }
      }
    }
  ]
}
  • position – job position held by the person.
  • companyName – name of the company where the person worked.
  • companyUrlhashed LinkedIn URL of the company where the person worked.
  • employmentType – type of employment. Enum with the following values:
    • fullTime – full-time employment.
    • partTime – part-time employment.
    • selfEmployed – self-employed work.
    • freelance – freelance work.
    • contract – contract-based employment.
    • internship – internship position.
    • apprenticeship – apprenticeship program.
    • seasonal – seasonal employment.
  • locationType – type of location. Enum with the following values:
    • remote – position is fully remote.
    • onSite – position requires on-site work.
    • hybrid – position is a mix of remote and on-site work.
  • description – description of the job or responsibilities.
  • duration – number of months the person worked in the position.
  • startTime – timestamp of the first day of the month when the person started the position.
  • endTime – timestamp of the last day of the month when the person ended the position. Returns null if the person is still working in this position.
  • location – free-form string indicating the location of the position (e.g., "Lisbon", "Lisbon, Portugal" or "California Bay Area").

Retrieving education

Body


{
  "include": {
    "education": {},
    ...
  },
  "people": [
    "https://www.linkedin.com/in/person1"
  ]
}
  • education (optional) – retrieves the educational background of the person. If needed, this field must be included as an empty object ({}).

Response


{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "education": [
            {
              "schoolName": "Harvard University",
              "schoolUrl": "https://www.linkedin.com/company/12345678",
              "details": "Master of Science in Computer Science, Artificial Intelligence"
            },
            {
              "schoolName": "MIT",
              "schoolUrl": "https://www.linkedin.com/company/87654321",
              "details": "Bachelor of Science in Electrical Engineering and Computer Science"
            }
          ],
          ...
        }
      }
    }
  ]
}
  • schoolName – name of the institution.
  • schoolUrlhashed LinkedIn URL of the institution.
  • details – information about the person's education, such as the degree, major, field of study, and other related details.

Retrieving skills

Body


{
  "include": {
    "skills": {},
    ...
  },
  "people": [
    "https://www.linkedin.com/in/person1"
  ]
}
  • skills (optional) – retrieves the list of skills listed by the person. If needed, this field must be included as an empty object ({}).

Response


{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "skills": [
            { "name": "Computer Science" },
            { "name": "Java" },
            { "name": "Project Management" },
            { "name": "Marketing" }
          ],
          ...
        }
      }
    }
  ]
}
  • skills – array of objects, where each item represents a skill. If no skills are listed, the array will be empty.
    • name – name of the skill.

Retrieving languages

Body


{
  "include": {
    "languages": {},
    ...
  },
  "people": [
    "https://www.linkedin.com/in/person1"
  ]
}
  • languages (optional) – retrieves the list of languages the person speaks. If needed, this field must be included as an empty object ({}).

Response


{
  "status": "complete",
  "completion": [
    {
      "person": "https://www.linkedin.com/in/person1",
      "result": {
        "success": true,
        "data": {
          "languages": [
            {
              "name": "English",
              "proficiency": "nativeOrBilingual"
            },
            {
              "name": "Spanish",
              "proficiency": "professionalWorking"
            },
            {
              "name": "French",
              "proficiency": "limitedWorking"
            }
          ],
          ...
        }
      }
    }
  ]
}
  • languages – array of objects, where each item represents a language. If no languages are listed, the array will be empty.
    • name – name of the language.
    • proficiency – proficiency level in the language. Enum with the following possible values:
      • elementary – basic understanding.
      • limitedWorking – limited ability for routine tasks.
      • professionalWorking – effective in professional settings.
      • fullProfessional – near-native proficiency.
      • nativeOrBilingual – fluent, like a native speaker.

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.