关于 linkedin
linkedin 是通过 Linked API 的云端浏览器执行 LinkedIn 操作的命令行技能,面向需要管理社交资料、联系和内容的用户。它支持资料与公司搜索、消息、连接管理、帖子互动及统计,并以 JSON 输出结果。
主要功能
- 01获取个人与公司资料
- 02搜索人员和公司
- 03发送消息并管理连接
- 04创建、转发和互动帖子
- 05查询社交与使用统计
适用场景
- 01筛选特定职位或地区的人员
- 02查找符合规模和行业条件的公司
- 03管理联系请求并发送消息
- 04发布公司内容并查看帖子表现
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ linked-api/ linkedin-skills --skill linkedin安装后在 Claude Code 中输入/linkedin确认已加载。
详细介绍
LinkedIn 技能
你可以使用 linkedin——一个用于 LinkedIn 自动化的 CLI 工具。它可用于获取个人资料、搜索人员和公司、发送消息、管理联系人、创建帖子、进行互动、发表评论等。
每条命令都会向 Linked API 发送请求,由它通过真实的云端浏览器在 LinkedIn 上执行操作。操作不会立即完成——根据复杂程度,预计需要 30 秒到几分钟。
如果无法使用 linkedin,请安装:
npm install -g @linkedapi/linkedin-cli
身份验证
如果命令以退出代码 2 失败(身份验证错误),请让用户设置其账户:
- 前往 app.linkedapi.io 并注册或登录
- 连接其 LinkedIn 账户
- 从控制面板复制 Linked API Token 和 Identification Token
用户提供令牌后,运行:
linkedin setup --linked-api-token=TOKEN --identification-token=TOKEN
全局标志
始终使用 --json 和 -q,以获取机器可读的输出:
LINKEDAPI_CLIENT=skill:linkedin linkedin <command> --json -q
使用此技能时,运行下方所有 linkedin ... 示例时,都要加上
LINKEDAPI_CLIENT=skill:linkedin 前缀,以便 Linked API 将使用情况归因于此技能。
| 标志 | 描述 |
|---|---|
--json | 结构化 JSON 输出 |
--quiet / -q | 抑制 stderr 进度消息 |
--fields name,url,... | 选择输出中的特定字段 |
--no-color | 禁用颜色 |
--account "Name" | 为此命令使用指定账户 |
输出格式
成功:
{"success": true, "data": {"name": "John Doe", "headline": "Engineer"}}
错误:
{"success": false, "error": {"type": "personNotFound", "message": "Person not found"}}
退出代码 0 表示 API 调用成功——始终检查 success 字段,确认操作结果。非零退出代码表示基础设施错误:
| 退出代码 | 含义 |
|---|---|
| 0 | 成功(检查 success 字段——操作可能返回错误,例如“未找到此人”) |
| 1 | 一般/意外错误 |
| 2 | 缺少令牌或令牌无效 |
| 3 | 需要订阅/套餐 |
| 4 | LinkedIn 账户问题 |
| 5 | 参数无效 |
| 6 | 请求过于频繁 |
| 7 | 网络错误 |
| 8 | 工作流超时(已返回 workflowId,可用于恢复) |
命令
获取个人资料
linkedin person fetch <url> [flags] --json -q
可选标志,用于包含其他数据:
--experience– 工作经历--education– 教育经历--skills– 技能列表--languages– 语言--posts– 近期帖子(使用--posts-limit N、--posts-since TIMESTAMP)--comments– 近期评论(使用--comments-limit N、--comments-since TIMESTAMP)--reactions– 近期互动(使用--reactions-limit N、--reactions-since TIMESTAMP)
仅在需要时请求其他数据——每个标志都会增加执行时间。
# Basic profile
linkedin person fetch https://www.linkedin.com/in/username --json -q
# With experience and education
linkedin person fetch https://www.linkedin.com/in/username --experience --education --json -q
# With last 5 posts
linkedin person fetch https://www.linkedin.com/in/username --posts --posts-limit 5 --json -q
搜索人员
linkedin person search [flags] --json -q
| 标志 | 描述 |
|---|---|
--term | 搜索关键词或短语 |
--limit | 最大结果数 |
--first-name | 按名字筛选 |
--last-name | 按姓氏筛选 |
--position | 按职位筛选 |
--locations | 以逗号分隔的地点 |
--industries | 以逗号分隔的行业 |
--current-companies | 以逗号分隔的当前公司名称 |
--previous-companies | 以逗号分隔的曾任职公司名称 |
--schools | 以逗号分隔的学校名称 |
linkedin person search --term "product manager" --locations "San Francisco" --json -q
linkedin person search --current-companies "Google" --position "Engineer" --limit 20 --json -q
获取公司
linkedin company fetch <url> [flags] --json -q
可选标志:
--employees– 包含员工--dms– 包含决策者--posts– 包含公司帖子
员工筛选条件(需要 --employees):
| 标志 | 描述 |
|---|---|
--employees-limit | 要获取的员工数量上限 |
--employees-first-name | 按名字筛选 |
--employees-last-name | 按姓氏筛选 |
--employees-position | 按职位筛选 |
--employees-locations | 以逗号分隔的地点 |
--employees-industries | 以逗号分隔的行业 |
--employees-schools | 以逗号分隔的学校名称 |
| 标志 | 描述 |
|---|---|
--dms-limit | 要获取的决策者数量上限(需要 --dms) |
--posts-limit | 要获取的帖子数量上限(需要 --posts) |
--posts-since | 指定 ISO 时间戳之后的帖子(需要 --posts) |
# Basic company info
linkedin company fetch https://www.linkedin.com/company/name --json -q
# With employees filtered by position
linkedin company fetch https://www.linkedin.com/company/name --employees --employees-position "Engineer" --json -q
# With decision makers and posts
linkedin company fetch https://www.linkedin.com/company/name --dms --posts --posts-limit 10 --json -q
搜索公司
linkedin company search [flags] --json -q
| 标志 | 描述 |
|---|---|
--term | 搜索关键词 |
--limit | 结果数量上限 |
--sizes | 以逗号分隔的规模:1-10、11-50、51-200、201-500、501-1000、1001-5000、5001-10000、10001+ |
--locations | 以逗号分隔的地点 |
--industries | 以逗号分隔的行业 |
linkedin company search --term "fintech" --sizes "11-50,51-200" --json -q
发送消息
linkedin message send <person-url> '<text>' --json -q
文本最多可包含 1900 个字符。请用单引号括住消息,以避免 shell 解析问题。
linkedin message send https://www.linkedin.com/in/username 'Hey, loved your latest post!' --json -q
获取对话
linkedin message get <person-url> [--since TIMESTAMP] --json -q
首次调用某个对话时会触发后台同步,可能需要较长时间。后续调用会更快。
linkedin message get https://www.linkedin.com/in/username --json -q
linkedin message get https://www.linkedin.com/in/username --since 2024-01-15T10:30:00Z --json -q
连接管理
检查连接状态
linkedin connection status <url> --json -q
发送连接请求
linkedin connection send <url> [--note 'text'] [--email [email protected]] --json -q
列出连接
linkedin connection list [flags] --json -q
| 标志 | 描述 |
|---|---|
--limit | 返回的连接数量上限 |
--since | 仅列出指定 ISO 时间戳之后建立的连接(仅在未使用筛选标志时有效) |
--first-name | 按名字筛选 |
--last-name | 按姓氏筛选 |
--position | 按职位筛选 |
--locations | 以逗号分隔的地点 |
--industries | 以逗号分隔的行业 |
--current-companies | 以逗号分隔的当前公司名称 |
--previous-companies | 以逗号分隔的前任公司名称 |
--schools | 以逗号分隔的学校名称 |
linkedin connection list --limit 50 --json -q
linkedin connection list --current-companies "Google" --position "Engineer" --json -q
linkedin connection list --since 2024-01-01T00:00:00Z --json -q
列出待处理的外发请求
linkedin connection pending --json -q
列出收到的连接请求
他人向你发送的邀请(收到的请求)。
linkedin connection requests --json -q
接受收到的请求
linkedin connection accept <url> --json -q
忽略收到的请求
linkedin connection ignore <url> --json -q
撤回待处理的请求
linkedin connection withdraw <url> [--no-unfollow] --json -q
默认情况下,撤回请求也会取消关注此人。使用 --no-unfollow 可继续关注。
移除连接
linkedin connection remove <url> --json -q
帖子
获取帖子
linkedin post fetch <url> [flags] --json -q
| 标志 | 描述 |
|---|---|
--comments | 包含评论 |
--reactions | 包含表情回应 |
--comments-limit | 要获取的评论数量上限(需要 --comments) |
--comments-sort | 排序方式:mostRelevant 或 mostRecent(需要 --comments) |
--comments-replies | 包含评论的回复(需要 --comments) |
--reactions-limit | 要获取的表情回应数量上限(需要 --reactions) |
linkedin post fetch https://www.linkedin.com/posts/username_activity-123 --json -q
# With comments sorted by most recent, including replies
linkedin post fetch https://www.linkedin.com/posts/username_activity-123 \
--comments --comments-sort mostRecent --comments-replies --json -q
创建帖子
linkedin post create '<text>' [flags] --json -q
| 标志 | 描述 |
|---|---|
--company-url | 代表公司主页发帖(需要管理员权限) |
--attachments | 附件格式为 url:type 或 url:type:name。类型:image、video、document。可多次指定。 |
--mention | 提及格式为 key:name 或 key:name:identifier,并绑定到文本中的 @[key]。可多次指定。 |
附件数量限制:最多 9 张图片,或 1 个视频,或 1 份文档。不可混用类型。
linkedin post create 'Excited to share our latest update!' --json -q
# With a document
linkedin post create 'Our Q4 report' \
--attachments "https://example.com/report.pdf:document:Q4 Report" --json -q
# Mentioning a person
linkedin post create 'Huge thanks to @[author] for the write-up!' \
--mention "author:Example Person:urn:li:member:123456789" --json -q
# Post as a company
linkedin post create 'Company announcement' \
--company-url https://www.linkedin.com/company/name --json -q
转发帖子
linkedin post repost <url> [flags] --json -q
| 标志 | 说明 |
|---|---|
--text | 添加你自己的评论(最多 3000 个字符)。如果不提供,则原样转发帖子。 |
--mention | 以 key:name 或 key:name:identifier 的形式提及,并绑定到 --text 中的 @[key]。可多次指定。 |
返回的是转发帖子的 postUrl 和 postUrn,而不是被转发帖子的对应值。同一账号两次转发同一帖子会失败,并返回 alreadyReposted。
linkedin post repost https://www.linkedin.com/posts/username_activity-123 --json -q
# With commentary
linkedin post repost urn:li:activity:1234567890123456789 \
--text 'Worth reading, especially the part on onboarding.' --json -q
对帖子作出回应
linkedin post react <url> --type <reaction> [--company-url <url>] --json -q
回应类型:like、love、support、celebrate、insightful、funny。
linkedin post react https://www.linkedin.com/posts/username_activity-123 --type like --json -q
# React on behalf of a company
linkedin post react https://www.linkedin.com/posts/username_activity-123 --type celebrate \
--company-url https://www.linkedin.com/company/name --json -q
评论帖子
linkedin post comment <url> '<text>' [--company-url <url>] --json -q
文本最多 1000 个字符。
linkedin post comment https://www.linkedin.com/posts/username_activity-123 'Great insights!' --json -q
# Comment on behalf of a company
linkedin post comment https://www.linkedin.com/posts/username_activity-123 'Well said!' \
--company-url https://www.linkedin.com/company/name --json -q
统计数据
# Social Selling Index
linkedin stats ssi --json -q
# Performance analytics (profile views, post impressions, search appearances)
linkedin stats performance --json -q
# API usage for a date range
linkedin stats usage --start 2024-01-01T00:00:00Z --end 2024-01-31T00:00:00Z --json -q
# Who viewed your profile
linkedin stats viewers --limit 50 --json -q
# Only views since a moment
linkedin stats viewers --since 2026-08-01T00:00:00Z --json -q
每位访客要么是 identified,包含 name、publicUrl 和 urn(成员 URN;如果 LinkedIn 未公开,则为 null);要么是 anonymous,仅包含 LinkedIn 显示的 description,以及可传递给 linkedin person search --url 以查找此人的 searchUrl。访客按最新时间优先排列,viewedAt 是根据 LinkedIn 显示的相对时间估算得出。
Sales Navigator
需要订阅 LinkedIn Sales Navigator。查找人员或公司时使用哈希 URL。
获取人员信息
linkedin navigator person fetch <hashed-url> --json -q
搜索人员
linkedin navigator person search [flags] --json -q
| 标志 | 说明 |
|---|---|
--term | 搜索关键词或短语 |
--limit | 最大结果数 |
--first-name | 按名字筛选 |
--last-name | 按姓氏筛选 |
--position | 按职位筛选 |
--locations | 以逗号分隔的地点 |
--industries | 以逗号分隔的行业 |
--current-companies | 以逗号分隔的当前公司名称 |
--previous-companies | 以逗号分隔的曾任职公司名称 |
--schools | 以逗号分隔的学校名称 |
--years-of-experience | 以逗号分隔的范围:lessThanOne、oneToTwo、threeToFive、sixToTen、moreThanTen |
linkedin navigator person search --term "VP Marketing" --locations "United States" --json -q
linkedin navigator person search --years-of-experience "moreThanTen" --position "CEO" --json -q
获取公司信息
linkedin navigator company fetch <hashed-url> [flags] --json -q
可选标志:
--employees– 包含员工--dms– 包含决策者
员工筛选条件(需要 --employees):
| 标志 | 说明 |
|---|---|
--employees-limit | 要获取的员工数量上限 |
--employees-first-name | 按名字筛选 |
--employees-last-name | 按姓氏筛选 |
--employees-positions | 以逗号分隔的职位 |
--employees-locations | 以逗号分隔的地点 |
--employees-industries | 以逗号分隔的行业 |
--employees-schools | 以逗号分隔的学校名称 |
--employees-years-of-experience | 以逗号分隔的经验年限范围 |
--dms-limit | 要获取的决策者数量上限(需要 --dms) |
linkedin navigator company fetch https://www.linkedin.com/sales/company/97ural --employees --dms --json -q
linkedin navigator company fetch https://www.linkedin.com/sales/company/97ural \
--employees --employees-positions "Engineer,Designer" --employees-locations "Europe" --json -q
搜索公司
linkedin navigator company search [flags] --json -q
| 标志 | 说明 |
|---|---|
--term | 搜索关键词 |
--limit | 最大结果数 |
--sizes | 以逗号分隔的规模:1-10、11-50、51-200、201-500、501-1000、1001-5000、5001-10000、10001+ |
--locations | 以逗号分隔的地点 |
--industries | 以逗号分隔的行业 |
--revenue-min | 年收入下限,单位为百万美元:0、0.5、1、2.5、5、10、20、50、100、500、1000 |
--revenue-max | 年收入上限,单位为百万美元:0.5、1、2.5、5、10、20、50、100、500、1000、1000+ |
linkedin navigator company search --term "fintech" --sizes "11-50,51-200" --json -q
linkedin navigator company search --revenue-min 10 --revenue-max 100 --locations "United States" --json -q
发送 InMail
linkedin navigator message send <person-url> '<text>' --subject '<subject>' --json -q
文本最多 1900 个字符。主题最多 80 个字符。
linkedin navigator message send https://www.linkedin.com/in/username \
'Would love to chat about API integrations' --subject 'Partnership Opportunity' --json -q
获取 Sales Navigator 对话
linkedin navigator message get <person-url> [--since TIMESTAMP] --json -q
自定义工作流
从文件、标准输入或内联定义执行自定义工作流:
# From file
linkedin workflow run --file workflow.json --json -q
# From stdin
cat workflow.json | linkedin workflow run --json -q
# Inline
echo '{"actions":[...]}' | linkedin workflow run --json -q
检查工作流状态或等待其完成:
linkedin workflow status <id> --json -q
linkedin workflow status <id> --wait --json -q
有关工作流 JSON 架构,请参阅构建工作流。
账号管理
linkedin account list # List accounts (* = active)
linkedin account switch "Name" # Switch active account
linkedin account rename "Name" --name "New Name" # Rename account
linkedin reset # Remove active account
linkedin reset --all # Remove all accounts
重要行为
- 顺序执行。 同一账号的所有操作会逐一运行。多个请求会排队等待。
- 并非即时完成。 浏览器会实际访问 LinkedIn——每项操作预计需要 30 秒到几分钟。
- 时间戳采用 UTC。 所有日期和时间均采用 UTC。
- 文本参数使用单引号。 请在消息文本、帖子文本和评论两侧使用单引号,以避免特殊字符引发 shell 解析问题。
- 操作限制。 平台可配置每个账号的限制。
limitExceeded错误表示已达到限制。 - URL 规范化。 响应中的所有 LinkedIn URL 均会规范化为
https://www.linkedin.com/...格式,且末尾不带斜杠。 - 空值字段。 不可用的字段会返回为
null或[],而不会被省略。