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

PostByUrl

A single LinkedIn post scraped from its own permalink by posts-by-url, keyed by the post's own URN. There is no profile field - the author arrives embedded in post.author.

#Fields

FieldTypeNotes
_idstring
urnstringurn:li:activity:<id>, urn:li:share:<id> or urn:li:ugcPost:<id>.
shareUrnstringNullable.
postUrlstringThe canonical URL LinkedIn reports for the post.
requestedUrlstringThe URL you sent, with any query string and trailing slash stripped. In the webhook callback this is carried as url instead, and the callback omits _id, createdAt and updatedAt.
postobjectThe same shape as an entry in the posts array of the Activity schema, including media, article, mentions, isRepost and repostedPost.
scrapedAtstringISO 8601.
createdAtstringISO 8601.
updatedAtstringISO 8601.

#Sample

json
{
  "_id": "string",
  "urn": "string (urn:li:activity:<id>, urn:li:share:<id> or urn:li:ugcPost:<id>)",
  "shareUrn": "string (nullable)",
  "postUrl": "string (the canonical url LinkedIn reports for the post)",
  "requestedUrl": "string (the url you sent, with any query string and trailing slash stripped)",
  "post": "Activity post (the same shape as an entry in the Activity posts array above)",
  "scrapedAt": "string (ISO 8601)",
  "createdAt": "string (ISO 8601)",
  "updatedAt": "string (ISO 8601)"
}