# LinkedIn

> Professional networking platform for retrieving user profile data including work history, education, and company insights.

Source: https://cotera.co/docs/reference/tools/individual-tools/linkedin

---

**Authentication Type:** API Key
**Description:** Professional networking platform for retrieving user profile data including work history, education, posts, company insights, job listings, and professional interactions.

***

## Authentication

To authenticate, you'll need a RapidAPI key for the [LinkedIn API](https://rapidapi.com/rockapis-rockapis-default/api/linkedin-api8).

**Note:** The free plan includes limited requests per month.

***

## Profile Data

Retrieve LinkedIn user profiles with detailed information about education, work history, and recent activity.

### Get Profile with Posts

Retrieve LinkedIn profile information including follower count, education, work history, and recent posts in a single request.

**Operation Type:** Query (Read)

**Parameters:**

* **username** `string` (required): The LinkedIn username to fetch profile data, posts, and follower count for

**Returns:**

* **connection** `number` (nullable): Number of LinkedIn connections/followers
* **data** `object` (nullable): Complete LinkedIn profile information
  * **username** `string` (nullable): LinkedIn username
  * **firstName** `string` (nullable): First name
  * **lastName** `string` (nullable): Last name
  * **summary** `string` (nullable): Profile summary/bio
  * **educations** `array of objects` (nullable): Education history
    * **start** `object` (nullable): Start date (year, month, day)
    * **end** `object` (nullable): End date (year, month, day)
    * **fieldOfStudy** `string` (nullable): Field of study
    * **degree** `string` (nullable): Degree obtained
    * **grade** `string` (nullable): Grade achieved
    * **schoolName** `string` (nullable): Name of school
    * **description** `string` (nullable): Description
    * **activities** `string` (nullable): Activities
    * **url** `string` (nullable): School URL
    * **schoolId** `string` (nullable): School ID
    * **logo** `array of objects` (nullable): School logos
  * **position** `array of objects` (nullable): Work experience
    * **companyId** `number` (nullable): Company ID
    * **companyName** `string` (nullable): Company name
    * **companyUsername** `string` (nullable): Company username
    * **companyURL** `string` (nullable): Company URL
    * **companyLogo** `string` (nullable): Company logo URL
    * **companyIndustry** `string` (nullable): Company industry
    * **companyStaffCountRange** `string` (nullable): Staff count range
    * **title** `string` (nullable): Job title
    * **location** `string` (nullable): Job location
    * **locationType** `string` (nullable): Location type
    * **description** `string` (nullable): Role description
    * **employmentType** `string` (nullable): Employment type
    * **start** `object` (nullable): Start date (year, month, day)
    * **end** `object` (nullable): End date (year, month, day)
* **posts** `array of objects` (nullable): Array of LinkedIn posts
  * **text** `string` (nullable): Post text content
  * **totalReactionCount** `number` (nullable): Total reactions
  * **commentsCount** `number` (nullable): Number of comments
  * **repostsCount** `number` (nullable): Number of reposts
  * **postUrl** `string` (nullable): URL to the post
  * **postedDateTimestamp** `number` (nullable): Post timestamp
  * **urn** `string` (nullable): Post URN

**Example Usage:**

```json
{
  "username": "satyanadella"
}
```

***

## Posts

Retrieve and search LinkedIn posts with engagement metrics.

### Get Posts

Retrieve LinkedIn posts for a user with optional date filtering.

**Operation Type:** Query (Read)

**Parameters:**

* **username** `string` (required): The LinkedIn username to fetch posts for
* **postedAt** `string` (nullable): Filter posts newer than this date (e.g., "2024-01-01 00:00"). Pass null for no date filtering.

**Returns:**

* **posts** `array of objects`: LinkedIn posts
  * **text** `string` (nullable): Post text content
  * **totalReactionCount** `number` (nullable): Total reactions
  * **commentsCount** `number` (nullable): Number of comments
  * **repostsCount** `number` (nullable): Number of reposts
  * **postUrl** `string` (nullable): URL to the post
  * **postedDateTimestamp** `number` (nullable): Post timestamp
  * **urn** `string` (nullable): Post URN

**Example Usage:**

```json
{
  "username": "satyanadella",
  "postedAt": "2024-01-01 00:00"
}
```

### Search Posts

Search LinkedIn posts by keyword, author, company, industry, and more. Supports filtering by content type (videos, photos, documents), date range, and author attributes.

