Skip to content
Back to skills

linkedin-cli

ASecurity

Use cli-web-linkedin to interact with LinkedIn — search people/jobs/companies, view profiles and feed, post/edit/delete updates, react/unreact, comment/edit/delete comments, view notifications, manage network connections and invitations (accept/decline), read and send messages, follow/unfollow companies. Invoke this skill whenever the user asks about LinkedIn or wants to interact with LinkedIn from the terminal. Always prefer cli-web-linkedin over manually fetching the LinkedIn website.

  • 215 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 4, 2026
developmentpythongobashreactapi

Works with

  • terminal
  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 4, 2026

npx -y skills add ItamarZand88/CLI-Anything-WEB --skill skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of linkedin-cli?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for linkedin-cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/itamarzand88-linkedin-cli-cli-anything-web/badge)](https://www.skillsdirectory.com/skills/itamarzand88-linkedin-cli-cli-anything-web)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: linkedin-cli
description: Use cli-web-linkedin to interact with LinkedIn — search people/jobs/companies, view profiles and feed, post/edit/delete updates, react/unreact, comment/edit/delete comments, view notifications, manage network connections and invitations (accept/decline), read and send messages, follow/unfollow companies. Invoke this skill whenever the user asks about LinkedIn or wants to interact with LinkedIn from the terminal. Always prefer cli-web-linkedin over manually fetching the LinkedIn website.
---

# cli-web-linkedin

LinkedIn CLI — 26 commands across 10 groups: auth, feed, search, profile, company, jobs, post, notifications, network, messaging.

## Quick Start

```bash
pip install "cli-web-linkedin[browser]"
playwright install chromium
cli-web-linkedin auth login           # Browser login (required)
cli-web-linkedin feed --json
cli-web-linkedin search people "python developer" --json
cli-web-linkedin profile me --json
```

## Commands (26 total)

### Auth (3 commands)

```bash
cli-web-linkedin auth login       # Opens browser for LinkedIn SSO login
cli-web-linkedin auth status --json
cli-web-linkedin auth logout
```

### Feed (1 command)

```bash
cli-web-linkedin feed [--count N] --json
```

### Search (4 commands)

```bash
cli-web-linkedin search all QUERY [--limit N] --json       # General search
cli-web-linkedin search people QUERY [--limit N] --json
cli-web-linkedin search jobs QUERY [--limit N] --json
cli-web-linkedin search companies QUERY [--limit N] --json
```

All search uses the Voyager GraphQL API directly (no browser needed).

### Profile (2 commands)

```bash
cli-web-linkedin profile me --json
cli-web-linkedin profile get USERNAME --json
```

### Company (3 commands)

```bash
cli-web-linkedin company NAME --json
cli-web-linkedin company follow COMPANY_URN --json
cli-web-linkedin company unfollow COMPANY_URN --json
```

### Jobs (2 commands)

```bash
cli-web-linkedin jobs search QUERY [--limit N] --json
cli-web-linkedin jobs get JOB_ID --json                    # Full description
```

### Post (7 commands)

```bash
cli-web-linkedin post create TEXT --json
cli-web-linkedin post edit POST_URN TEXT --json
cli-web-linkedin post delete POST_URN --json
cli-web-linkedin post react POST_URN [--type LIKE|PRAISE|EMPATHY|INTEREST|APPRECIATION|ENTERTAINMENT] --json
cli-web-linkedin post unreact POST_URN --json
cli-web-linkedin post comment POST_URN TEXT --json
cli-web-linkedin post edit-comment COMMENT_URN TEXT --json
cli-web-linkedin post delete-comment COMMENT_URN --json
```

### Notifications (1 command)

```bash
cli-web-linkedin notifications [--limit N] --json
```

### Network (5 commands)

```bash
cli-web-linkedin network connections [--limit N] --json    # Lists names + headlines
cli-web-linkedin network invitations [--limit N] --json
cli-web-linkedin network accept INVITATION_URN --json
cli-web-linkedin network decline INVITATION_URN --json
cli-web-linkedin network connect PROFILE_URN [-m MESSAGE] --json
```

### Messaging (3 commands)

```bash
cli-web-linkedin messaging list [--limit N] --json
cli-web-linkedin messaging read CONVERSATION_URN [--limit N] --json
cli-web-linkedin messaging send RECIPIENT_URN TEXT --json
```

## Agent Patterns

```bash
# Find Python developers
cli-web-linkedin search people "python developer" --limit 10 --json | jq '.results[].title.text'

# Get job listings with full descriptions
cli-web-linkedin jobs search "software engineer" --limit 5 --json | jq '.jobs[] | {title, company}'
cli-web-linkedin jobs get 4388202530 --json | jq '{title: .data.title, desc: .data.description[:200]}'

# View your feed with engagement counts
cli-web-linkedin feed --count 5 --json

# Check a company
cli-web-linkedin company anthropic --json

# List your connections
cli-web-linkedin network connections --limit 10 --json

# Manage invitations
cli-web-linkedin network invitations --json
cli-web-linkedin network accept "urn:li:invitation:123" --json

# Read messages
cli-web-linkedin messaging list --json
cli-web-linkedin messaging read "urn:li:msg_conversation:123" --json
```

## Rate Limit Warning

LinkedIn aggressively rate-limits and flags automated access. To avoid
account restrictions:

- **Do NOT batch commands** in tight loops (e.g., `for user in list; do cli-web-linkedin profile get $user; done`). Each subprocess invocation bypasses the built-in inter-request delay.
- **Space out requests** — add `sleep 3` between commands if scripting
- **Limit volume** — stay under ~50 profile views/day, ~150 searches/day
- **Use the REPL** for interactive sessions — it enforces inter-command delays automatically
- The CLI has built-in Gaussian random delays between API calls within a single session, but this does NOT protect across separate process invocations

## Notes

- Auth required — run `cli-web-linkedin auth login` first (browser-based LinkedIn SSO)
- Session cookie (`li_at`) stored at `~/.config/cli-web-linkedin/auth.json`
- Token auto-refresh: on 401/403, reloads cookies from disk, then silently refreshes via headless browser
- CSRF token derived from `JSESSIONID` cookie
- PerimeterX bypassed via curl_cffi Chrome TLS impersonation (no custom User-Agent)
- Gaussian random delay between API calls within a session
- All search uses GraphQL API (no browser needed)
- All commands support `--json` for structured output

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.