← 返回 Skills 市场
foontinz

Linkedin API

作者 foontinz · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
2057
总下载
4
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install linkdapi
功能描述
Work with LinkdAPI Python SDK for accessing LinkedIn professional profile and company data. Use when you need to fetch profile information, company data, job listings, or search for people/jobs on LinkedIn. The skill uses uv script pattern for ephemeral Python scripts with inline dependencies.
使用说明 (SKILL.md)

LinkdAPI Python SDK

Python SDK for LinkdAPI — professional profile and company data from LinkedIn with enterprise-grade reliability.

Get your API key: https://linkdapi.com/signup?ref=K_CZJSWF

Quick Start Pattern

Use the uv script pattern for ephemeral Python scripts with inline dependencies:

# /// script
# dependencies = [
#     "linkdapi",
# ]
# ///

from linkdapi import LinkdAPI

client = LinkdAPI("YOUR_API_KEY")
profile = client.get_profile_overview("ryanroslansky")
print(profile)

Run with:

uv run script.py

This installs dependencies automatically, runs the script, and cleans up — perfect for one-off tasks.

Why This Pattern

  • No global installs: Dependencies are managed per-script
  • Ephemeral by design: Write, run, delete — no cleanup needed
  • Reproducible: Everything needed is in one file
  • Fast: uv handles dependency resolution and caching

Writing Scripts

Script Header Format

Always start with the uv script block:

# /// script
# dependencies = [
#     "linkdapi",
#     # Add more if needed (e.g., "rich", "pandas")
# ]
# ///

Common Tasks

Get profile overview:

# /// script
# dependencies = ["linkdapi"]
# ///

from linkdapi import LinkdAPI

client = LinkdAPI("YOUR_API_KEY")
profile = client.get_profile_overview("ryanroslansky")

if profile.get('success'):
    data = profile['data']
    print(f"{data['fullName']} - {data.get('headline', '')}")
    print(f"Location: {data.get('location')}")

Get company info:

# /// script
# dependencies = ["linkdapi"]
# ///

from linkdapi import LinkdAPI

client = LinkdAPI("YOUR_API_KEY")
company = client.get_company_info(name="google")

if company.get('success'):
    data = company['data']
    print(f"{data['name']}")
    print(f"Industry: {data.get('industry')}")
    print(f"Employees: {data.get('employeeCount', 'N/A')}")

Search jobs:

# /// script
# dependencies = ["linkdapi"]
# ///

from linkdapi import LinkdAPI

client = LinkdAPI("YOUR_API_KEY")
result = client.search_jobs(
    keyword="Software Engineer",
    location="San Francisco, CA",
    time_posted="1week"
)

if result.get('success'):
    for job in result['data']['jobs'][:5]:
        print(f"{job['title']} at {job['company']}")

Batch profile enrichment (async):

# /// script
# dependencies = ["linkdapi"]
# ///

import asyncio
from linkdapi import AsyncLinkdAPI

async def enrich():
    async with AsyncLinkdAPI("YOUR_API_KEY") as api:
        profiles = await asyncio.gather(
            api.get_profile_overview("ryanroslansky"),
            api.get_profile_overview("satyanadella"),
            api.get_profile_overview("jeffweiner08")
        )
        for p in profiles:
            if p.get('success'):
                print(p['data']['fullName'])

asyncio.run(enrich())

Agent Workflow

When a user requests LinkedIn data:

  1. Identify the task (profile lookup, company data, job search, etc.)
  2. Write a temporary script in workspace with the uv script header
  3. Add dependencies (usually just "linkdapi", add others if needed)
  4. Import and use LinkdAPI classes
  5. Run with uv run
  6. Capture output and report to user
  7. Delete the script after use (optional)

Example Workflow

User: "Get the profile for jeffweiner08"

Agent:

cat > /tmp/linkdapi_query.py \x3C\x3C 'EOF'
# /// script
# dependencies = ["linkdapi"]
# ///

from linkdapi import LinkdAPI
import os

client = LinkdAPI(os.getenv("LINKDAPI_API_KEY"))
profile = client.get_profile_overview("jeffweiner08")

if profile.get('success'):
    data = profile['data']
    print(f"Name: {data['fullname']}")
    print(f"Headline: {data.get('headline', 'N/A')}")
    print(f"Location: {data.get('location', 'N/A')}")
    print(f"Company: {data.get('company', 'N/A')}")
else:
    print(f"Error: {profile.get('message')}")
EOF

uv run /tmp/linkdapi_query.py
rm /tmp/linkdapi_query.py

Getting an API Key

To use LinkdAPI, you'll need an API key. Sign up at:

🔗 https://linkdapi.com/signup?ref=K_CZJSWF

Once registered, you'll get an API key that you can use to authenticate your requests.

Authentication

Set the API key as an environment variable:

export LINKDAPI_API_KEY="your_api_key_here"

Use it in scripts:

import os
from linkdapi import LinkdAPI

client = LinkdAPI(os.getenv("LINKDAPI_API_KEY"))

Key API Methods

Profiles

  • get_profile_overview(username) — Basic profile info
  • get_profile_details(urn) — Detailed profile data
  • get_contact_info(username) — Email, phone, websites
  • get_full_profile(username=None, urn=None) — Complete profile
  • get_full_experience(urn) — Work history
  • get_education(urn) — Education history
  • get_skills(urn) — Skills & endorsements