**Operation Type:** Mutation (Write)

**Parameters:**

* **keyword** `string` (nullable): Search keyword to find in post content
* **sortBy** `string` (nullable): Sort order for results - "date\_posted" or "relevance" (default: date\_posted)
* **datePosted** `string` (nullable): Filter posts by recency - "past-24h", "past-week", or "past-month"
* **page** `number` (nullable): Page number for pagination (default: 1)
* **contentType** `string` (nullable): Filter by content type - "videos", "photos", "liveVideos", "collaborativeArticles", or "documents"
* **fromMember** `array of strings` (nullable): Profile URNs of authors to filter by. Get URNs from profile.getWithPosts.
* **fromCompany** `array of numbers` (nullable): Company IDs of authors to filter by. Get IDs from company.get.
* **mentionsMember** `array of strings` (nullable): Profile URNs mentioned in posts
* **mentionsOrganization** `array of numbers` (nullable): Company IDs mentioned in posts. Get IDs from company.get.
* **authorIndustry** `array of numbers` (nullable): Industry IDs to filter authors by. Common IDs: 4 (Software Development), 96 (IT), 27 (Retail). Full list at <https://learn.microsoft.com/en-us/linkedin/shared/references/reference-tables/industry-codes-v2>
* **authorCompany** `array of numbers` (nullable): Company IDs to filter authors by (authors who work at these companies). Get IDs from company.get.
* **authorTitle** `string` (nullable): Title filter for authors (e.g., "ceo or founder"). Supports boolean operators.

**Returns:**

* **total** `number` (nullable): Total number of matching posts
* **count** `number` (nullable): Number of posts returned in this response
* **items** `array of objects`: Array of matching posts
  * **urn** `string` (nullable): Post URN identifier
  * **url** `string` (nullable): URL to the post
  * **text** `string` (nullable): Post text content
  * **postedAt** `string` (nullable): Relative time when posted (e.g., "1mo", "3mo")
  * **postedDate** `string` (nullable): ISO date string when posted
  * **postedDateTimestamp** `number` (nullable): Unix timestamp when posted
  * **reposted** `boolean` (nullable): Whether this is a repost
  * **resharedPost** `object` (nullable): Original post if this is a repost
    * **text** `string` (nullable): Text content of the reshared post
    * **author** `object` (nullable): Author of the original post
    * **company** `object` (nullable): Company that posted the original
  * **author** `object` (nullable): Post author information
    * **fullName** `string` (nullable): Full name of the post author
    * **headline** `string` (nullable): Professional headline
    * **username** `string` (nullable): LinkedIn username
    * **url** `string` (nullable): Profile URL
    * **type** `string` (nullable): Author type (user or company)
  * **socialActivityCountsInsight** `object` (nullable): Engagement metrics
    * **numComments** `number` (nullable): Number of comments
    * **likeCount** `number` (nullable): Number of likes
    * **totalReactionCount** `number` (nullable): Total reaction count
    * **praiseCount** `number` (nullable): Number of praise reactions
    * **empathyCount** `number` (nullable): Number of empathy reactions

**Example Usage:**

```json
{
  "keyword": "artificial intelligence",
  "sortBy": "date_posted",
  "datePosted": "past-week",
  "contentType": "videos",
  "authorTitle": "ceo or founder",
  "page": 1
}
```

***

## Company Details

Get company information including ID for job searches.

### Get Company

Retrieve LinkedIn company details including the company ID needed for job searches.

**Operation Type:** Query (Read)

**Parameters:**

* **username** `string` (required): The LinkedIn company username to fetch company details for

**Returns:**

* **id** `string` (nullable): LinkedIn company ID (use this for job searches)
* **tagline** `string` (nullable): Company tagline
* **description** `string` (nullable): Company description
* **phone** `string` (nullable): Company phone
* **staffCount** `number` (nullable): Number of staff
* **headquarter** `object` (nullable): Headquarters information
  * **countryCode** `string` (nullable): Country code
  * **geographicArea** `string` (nullable): Geographic area
  * **country** `string` (nullable): Country
  * **city** `string` (nullable): City
  * **postalCode** `string` (nullable): Postal code
  * **line1** `string` (nullable): Address line 1
  * **line2** `string` (nullable): Address line 2
