/install linkdapi
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:
- 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 \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 infoget_profile_details(urn)— Detailed profile dataget_contact_info(username)— Email, phone, websitesget_full_profile(username=None, urn=None)— Complete profileget_full_experience(urn)— Work historyget_education(urn)— Education historyget_skills(urn)— Skills & endorsements
Companies
get_company_info(company_id=None, name=None)— Company detailscompany_name_lookup(query)— Search by nameget_company_employees_data(company_id)— Employee statsget_company_jobs(company_ids)— Job listings
Jobs
search_jobs(keyword, location, ...)— Search job postingsget_job_details(job_id)— Detailed job info
Search
search_people(keyword, title, company, ...)— Find peoplesearch_companies(keyword, industry, ...)— Find companiessearch_posts(keyword, ...)— Find posts
Performance Tips
- Use
AsyncLinkdAPIfor batch operations (40x faster) - Add
return_exceptions=Trueinasyncio.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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install linkdapi - After installation, invoke the skill by name or use
/linkdapi - Provide required inputs per the skill's parameter spec and get structured output
What is 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. It is an AI Agent Skill for Claude Code / OpenClaw, with 2057 downloads so far.
How do I install Linkedin API?
Run "/install linkdapi" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Linkedin API free?
Yes, Linkedin API is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Linkedin API support?
Linkedin API is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Linkedin API?
It is built and maintained by foontinz (@foontinz); the current version is v1.0.0.