Skip to main content

Features

Retrieving companies data

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

POST https://api.linkedapi.io/data/companies.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": { ... },
    "posts": { ... },
    "employees": { ... },
    "decisionMakers": { ... }
  },
  "companies": [
    "https://www.linkedin.com/company/company1",
    "https://www.linkedin.com/company/company2",
    "https://www.linkedin.com/company/company3"
  ]
}
  • 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 company.
    • posts (optional) – posts published by the company.
    • employees (optional) – employees associated with the company.
    • decisionMakers (optional) – decision-makers associated with the company.
  • companies – LinkedIn URLs of companies which data you want to retrieve.

Response

  1. If all retrievals are successful:

{
  "status": "complete",
  "completion": [
    {
      "company": "https://www.linkedin.com/company/company1",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "posts": [ ... ],
          "employees": [ ... ],
          "decisionMakers": [ ... ]
        }
      }
    },
    {
      "company": "https://www.linkedin.com/company/company2",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "posts": [ ... ],
          "employees": [ ... ],
          "decisionMakers": [ ... ]
        }
      }
    },
    {
      "company": "https://www.linkedin.com/company/company3",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "posts": [ ... ],
          "employees": [ ... ],
          "decisionMakers": [ ... ]
        }
      }
    }
  ]
}
  1. If some retrievals are unsuccessful:

{
  "status": "complete",
  "completion": [
    {
      "company": "https://www.linkedin.com/company/company1",
      "result": {
        "success": true,
        "data": {
          "basicInfo": { ... },
          "posts": [ ... ],
          "employees": [ ... ],
          "decisionMakers": [ ... ]
        }
      }
    },
    {
      "company": "https://www.linkedin.com/company/company2",
      "result": {
        "success": false,
        "error": {
          "errorType": "companyNotFound",
          "message": "The provided URL is not an existing LinkedIn company."
        }
      }
    },
    {
      "company": "https://www.linkedin.com/company/company3",
      "result": {
        "success": false,
        "error": {
          "errorType": "retrievingNotAllowed",
          "message": "LinkedIn has blocked retrieving data of this company."
        }
      }
    }
  ]
}
  • errorType – enum with the following possible values:
    • companyNotFound – provided URL is not an existing LinkedIn company.
    • retrievingNotAllowed – LinkedIn has blocked retrieving data of this company due to privacy settings, or other restrictions.

Retrieving basic info

Body


{
  "include": {
    "basicInfo": {
      "preferDecisionMakersHq": true
    },
    ...
  },
  "companies": [
    "https://www.linkedin.com/company/techcorp"
  ]
}
  • basicInfo (optional) – retrieves basic information about the company.
    • preferDecisionMakersHq (optional) – boolean parameter. If set to true and decisionMakers is included, the headquarters (HQ) will be based on the decision-makers' location. Defaults to false, which uses the HQ specified on the company's LinkedIn page.

Response


{
  "status": "complete",
  "completion": [
    {
      "company": "https://www.linkedin.com/company/techcorp",
      "result": {
        "success": true,
        "data": {
          "basicInfo": {
            "name": "TechCorp",
            "publicUrl": "https://www.linkedin.com/company/techcorp",
            "description": "TechCorp is a leading provider of innovative technology solutions for businesses worldwide.",
            "headquarters": "US",
            "industry": "Information Technology",
            "specialties": "Cloud Computing, AI, Software Development",
            "website": "https://techcorp.com",
            "employeeCount": 500,
            "yearFounded": 2019,
            "ventureFinancing": true,
            "jobsCount": 12
          },
          ...
        }
      }
    }
  ]
}
  • name – name of the company.
  • publicUrlpublic LinkedIn URL of the company.
  • description – description of the company.
  • headquarters – two-character country code (e.g., "US", "UK") representing headquarters location.
  • industry – enum representing the company industry. Takes specific values available in the LinkedIn interface.
  • specialties – comma-separated list of company's specialties.
  • website – company's official website URL.
  • employeeCount – total number of employees associated with the company.
  • yearFounded – year the company was established, if available.
  • ventureFinancing – boolean indicating whether the company has received venture financing.
  • jobsCount – number of current job vacancies posted by the company.

Retrieving posts

Body