* **website** `string` (nullable): Company website
* **followerCount** `number` (nullable): Number of followers
* **staffCountRange** `string` (nullable): Staff count range
* **crunchbaseUrl** `string` (nullable): Crunchbase URL

**Example Usage:**

```json
{
  "username": "microsoft"
}
```

***

## Company Insights

Get company information and metrics.

### Get Company Insights

Retrieve LinkedIn company insights including employee count, growth, and business information.

**Operation Type:** Query (Read)

**Parameters:**

* **username** `string` (required): The LinkedIn company username to fetch insights for

**Returns:**

* **company** `object` (nullable): Company details
  * **id** `string` (nullable): Company ID
  * **name** `string` (nullable): Company name
  * **tagline** `string` (nullable): Company tagline
  * **description** `string` (nullable): Company description
  * **followerCount** `number` (nullable): Number of followers
  * **staffCount** `number` (nullable): Number of staff
  * **website** `string` (nullable): Company website
* **insights** `object` (nullable): Company insights
  * **headcountInsights** `object` (nullable): Headcount metrics
    * **title** `string` (nullable): Section title
    * **totalEmployees** `number` (nullable): Total employees
    * **growthPeriods** `array of objects` (nullable): Growth periods
    * **headcountGrowth** `array of objects` (nullable): Historical headcount
  * **functionHeadcountInsights** `object` (nullable): Headcount by function
  * **medianEmployeeTenure** `number` (nullable): Median employee tenure

**Example Usage:**

```json
{
  "username": "google"
}
```

***

## Job Listings

Search LinkedIn job postings.

### Search Jobs by Company

Search for jobs at specific companies using company IDs. You must first call getCompany with the company username to get the real ID.

**Operation Type:** Query (Read)

**Parameters:**

* **companyIds** `array of numbers` (required): Array of LinkedIn company IDs. Do NOT guess IDs - first call getCompany to get real IDs.
* **page** `number` (nullable): Page number for pagination (default: 1)
* **sort** `string` (nullable): Sort order for results (e.g., "mostRecent")

**Returns:**

* **jobs** `array of objects`: Array of job listings
  * **id** `string` (nullable): Unique job identifier
  * **title** `string` (nullable): Job title
  * **url** `string` (nullable): LinkedIn job posting URL
  * **location** `string` (nullable): Job location and work arrangement
  * **type** `string` (nullable): Employment type
  * **postAt** `string` (nullable): Job posting date
* **total** `number` (nullable): Total number of job results available

**Example Usage:**

```json
{
  "companyIds": [1035],
  "page": 1,
  "sort": "mostRecent"
}
```

### Search Jobs by Keywords

Search for jobs using keywords with filters for location, experience level, job type, and more. Use this when you do not have a company ID.

**Operation Type:** Query (Read)

**Parameters:**

* **keywords** `string` (required): Keywords to search for in job titles and descriptions
* **companyIds** `string` (nullable): Company ID to filter jobs by specific company
* **locationId** `string` (nullable): Location ID to filter jobs by geographic area
* **sort** `string` (nullable): Sort order - "mostRelevant" or "mostRecent"
* **experienceLevel** `string` (nullable): Experience level - "internship", "associate", "director", "entryLevel", "midSeniorLevel", "executive", or "president"
* **datePosted** `string` (nullable): Filter by when posted - "anyTime", "pastMonth", "pastWeek", or "past24Hours"
* **jobType** `string` (nullable): Employment type - "fullTime", "partTime", "contract", or "internship"
* **onsiteRemote** `string` (nullable): Work arrangement - "onSite", "remote", or "hybrid"
* **salary** `string` (nullable): Minimum salary range - "40k+", "60k+", "80k+", "100k+", "120k+", "140k+", "160k+", "180k+", or "200k+"
* **start** `number` (nullable): Starting index for pagination (0, 25, 50, 75, etc. Max: 975)

**Returns:**

* **success** `boolean`: Whether the API call was successful
* **message** `string`: API response message
* **data** `array of objects` (nullable): Array of job listings
  * **id** `string` (nullable): Unique job identifier
  * **title** `string` (nullable): Job title
  * **url** `string` (nullable): LinkedIn job posting URL
  * **location** `string` (nullable): Job location and work arrangement
  * **type** `string` (nullable): Employment type
  * **postAt** `string` (nullable): Job posting date
* **total** `number` (nullable): Total number of jobs found

