Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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.
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.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
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
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.
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
Always start with the uv script block: # /// script # dependencies = [ # "linkdapi", # # Add more if needed (e.g., "rich", "pandas") # ] # ///
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())
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)
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
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.
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"))
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
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
search_jobs(keyword, location, ...) โ Search job postings get_job_details(job_id) โ Detailed job info
search_people(keyword, title, company, ...) โ Find people search_companies(keyword, industry, ...) โ Find companies search_posts(keyword, ...) โ Find posts
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
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')}")
Full API documentation: https://linkdapi.com/docs
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.