{
  "include": {
    "posts": {
      "limit": 10,
      "since": "2023-01-01T00:00:00Z"
    },
    ...
  },
  "companies": [
    "https://www.linkedin.com/company/techcorp"
  ]
}
  • posts (optional) – retrieves posts published by the company.
    • limit (optional) – maximum number of posts to retrieve. Defaults to 20, with a maximum value of 20.
    • since (optional) – timestamp to filter posts published after the specified time.

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": [
    {
      "company": "https://www.linkedin.com/company/techcorp",
      "result": {
        "success": true,
        "data": {
          "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
            },
            {
              "url": "https://www.linkedin.com/posts/post2",
              "time": "2023-01-01T09:15:00Z",
              "type": "repost",
              "repostText": "Thank you to everyone who joined our webinar!",
              "text": "Original post content about the webinar",
              "images": null,
              "hasVideo": true,
              "hasPoll": false,
              "reactionCount": 6,
              "commentCount": 0
            }
          ]
          ...
        }
      }
    }
  ]
}
  • 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.

Retrieving employees

Body


{
  "include": {
    "employees": {
      "limit": 300,
      "filter": {
        "firstName": "John",
        "lastName": "Doe",
        "position": "Manager",
        "industries": [
          "Software Development",
          "Professional Services"
        ]
      }
    },
    ...
  },
  "companies": [
    "https://www.linkedin.com/company/techcorp"
  ]
}
  • employees (optional) – retrieves a list of employees associated with the company.
    • limit – (optional) maximum number of employees to retrieve. Defaults to 500, with a maximum value of 500.
    • filter (optional) – filter configuration object, details are specified below.

Filter configuration object

  • firstName (optional) – first name of employee.
  • lastName (optional) – last name of employee.
  • positions (optional) – array of job position names. Matches if employee's current position is any of the listed options.
  • locations (optional) – array of free-form strings representing locations. Matches if employee is located in any of the listed locations.
  • industries (optional) – array of enums representing industries. Matches if employee works in any of the listed industries. Takes specific values available in the LinkedIn interface.
  • schools (optional) – array of institution names. Matches if employee currently attends or previously attended any of the listed institutions.
  • yearsOfExperiences (optional) – array of enums representing professional experience. Matches if employee’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


{
  "status": "complete",
  "completion": [
    {
      "company": "https://www.linkedin.com/company/techcorp",
      "result": {
        "success": true,
        "data": {
          "employees": [
            {
              "name": "John Doe",
              "hashedUrl": "https://www.linkedin.com/in/SInQBmjJ015eLr8OeJoj0mrkxx7Jiuy0",
              "position": "Manager",
              "location": "New York, USA"
            },
            {
              "name": "Jane Smith",
              "hashedUrl": "https://www.linkedin.com/in/ACoAA2DdsSV83B48UDvgO5jPoу3Gho0o",
              "position": "Software Engineer",
              "location": "San Francisco, USA"
            }
          ],
          ...
        }
      }
    }
  ]
}
  • name – full name of the employee.
  • hashedUrlhashed LinkedIn URL of the employee.
  • position – job position of the employee.
  • location – free-form string indicating the employee's location.

Retrieving decision-makers

The decisionMakers include allows you to retrieve key decision-makers from a company. Decision-makers are ranked by seniority, starting with the highest-level positions. For example, founders and C-level executives are returned first, followed by VPs, directors, and so on.

Use the limit parameter to control how many decision-makers to retrieve based on your needs (e.g., top 2 decision-makers, top 10, etc.). If a company has fewer decision-makers than the specified limit, only the available ones will be returned.

Body


{
  "include": {
    "decisionMakers": {
      "limit": 10
    },
    ...
  },
  "companies": [
    "https://www.linkedin.com/company/techcorp"
  ]
}
  • decisionMakers (optional) – retrieves a list of decision-makers associated with the company.
  • limit (optional) – maximum number of decision-makers to retrieve. Defaults to 20, with a maximum value of 20.

Response


{
  "status": "complete",
  "completion": [
    {
      "company": "https://www.linkedin.com/company/techcorp",
      "result": {
        "success": true,
        "data": {
          "decisionMakers": [
            {
              "name": "John Doe",
              "hashedUrl": "https://www.linkedin.com/in/SInQBmjJ015eLr8OeJoj0mrkxx7Jiuy0",
              "position": "Manager",
              "location": "New York, USA",
              "countryCode": "US"
            },
            {
              "name": "Jane Smith",
              "hashedUrl": "https://www.linkedin.com/in/ACoAA2DdsSV83B48UDvgO5jPoу3Gho0o",
              "position": "Software Engineer",
              "location": "San Francisco, USA",
              "countryCode": "US"
            }
          ],
          ...
        }
      }
    }
  ]
}
  • name – full name of the decision-maker.
  • hashedUrlhashed LinkedIn URL of the decision-maker.
  • position – job position of the decision-maker.
  • location – free-form string indicating the decision-maker's location.
  • countryCode – two-character code of the decision-maker's country.

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.