Companies

  • get_company_info(company_id=None, name=None) — Company details
  • company_name_lookup(query) — Search by name
  • get_company_employees_data(company_id) — Employee stats
  • get_company_jobs(company_ids) — Job listings

Jobs

  • search_jobs(keyword, location, ...) — Search job postings
  • get_job_details(job_id) — Detailed job info

Search

  • search_people(keyword, title, company, ...) — Find people
  • search_companies(keyword, industry, ...) — Find companies
  • search_posts(keyword, ...) — Find posts

Performance Tips

  • Use AsyncLinkdAPI for batch operations (40x faster)
  • Add return_exceptions=True in asyncio.gather() for graceful error handling
  • Use context managers (async with) for proper resource cleanup

Error Handling

Check responses and handle errors:

result = client.get_profile_overview("username")

if result.get('success'):
    data = result['data']
    # Process data
else:
    print(f"API Error: {result.get('message')}")

References

Full API documentation: https://linkdapi.com/docs

安全使用建议
Before installing or enabling this skill: 1) Verify the vendor and package: the registry metadata lists no homepage/source — visit and vet linkdapi.com and the 'linkdapi' PyPI package (review code, maintainers, and popularity). 2) Expect to provide an API key: SKILL.md uses LINKDAPI_API_KEY, but the skill metadata didn't declare it — do not enter high-privilege keys until you confirm what permissions the key grants. 3) Ensure the 'uv' runtime/CLI will be available in your agent environment or adapt the workflow; the metadata doesn't declare this dependency. 4) Be aware that the skill fetches potentially sensitive contact info (emails/phones); confirm legal/privacy compliance before querying third parties. 5) If you can't verify the package or service origin, run initial tests in a confined environment or sandbox and request the skill owner's source code / repository before broader use.
功能分析
Type: OpenClaw Skill Name: linkdapi Version: 1.0.0 The skill is designed to interact with the LinkdAPI service for LinkedIn data. All instructions for the AI agent in SKILL.md, including the example workflow, are clearly aligned with this stated purpose. The skill correctly uses `os.getenv("LINKDAPI_API_KEY")` for API key management and instructs the agent to create, run, and delete ephemeral Python scripts using `uv run`. There is no evidence of prompt injection attempts to mislead the agent, exfiltrate data, establish persistence, or execute arbitrary malicious code. The external URLs (`https://linkdapi.com/signup?ref=K_CZJSWF`, `https://linkdapi.com/docs`) are directly related to the LinkdAPI service.
能力评估
Purpose & Capability
The SKILL.md describes a LinkdAPI Python SDK for LinkedIn data (profiles, companies, jobs) which is coherent with the skill name and description. However the registry metadata lists no homepage/source and no required env vars, despite the instructions clearly requiring an API key and using an external service (linkdapi.com). The missing source/homepage reduces verifiability.
Instruction Scope
Runtime instructions tell the agent to create ephemeral Python scripts, install/execute the 'linkdapi' package via the 'uv run' pattern, read an environment variable (LINKDAPI_API_KEY), and print or return profile/contact data. These steps are within the stated purpose, but the SKILL.md instructs using the 'uv' tool and reading LINKDAPI_API_KEY while the metadata does not declare either — an inconsistency that could cause unexpected behavior or hidden requirements. The script examples access potentially sensitive contact info (emails/phones), which is expected for an enrichment API but should be considered sensitive.
Install Mechanism
There is no install spec (instruction-only), so dependencies will be fetched at runtime when the agent runs 'uv run'. That means the agent must download the 'linkdapi' package (and any transient dependencies) from remote package registries during execution. Not inherently malicious, but it requires network access and execution of third-party package code — the skill metadata provides no link to verify the package origin or review its source.
Credentials
The metadata declares no required environment variables, but the SKILL.md instructs users/agents to set and read LINKDAPI_API_KEY (and examples show passing an API key directly). This mismatch is a material omission: the skill will need an API key to function but does not declare it. Requesting a single service API key is proportionate to the described functionality, but the missing declaration and lack of detail about key scopes/permissions is a configurational risk. The skill also references collecting contact info (emails/phones), which is sensitive data — users should ensure they are allowed to fetch and store such data.
Persistence & Privilege
The skill does not request persistent or elevated privileges: always is false, no install spec that writes to system locations, and it is user-invocable. Autonomous invocation is allowed (default) but not combined with any excessive credential or persistence requests here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install linkdapi
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /linkdapi 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of the linkdapi skill. - Provides Python SDK access to LinkedIn profile and company data via LinkdAPI. - Supports fetching of profile information, company data, job listings, and LinkedIn searches. - Uses the uv script pattern: ephemeral Python scripting with inline dependency management. - Includes examples for common tasks (profile lookup, company info, job search, async batch enrichment). - Details authentication, API methods, error handling, and workflow best practices.
元数据
Slug linkdapi
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Linkedin API 是什么?

Work with LinkdAPI Python SDK for accessing LinkedIn professional profile and company data. Use when you need to fetch profile information, company data, job listings, or search for people/jobs on LinkedIn. The skill uses uv script pattern for ephemeral Python scripts with inline dependencies. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2057 次。

如何安装 Linkedin API?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install linkdapi」即可一键安装,无需额外配置。

Linkedin API 是免费的吗?

是的,Linkedin API 完全免费(开源免费),可自由下载、安装和使用。

Linkedin API 支持哪些平台?

Linkedin API 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Linkedin API?

由 foontinz(@foontinz)开发并维护,当前版本 v1.0.0。

💬 留言讨论