← Back to Skills Marketplace
ethcipher

LinkdAPI

by LinkdAPI · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
335
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install linkdapi-official
Description
Complete LinkdAPI integration OpenClaw skill. Includes all 50+ endpoints, Python/Node.js/Go SDKs, authentication, rate limits, and real-world examples. Use t...
README (SKILL.md)

LinkdAPI Skill — LinkedIn Data API

Use this skill to access LinkedIn professional data via the LinkdAPI REST API.

Full endpoint reference with params, enums, and response schemas → references/api-ref.md Structured endpoint manifest (JSON) → references/skills.json


⚠️ Authentication — READ FIRST

Value
Auth header X-linkdapi-apikey
Base URL https://linkdapi.com
Env var LINKDAPI_KEY
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/overview?username=ryanroslansky" | jq .

NEVER use x-api-key or Authorization: Bearer — they will return 401. The only correct header is X-linkdapi-apikey.


Core Concepts

Term Meaning How to Get
username LinkedIn vanity slug (linkedin.com/in/USERNAME) From the URL
urn Internal LinkedIn ID (ACoAAAA...) From profile/overview response
id (company) Numeric LinkedIn company ID From companies/company/info or companies/name-lookup
jobId Numeric LinkedIn job ID From job search results
geoUrn Location filter ID From geos/name-lookup
cursor Pagination token From previous response

Always get URN first when working with profile endpoints that require it.


Endpoint Quick Reference

Profile — /api/v1/profile/

Endpoint Params Use
overview username Basic info + URN ← start here
details urn Positions, education, languages
contact-info username Email, phone, websites
about urn About section
full username or urn Everything in 1 request
full-experience urn Complete work history
certifications urn Certifications
education urn Education history
skills urn Skills + endorsements
social-matrix username Followers + connections
recommendations urn Given + received
similar urn Similar profiles
reactions urn, cursor Profile reactions
interests urn Interests
services urn Services offered
username-to-urn username Username → URN

Companies — /api/v1/companies/

Endpoint Params Use
name-lookup query Search by name
company/info id or name Company details
company/info-v2 id Extended info
company/similar id Similar companies
company/employees-data id Headcount + distribution
company/affiliated-pages id Subsidiaries
company/posts id, start Company posts
company/universal-name-to-id universalName Universal name → ID
jobs companyIDs, start Job listings

Jobs — /api/v1/jobs/

Endpoint Params Use
search keyword, location, timePosted, workArrangement, geoId, companyIds, jobTypes, experience, salary, start V1 job search
job/details jobId Job info (open only)
job/details-v2 jobId Job info (all statuses)
job/similar jobId Similar jobs
job/people-also-viewed jobId Related jobs
job/hiring-team jobId, start Hiring team
posted-by-profile profileUrn, start, count Jobs by a person

Search — /api/v1/search/

Endpoint Key Params Use
people keyword, title, currentCompany, geoUrn, industry, firstName, lastName, start, count Find professionals
companies keyword, geoUrn, companySize, hasJobs, industry, start, count Find companies
posts keyword, sortBy, datePosted, authorJobTitle, fromOrganization, contentType, start Find posts
jobs keyword, workplaceTypes, datePosted, easyApply, companies, locations, experience, salary, under10Applicants, start, count V2 job search
services keyword, geoUrn, serviceCategory, profileLanguage, start, count Service providers
schools keyword, start, count Schools

Posts — /api/v1/posts/

Endpoint Params Use
featured urn Featured posts
all urn, cursor, start All posts paginated
info urn Single post
comments urn, start, count, cursor Comments
likes urn, start Likes

Comments — /api/v1/comments/

Endpoint Params Use
all urn, cursor All comments
likes urn, start Comment likes

Articles — /api/v1/articles/

Endpoint Params Use
all urn, start All articles
article/info url Article details
article/reactions urn, start Reactions

Lookups

