Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Linkedin Api

ASecurity

LinkedIn data toolkit via ScraperSocial — profiles and 20 sub-resources, company data, people/company/job search, posts, comments, reactions and ad search.

2 stars
0 votes
0 copies
0 views
Added 9/22/2026
developmentgobashreactnodegitapi

Works with

cursorapimcp

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add nikhonit/social-media-api-skills --skill linkedin-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Linkedin Api?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Linkedin Api
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nikhonit-linkedin-api/badge)](https://www.skillsdirectory.com/skills/nikhonit-linkedin-api)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: linkedin-api
version: 1.0.0
description: LinkedIn data toolkit via ScraperSocial — profiles and 20 sub-resources, company data, people/company/job search, posts, comments, reactions and ad search.
license: MIT-0
author: ScraperSocial
homepage: https://scrapersocial.com
repository: https://github.com/nikhonit/social-media-api-skills
tags:
  - linkedin
  - b2b
  - lead-generation
  - jobs
  - recruiting
  - social-media
  - api
  - mcp
metadata:
  openclaw:
    primaryEnv: SCRAPERSOCIAL_KEY
    homepage: https://scrapersocial.com
    requires:
      env:
        - SCRAPERSOCIAL_KEY
---

# LinkedIn API skill

Read public LinkedIn data as clean JSON. This LinkedIn API skill is the largest surface in the repo: a profile plus twenty sub-resources — experiences, educations, skills, certifications, publications, patents, recommendations, volunteering and more — alongside company data, funding and insights, people search, company search, job search, post reactions and comment threads, and the LinkedIn ad library.

LinkedIn is the hardest mainstream platform to read programmatically and the one most people want most. Each sub-resource is its own endpoint, so you pay for the slice you need instead of pulling a whole profile to read one field.

This skill wraps **38 live LinkedIn endpoints** from the [ScraperSocial](https://scrapersocial.com) API. Public data only, returned as clean JSON.

## When to use this skill

- You are enriching a lead or candidate record from a public profile URL or handle.
- You need one slice of a profile — just the work history, just the skills — rather than everything.
- You are researching a company: headcount, funding, insights, open jobs, employees, posts.
- You are sourcing candidates or prospects through people search or job search.
- You are analysing engagement on a post: reactions, comments and replies.

### Do not use this skill when

- **Watch the cost.** `get_profile.js --section=contact` costs 25 credits, the most expensive non-video call here. Full profiles and company records cost 10. Fetch the specific section you need instead of the whole profile.
- **You are compiling personal data at scale.** This returns information about real people. GDPR, CCPA and LinkedIn's own terms apply to what you do with it. Have a lawful basis, honour deletion requests, and do not build unsolicited bulk-contact lists where that is restricted.
- **You need to send connection requests or InMail.** Read-only.
- **You need private profile fields** or anything behind a login. Public data only.
- **A LinkedIn link appears in passing** with no question attached.

## Setup

```bash
export SCRAPERSOCIAL_KEY=sk_live_...   # https://scrapersocial.com/app/keys
```

Signing up at [scrapersocial.com/signup](https://scrapersocial.com/signup) includes 100 free credits, no card required.

## Scripts

| Script | What it does | Input | Credits |
|---|---|---|---|
| `get_profile.js` | Public profile data for a LinkedIn member: headline, positions, education. | url|handle | 10 credits (25 with include_email=true) |
| `get_profile.js` `--section=about` | Get LinkedIn profile about. | url|handle | 5 credits |
| `get_profile.js` `--section=certifications` | Get LinkedIn profile certifications. | url|handle | 5 credits |
| `get_profile.js` `--section=comments` | List LinkedIn profile comments. | url|handle | 5 credits per comment |
| `get_profile.js` `--section=contact` | Get LinkedIn profile contact. | url|handle | 25 credits |
| `get_profile.js` `--section=courses` | Get LinkedIn profile courses. | url|handle | 5 credits |
| `get_profile.js` `--section=educations` | Get LinkedIn profile educations. | url|handle | 5 credits |
| `get_profile.js` `--section=experiences` | Get LinkedIn profile experiences. | url|handle | 5 credits |
| `get_profile.js` `--section=full` | Get LinkedIn profile full. | url|handle | 10 credits |
| `get_profile.js` `--section=honors` | Get LinkedIn profile honors. | url|handle | 5 credits |
| `get_profile.js` `--section=languages` | Get LinkedIn profile languages. | url|handle | 5 credits |
| `get_profile.js` `--section=patents` | Get LinkedIn profile patents. | url|handle | 5 credits |
| `get_profile.js` `--section=posts` | List LinkedIn profile posts. | url|handle | 5 credits per post |
| `get_profile.js` `--section=projects` | Get LinkedIn profile projects. | url|handle | 5 credits |
| `get_profile.js` `--section=publications` | Get LinkedIn profile publications. | url|handle | 5 credits |
| `get_profile.js` `--section=reactions` | List LinkedIn profile reactions. | url|handle | 5 credits per reaction |
| `get_profile.js` `--section=recommendations` | Get LinkedIn profile recommendations. | url|handle | 5 credits |
| `get_profile.js` `--section=similar` | Get LinkedIn profile similar. | url|handle | 5 credits |
| `get_profile.js` `--section=skills` | Get LinkedIn profile skills. | url|handle | 5 credits |
| `get_profile.js` `--section=stats` | Get LinkedIn profile stats. | url|handle | 5 credits |
| `get_profile.js` `--section=volunteers` | Get LinkedIn profile volunteers. | url|handle | 5 credits |
| `get_company.js` | Company page data: industry, size, followers and description. | url|handle | 10 credits |
| `get_company.js` `--section=funding` | Get LinkedIn company funding. | url|handle | 10 credits |
| `get_company.js` `--section=insights` | Get LinkedIn company insights. | url|handle | 10 credits |
| `get_company.js` `--section=jobs` | List LinkedIn company jobs. | url|handle | 5 credits per job |
| `get_company.js` `--section=people` | List LinkedIn company people. | url|handle | 5 credits per profile |
| `get_company.js` `--section=posts` | Latest posts from a LinkedIn company page with per-post metrics. | url|handle | 5 credits per post |
| `get_company.js` `--section=search` | List LinkedIn company search. | query | 5 credits per company |
| `get_post.js` `--section=comment-replies` | List LinkedIn post comment replies. | url | 5 credits per comment |
| `get_post.js` `--section=reactions` | List LinkedIn post reactions. | url | 5 credits per reaction |
| `people_search.js` | Search public LinkedIn profiles by keyword, title, company or location. | query | 5 credits per profile |
| `people_search.js` `--section=by-name` | List LinkedIn people search by name. | query | 5 credits per profile |
| `people_search.js` `--section=by-services` | List LinkedIn people search by services. | query | 5 credits per profile |
| `job_search.js` | List LinkedIn job search. | query | 5 credits per job |
| `ads_search.js` | List LinkedIn ads search. | query | 5 credits per ad |
| `get_comments.js` | Paginated comments on a LinkedIn post; charged per comment returned. | url | 5 credits per comment |
| `search.js` | Keyword search over public LinkedIn posts. | query | 5 credits per result |
| `get_stats.js` | Reactions, comments and reposts for a LinkedIn post. | url | 5 credits |
| `call_endpoint.js` | Call any `/v1/linkedin/` endpoint directly | path + params | varies |

Every script also accepts `--limit`, `--cursor`, `--fields`, `--format` and `--fresh`. `--limit` is clamped to 50: above that the API returns an async job instead of data.

## Example

```bash
node skills/linkedin-api/scripts/people_search.js "product manager fintech"
```

Every response uses the same envelope:

```json
{ "data": {}, "meta": { "count": 20, "next_cursor": "..." }, "request_id": "a18e4ef88ad4b00b" }
```

`meta` appears on paginated endpoints only. Keep `request_id` — support traces calls with it.

## Endpoints

| Endpoint | Input | Returns | Credits | Paginated |
|---|---|---|---|---|
| `/v1/linkedin/ads-search` | query | ad | 5 credits per ad | yes |
| `/v1/linkedin/comments` | url | comment | 5 credits per comment | yes |
| `/v1/linkedin/company` | url|handle | company | 10 credits | no |
| `/v1/linkedin/company-funding` | url|handle | company | 10 credits | no |
| `/v1/linkedin/company-insights` | url|handle | company | 10 credits | no |
| `/v1/linkedin/company-jobs` | url|handle | job | 5 credits per job | yes |
| `/v1/linkedin/company-people` | url|handle | profile | 5 credits per profile | yes |
| `/v1/linkedin/company-posts` | url|handle | post | 5 credits per post | yes |
| `/v1/linkedin/company-search` | query | company | 5 credits per company | yes |
| `/v1/linkedin/job-search` | query | job | 5 credits per job | yes |
| `/v1/linkedin/people-search` | query | profile | 5 credits per profile | yes |
| `/v1/linkedin/people-search-by-name` | query | profile | 5 credits per profile | yes |
| `/v1/linkedin/people-search-by-services` | query | profile | 5 credits per profile | yes |
| `/v1/linkedin/post-comment-replies` | url | comment | 5 credits per comment | yes |
| `/v1/linkedin/post-reactions` | url | reaction | 5 credits per reaction | yes |
| `/v1/linkedin/profile` | url|handle | profile | 10 credits (25 with include_email=true) | no |
| `/v1/linkedin/profile-about` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-certifications` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-comments` | url|handle | comment | 5 credits per comment | yes |
| `/v1/linkedin/profile-contact` | url|handle | profile | 25 credits | no |
| `/v1/linkedin/profile-courses` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-educations` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-experiences` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-full` | url|handle | profile | 10 credits | no |
| `/v1/linkedin/profile-honors` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-languages` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-patents` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-posts` | url|handle | post | 5 credits per post | yes |
| `/v1/linkedin/profile-projects` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-publications` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-reactions` | url|handle | reaction | 5 credits per reaction | yes |
| `/v1/linkedin/profile-recommendations` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-similar` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-skills` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-stats` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/profile-volunteers` | url|handle | profile | 5 credits | no |
| `/v1/linkedin/search` | query | result | 5 credits per result | yes |
| `/v1/linkedin/stats` | url | post | 5 credits | no |

Costs shown per item for paginated endpoints, per call otherwise. Failed calls are not charged.

## FAQ

### How do I get a LinkedIn profile as JSON?

`get_profile.js` with the profile URL or handle returns the core profile for 10 credits; `--section=full` returns the expanded record. For one slice, use the matching section — `--section=experiences`, `--section=skills`, `--section=educations` and so on.

### How do I get someone's contact details?

`get_profile.js --section=contact` returns the contact record for 25 credits. Separately, the default `get_profile.js` accepts `--include_email`, which adds the email to the base profile and reprices that call from 10 credits to 25. `--include_email` applies only to the default section; it is not accepted anywhere else. Only pull either with a lawful basis for processing that person's data.

### Can I search LinkedIn for people, companies or jobs?

Yes: `people_search.js` (with `--section=by-name` or `--section=by-services`), `get_company.js --section=search`, and `job_search.js`. Each costs 5 credits per result returned.

### How do I get company data?

`get_company.js` returns the company for 10 credits. Sections cover `funding`, `insights`, `jobs`, `people` and `posts`.

### Is this an official LinkedIn API?

No. ScraperSocial is independent and not affiliated with LinkedIn or Microsoft. It returns publicly available data only. LinkedIn's own Marketing and Talent APIs are the sanctioned route for partner use cases.

## Links

- [LinkedIn data on ScraperSocial](https://scrapersocial.com)
- [All 33 platform skills](https://github.com/nikhonit/social-media-api-skills)
- [OpenAPI spec](https://scrapersocial.com/openapi.json) · [llms.txt](https://scrapersocial.com/llms.txt)

## Disclaimer

ScraperSocial is an independent product and is not affiliated with, endorsed by, or sponsored by any platform named in this repository. All product names, logos and brands are property of their respective owners. These skills return only publicly available data.

Attribution

nikhonitnikhonit
View sourceMore from nikhonit →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284072 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →