# Send Linkedin API to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "linkdapi",
    "name": "Linkedin API",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/foontinz/linkdapi",
    "canonicalUrl": "https://clawhub.ai/foontinz/linkdapi",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/linkdapi",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linkdapi",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "linkdapi",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-05T00:38:38.616Z",
      "expiresAt": "2026-05-12T00:38:38.616Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linkdapi",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linkdapi",
        "contentDisposition": "attachment; filename=\"linkdapi-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "linkdapi"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/linkdapi"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/linkdapi",
    "downloadUrl": "https://openagent3.xyz/downloads/linkdapi",
    "agentUrl": "https://openagent3.xyz/skills/linkdapi/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linkdapi/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linkdapi/agent.md"
  }
}
```
## Documentation

### 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

### 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:

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

### Example Workflow

User: "Get the profile for jeffweiner08"

Agent:

cat > /tmp/linkdapi_query.py << '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"))

### 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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: foontinz
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-05T00:38:38.616Z
- Expires at: 2026-05-12T00:38:38.616Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/linkdapi)
- [Send to Agent page](https://openagent3.xyz/skills/linkdapi/agent)
- [JSON manifest](https://openagent3.xyz/skills/linkdapi/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/linkdapi/agent.md)
- [Download page](https://openagent3.xyz/downloads/linkdapi)