mcpField
L
linkedin

linkedin

github.com/linked-api营销与增长10768 次安装2 周前更新
代码仓库

关于 linkedin

linkedin 是通过 Linked API 的云端浏览器执行 LinkedIn 操作的命令行技能,面向需要管理社交资料、联系和内容的用户。它支持资料与公司搜索、消息、连接管理、帖子互动及统计,并以 JSON 输出结果。

主要功能

  1. 01获取个人与公司资料
  2. 02搜索人员和公司
  3. 03发送消息并管理连接
  4. 04创建、转发和互动帖子
  5. 05查询社交与使用统计

适用场景

  1. 01筛选特定职位或地区的人员
  2. 02查找符合规模和行业条件的公司
  3. 03管理联系请求并发送消息
  4. 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 失败(身份验证错误),请让用户设置其账户:

  1. 前往 app.linkedapi.io 并注册或登录
  2. 连接其 LinkedIn 账户
  3. 从控制面板复制 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需要订阅/套餐
4LinkedIn 账户问题
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 或 [],而不会被省略。

评论

支持 Markdown