Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

LinkdAPI

v1.0.0

Complete LinkdAPI integration OpenClaw skill. Includes all 50+ endpoints, Python/Node.js/Go SDKs, authentication, rate limits, and real-world examples. Use t...

0· 341· 1 versions· 0 current· 0 all-time· Updated 4h ago· MIT-0
byLinkdAPI@ethcipher

Install

openclaw skills install linkdapi-official

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 headerX-linkdapi-apikey
Base URLhttps://linkdapi.com
Env varLINKDAPI_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

TermMeaningHow to Get
usernameLinkedIn vanity slug (linkedin.com/in/USERNAME)From the URL
urnInternal LinkedIn ID (ACoAAAA...)From profile/overview response
id (company)Numeric LinkedIn company IDFrom companies/company/info or companies/name-lookup
jobIdNumeric LinkedIn job IDFrom job search results
geoUrnLocation filter IDFrom geos/name-lookup
cursorPagination tokenFrom previous response

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


Endpoint Quick Reference

Profile — /api/v1/profile/

EndpointParamsUse
overviewusernameBasic info + URN ← start here
detailsurnPositions, education, languages
contact-infousernameEmail, phone, websites
abouturnAbout section
fullusername or urnEverything in 1 request
full-experienceurnComplete work history
certificationsurnCertifications
educationurnEducation history
skillsurnSkills + endorsements
social-matrixusernameFollowers + connections
recommendationsurnGiven + received
similarurnSimilar profiles
reactionsurn, cursorProfile reactions
interestsurnInterests
servicesurnServices offered
username-to-urnusernameUsername → URN

Companies — /api/v1/companies/

EndpointParamsUse
name-lookupquerySearch by name
company/infoid or nameCompany details
company/info-v2idExtended info
company/similaridSimilar companies
company/employees-dataidHeadcount + distribution
company/affiliated-pagesidSubsidiaries
company/postsid, startCompany posts
company/universal-name-to-iduniversalNameUniversal name → ID
jobscompanyIDs, startJob listings

Jobs — /api/v1/jobs/

EndpointParamsUse
searchkeyword, location, timePosted, workArrangement, geoId, companyIds, jobTypes, experience, salary, startV1 job search
job/detailsjobIdJob info (open only)
job/details-v2jobIdJob info (all statuses)
job/similarjobIdSimilar jobs
job/people-also-viewedjobIdRelated jobs
job/hiring-teamjobId, startHiring team
posted-by-profileprofileUrn, start, countJobs by a person

Search — /api/v1/search/

EndpointKey ParamsUse
peoplekeyword, title, currentCompany, geoUrn, industry, firstName, lastName, start, countFind professionals
companieskeyword, geoUrn, companySize, hasJobs, industry, start, countFind companies
postskeyword, sortBy, datePosted, authorJobTitle, fromOrganization, contentType, startFind posts
jobskeyword, workplaceTypes, datePosted, easyApply, companies, locations, experience, salary, under10Applicants, start, countV2 job search
serviceskeyword, geoUrn, serviceCategory, profileLanguage, start, countService providers
schoolskeyword, start, countSchools

Posts — /api/v1/posts/

EndpointParamsUse
featuredurnFeatured posts
allurn, cursor, startAll posts paginated
infournSingle post
commentsurn, start, count, cursorComments
likesurn, startLikes

Comments — /api/v1/comments/

EndpointParamsUse
allurn, cursorAll comments
likesurn, startComment likes

Articles — /api/v1/articles/

EndpointParamsUse
allurn, startAll articles
article/infourlArticle details
article/reactionsurn, startReactions

Lookups

PathParamsUse
/api/v1/geos/name-lookupquery→ geoUrn for location filters
/api/v1/g/title-skills-lookupquery→ skill/title IDs
/api/v1/g/services-lookupquery→ service category IDs

Services — /api/v1/services/

EndpointParamsUse
service/detailsvanitynameService page
service/similarvanitynameSimilar services

System

PathUse
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

GoalEndpoints
Lead enrichmentprofile/overviewprofile/full-experience + profile/skills + profile/contact-info
ICP targetinggeos/name-lookupsearch/people with title + currentCompany + geoUrn
Competitor intelcompanies/company/posts or search/posts?fromOrganization=ID
Hiring signalscompanies/jobs?companyIDs=ID reveals growth areas
Content inspirationposts/all on top voices + posts/info for engagement stats
Warm outreach prepprofile/recommendations + posts/all before messaging
Job trigger eventsjobs/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).

Version tags

latestvk97bnh2n2qb793bjcwjnwme1jd82p8z9