Path Params Use
/api/v1/geos/name-lookup query → geoUrn for location filters
/api/v1/g/title-skills-lookup query → skill/title IDs
/api/v1/g/services-lookup query → service category IDs

Services — /api/v1/services/

Endpoint Params Use
service/details vanityname Service page
service/similar vanityname Similar services

System

Path Use
status/ Health check (no auth)

Common Workflows

Lead Enrichment (Profile Research)

# Step 1: Get URN
PROFILE=$(curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/overview?username=TARGET_USERNAME")
URN=$(echo $PROFILE | jq -r '.data.urn')
echo "$(echo $PROFILE | jq -r '.data.fullName') → $URN"

# Step 2: Enrich in parallel
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/full-experience?urn=$URN" | jq '.data.experience[0]' &
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/skills?urn=$URN" | jq '.data.skills[:5]' &
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/contact-info?username=TARGET_USERNAME" | jq '.data' &
wait

# Or use full endpoint (one request, more credits)
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/full?username=TARGET_USERNAME" | jq .data

Company Research

CO_ID=$(curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/companies/company/info?name=google" | jq -r '.data.id')

curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/companies/company/employees-data?id=$CO_ID" | jq .data &
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/companies/company/similar?id=$CO_ID" | jq .data &
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/companies/jobs?companyIDs=$CO_ID&start=0" | jq .data &
wait

ICP People Search

GEO_URN=$(curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/geos/name-lookup?query=San+Francisco" | jq -r '.data[0].urn')

curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/search/people?keyword=VP+Sales&title=VP+Sales&geoUrn=$GEO_URN&start=0" \
  | jq '.data.items'

Job Market Intel

# V2 (richest filters)
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/search/jobs?keyword=Software+Engineer&workplaceTypes=remote&datePosted=1week&easyApply=true" \
  | jq .data

# V1 (classic, location string)
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/jobs/search?keyword=Marketing+Manager&location=London&timePosted=1week&workArrangement=hybrid" \
  | jq .data

Content Research

# Posts by a profile
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/posts/all?urn=$URN&start=0" | jq .data

# Search posts by keyword
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/search/posts?keyword=AI+marketing&sortBy=date_posted&datePosted=past-week" \
  | jq .data

# Articles
curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/articles/all?urn=$URN&start=0" | jq .data

Error Handling

All responses: { "success": bool, "statusCode": int, "message": string, "errors": null|string, "data": ... }

RESULT=$(curl -s -H "X-linkdapi-apikey: $LINKDAPI_KEY" \
  "https://linkdapi.com/api/v1/profile/overview?username=someuser")

if echo $RESULT | jq -e '.success == true' > /dev/null 2>&1; then
  echo "OK: $(echo $RESULT | jq -r '.data.fullName')"
else
  CODE=$(echo $RESULT | jq -r '.statusCode')
  MSG=$(echo $RESULT | jq -r '.message')
  echo "Error $CODE: $MSG"
  # 401=invalid key | 404=not found | 429=rate limited (retry with backoff) | 500=server error
  [ "$CODE" = "429" ] && sleep 5 && echo "Retry after backoff"
fi

B2B Marketing Playbook

Goal Endpoints
Lead enrichment profile/overviewprofile/full-experience + profile/skills + profile/contact-info
ICP targeting geos/name-lookupsearch/people with title + currentCompany + geoUrn
Competitor intel companies/company/posts or search/posts?fromOrganization=ID
Hiring signals companies/jobs?companyIDs=ID reveals growth areas
Content inspiration posts/all on top voices + posts/info for engagement stats
Warm outreach prep profile/recommendations + posts/all before messaging
Job trigger events jobs/posted-by-profile to find who is hiring actively

Reference Files

  • references/api-ref.md — Full parameter schemas, all enums, and response field descriptions for every endpoint. Read this when you need exact param names or response field shapes.
  • references/skills.json — Machine-readable manifest of all endpoints (for dynamic tooling or integrations).
Usage Guidance
This package is inconsistent: its docs require an API key (LINKDAPI_KEY) and claim included SDKs, but the distributed bundle provides only documentation (no SDKs) and the registry metadata doesn't list the API key or a homepage. Before installing: 1) Verify the publisher and the linkdapi.com service independently (do not trust only these files). 2) Do not paste your LINKDAPI_KEY (or any secret) into the agent until you confirm the skill's source and that the registry metadata has been corrected to declare the env var/primary credential. 3) Ask the publisher to either include the SDK code or remove the SDK claim, and update the registry to declare LINKDAPI_KEY as required/primary credential. 4) Consider privacy/ToS risk: LinkdAPI appears to scrape LinkedIn data (emails/phones may be returned) — ensure you are allowed to use such data. If you can't verify the publisher or the missing metadata is not fixed, avoid installing or supplying credentials.
Capability Analysis
Type: OpenClaw Skill Name: linkdapi-official Version: 1.0.0 The skill bundle is a legitimate integration for the LinkdAPI service, providing an interface for an AI agent to perform LinkedIn profile enrichment, company research, and job searches. It contains comprehensive documentation in SKILL.md and api-ref.md, along with a structured manifest in skills.json. The instructions are well-aligned with the stated purpose of professional data retrieval, and all network requests are directed to the service's official domain (linkdapi.com). No evidence of malicious behavior, such as data exfiltration or unauthorized command execution, was found.
Capability Assessment
Purpose & Capability
The skill's name/description promise 'Python/Node.js/Go SDKs, authentication' yet the package contains no code files or SDKs (instruction-only). The SKILL.md documents an API key (LINKDAPI_KEY) and a third-party base URL (https://linkdapi.com), but the registry metadata lists no required env vars or primary credential and there is no homepage/source URL — these are incoherent.
Instruction Scope
SKILL.md contains detailed, scoped instructions for calling LinkdAPI endpoints and an explicit example using LINKDAPI_KEY; it does not ask the agent to read unrelated local files or exfiltrate data to unknown endpoints. However it instructs the agent to 'Always use this skill for ANY LinkedIn data task', which is a broad directive that may cause the agent to overuse the skill autonomously.
Install Mechanism
There is no install spec and no code is written to disk (instruction-only), which minimizes install-time risk. The references are local docs only.
Credentials
The SKILL.md clearly requires an API key via LINKDAPI_KEY and specifies the auth header X-linkdapi-apikey, but the registry metadata did not declare any required env vars or a primary credential. That mismatch is a red flag (the skill expects a secret but doesn't declare it), and the owner/source/homepage are missing which makes it harder to validate the credential recipient.
Persistence & Privilege
The skill does not request 'always: true' and uses default agent-invocation behavior. It does not attempt to modify other skills or system-wide config in the provided content.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install linkdapi-official
  3. After installation, invoke the skill by name or use /linkdapi-official
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of complete LinkdAPI OpenClaw integration. - Full support for 50+ LinkedIn data endpoints: profiles, people searches, companies, posts, jobs, articles, comments, services, and more - Includes Python, Node.js, and Go SDK references - Detailed authentication notes—requires only X-linkdapi-apikey header (not x-api-key or Bearer) - Handy quick reference for all endpoints, common parameters, and core LinkedIn data concepts - Example workflows included for lead enrichment, company research, ICP search, and market intelligence - Designed to handle any LinkedIn data lookup or API workflow
Metadata
Slug linkdapi-official
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is LinkdAPI?

Complete LinkdAPI integration OpenClaw skill. Includes all 50+ endpoints, Python/Node.js/Go SDKs, authentication, rate limits, and real-world examples. Use t... It is an AI Agent Skill for Claude Code / OpenClaw, with 335 downloads so far.

How do I install LinkdAPI?

Run "/install linkdapi-official" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is LinkdAPI free?

Yes, LinkdAPI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does LinkdAPI support?

LinkdAPI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created LinkdAPI?

It is built and maintained by LinkdAPI (@ethcipher); the current version is v1.0.0.

💬 Comments