Install the Up2Data skill

Teach Claude Code to integrate the Up2Data API. Installs once, then loads automatically whenever you ask it about Up2Data.

  1. Run this in your terminal
    bash
    mkdir -p ~/.claude/skills/up2data-api && curl -fsSL https://up2data.ai/docs/legacy/skill.md -o ~/.claude/skills/up2data-api/SKILL.md
  2. Restart Claude CodeSo it picks up the new skill.
  3. Try it"Enrich these LinkedIn profiles with Up2Data and send results to my webhook"

Requires Claude Code. macOS, Linux, or WSL.

Prefer to read it first? View the skill file

Enrich a profile (sync)

Enrich a single LinkedIn profile right now and return the result directly.

POSThttps://api.up2data.ai/api/open-refresh/profile
1 credit2 with withFollowersAndConnectionssynchronous

Enrich a single LinkedIn profile right now and get the result back in the same request. There is no queue, no status to poll and no webhook involved - the result is delivered in the response only.

For volume, send many profiles to profiles-bulk instead.

Warning

Both sync endpoints share a limit of 10 requests per 10 seconds per team. Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (seconds until the window clears) headers, and a 429 also carries Retry-After.

Warning

Enabling withFollowersAndConnections adds 1 credit to the rate (see the credit pill above) and may take longer to complete. Every rate is charged whether the profile is found (200) or not (404).

Info

skills holds at most the first 20 skills a profile lists.

Info

The response is a Profile document, with no wrapper and no _id. See Profile for the full shape.

Info

To enrich many profiles, enqueue them in one request instead of calling this endpoint one at a time - see the credit pill on Profiles bulk. See the batch endpoint.

#Request

FieldTypeNotes
profilerequiredstringLinkedIn profile URL, linkedin.com/in/<slug>, or bare slug.
withFollowersAndConnectionsbooleanOptional, defaults to false. Also collects connectionsCount and followersCount, for 1 additional credit.

#Call it

cURL
curl -X POST "https://api.up2data.ai/api/open-refresh/profile" \
  -H "Authorization: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "profile": "https://www.linkedin.com/in/johndoe",
  "withFollowersAndConnections": false
}'

#Response

200 - Success
{
  "url": "johndoe",
  "firstName": "John",
  "lastName": "Doe",
  "headline": "VP of Engineering at Acme Corp",
  "location": "San Francisco, California, United States",
  "experience": [
    {
      "companyName": "Acme Corp",
      "title": "VP of Engineering",
      "companyUrl": "acme-corp",
      "start": { "year": 2021, "month": 3 },
      "end": null
    }
  ]
}
404 - Error
{
  "message": "Profile not found on LinkedIn"
}

#Errors

StatusTypeWhen
404Profile not found on LinkedInNo profile was found on LinkedIn for the given URL or slug.
400Invalid inputThe input is not a LinkedIn profile URL (linkedin.com/in/) or a bare slug, or the team's daily or monthly spending cap has been reached.
403Insufficient creditsNot enough credits on the team.
429Rate limitedMore than 10 requests in 10 seconds for the team. The response carries Retry-After.
503Worker unavailableNo worker became available within 10 seconds, or the crawl could not be completed. Retry later.

See the Errors guide for every error type this version can return.