**Example Usage:**

```json
{
  "keywords": "software engineer",
  "experienceLevel": "midSeniorLevel",
  "datePosted": "pastWeek",
  "onsiteRemote": "remote",
  "salary": "120k+",
  "start": 0
}
```

***

## Engagement

Retrieve comments and reactions on LinkedIn posts for engagement analysis.

### Get Comments

Retrieve comments on a LinkedIn post by its URN.

**Operation Type:** Query (Read)

**Parameters:**

* **urn** `string` (required): The LinkedIn post URN (get from post data)
* **sort** `string` (nullable): Sort order for comments (e.g., "relevance")

**Returns:**

* **comments** `array of objects`: Array of comments
  * **text** `string` (nullable): Comment text
  * **author** `object` (nullable): Comment author
    * **fullName** `string` (nullable): Author name
    * **headline** `string` (nullable): Author headline
    * **username** `string` (nullable): Author username
  * **createdAt** `string` (nullable): Comment timestamp
  * **likes** `number` (nullable): Number of likes on comment

**Example Usage:**

```json
{
  "urn": "urn:li:activity:7123456789012345678"
}
```

### Get Post Comments

Retrieve comments on a LinkedIn post. Alternative method using post URL or ID.

**Operation Type:** Query (Read)

**Parameters:**

* **urn** `string` (required): The LinkedIn post URN
* **sort** `string` (nullable): Sort order for comments

**Returns:**

Same response format as Get Comments.

### Get Post Reactions

Retrieve reactions (likes, celebrates, etc.) on a LinkedIn post.

**Operation Type:** Query (Read)

**Parameters:**

* **urn** `string` (required): The LinkedIn post URN

**Returns:**

* **reactions** `array of objects`: Array of reactions
  * **type** `string` (nullable): Reaction type (LIKE, CELEBRATE, SUPPORT, LOVE, INSIGHTFUL, FUNNY)
  * **author** `object` (nullable): Person who reacted
    * **fullName** `string` (nullable): Author name
    * **headline** `string` (nullable): Author headline
    * **username** `string` (nullable): Author username
* **total** `number` (nullable): Total reaction count

**Example Usage:**

```json
{
  "urn": "urn:li:activity:7123456789012345678"
}
```

### Get Reactions

Retrieve reactions on a LinkedIn post. Alternative method.

**Operation Type:** Query (Read)

**Parameters:**

* **urn** `string` (required): The LinkedIn post URN

**Returns:**

Same response format as Get Post Reactions.

***

## People Search

Search for LinkedIn profiles by name, company, title, and other criteria.

### Search People

Search for people on LinkedIn with filters for keywords, location, company, and more.

**Operation Type:** Query (Read)

**Parameters:**

* **keyword** `string` (nullable): Search keyword for finding people
* **page** `number` (nullable): Page number for pagination (default: 1)
* **company** `string` (nullable): Filter by current company name
* **title** `string` (nullable): Filter by job title
* **location** `string` (nullable): Filter by location
* **industry** `string` (nullable): Filter by industry

**Returns:**

* **total** `number` (nullable): Total number of matching profiles
* **items** `array of objects`: Array of matching people
  * **username** `string` (nullable): LinkedIn username
  * **fullName** `string` (nullable): Full name
  * **headline** `string` (nullable): Professional headline
  * **location** `string` (nullable): Location
  * **profileUrl** `string` (nullable): LinkedIn profile URL
  * **profilePicture** `string` (nullable): Profile picture URL

**Example Usage:**

```json
{
  "keyword": "software engineer",
  "company": "Google",
  "location": "San Francisco",
  "page": 1
}
```

***

## Common Use Cases

**Profile Research:**

* Analyze professional backgrounds and career progression
* Verify employment history and educational credentials
* Research influencer and thought leader profiles
* Track professional network growth

**Company Intelligence:**

* Research company culture through employee profiles
* Track headcount growth and team composition
* Analyze company leadership and management structure
* Monitor competitor hiring patterns

**Job Market Analysis:**

* Search for open positions at target companies
* Analyze job requirements and qualifications
* Track hiring trends by industry and location
* Monitor salary ranges and compensation trends

**Content and Engagement:**

* Search for trending topics and discussions in your industry
* Find thought leadership content from specific companies
* Monitor mentions of brands or topics
* Analyze post engagement patterns

