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/v1/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

Search people (standard)

People search on LinkedIn's regular search, not Sales Navigator.

POSThttps://api.up2data.ai/v1/search/people/standard
1 credit per page (up to 25 results)synchronous

Pass structured filters; at least one is required. Filters combine with AND, and several values inside one filter match any of them. Company, past company, industry, geo, and school filters take LinkedIn IDs; company_urls and locations take URLs and place names and are resolved to IDs for you. Seniority is matched on job titles (for example vp matches VP, Vice President, and SVP). A single call returns at most 100 results (pagination.has_more is true when more exist). Empty pages are free.

Warning

An Up2Data extension, not part of the up2data-compatible surface. Results carry the headline, vanity URL, and member URN that regular search shows. function_ids, company_sizes, past_titles, the years_* filters, posted_on_linkedin, and recently_changed_jobs have no equivalent in regular LinkedIn search and answer 400 here; use Search people for those.

Info

Counts as 1 request against the 300/min per-key limit and 1 search against the 20/hour per-organization search quota. See Rate limits.

Info

Send many as batch operation items (operation search.people.standard); up to 2,500 results per item, 1 credit per 25-row page. See the batch endpoint.

#Request

FieldTypeNotes
filtersrequiredobjectAt least one filter.
filters.keywordsstringFree text matched anywhere on the profile.
filters.titlesstring[]Matched against current titles.
filters.senioritiesstring[]Enum per item: owner, partner, cxo, vp, director, manager, senior, entry. titles and seniorities together allow at most 6 values.
filters.company_idsFacetId[]Current company. Bare id string, or { id, text }.
filters.company_urlsstring[]Current company by page URL or slug. An unknown company answers 400.
filters.past_company_idsFacetId[]
filters.industry_idsFacetId[]
filters.location_idsFacetId[]LinkedIn geo ids.
filters.locationsstring[]Place names, e.g. United States or London. An unknown place answers 400.
filters.school_idsFacetId[]
filters.first_namestring
filters.last_namestring
max_resultsintegerDefault 25. 1 to 2,500; a sync call returns at most 100 results.

#Call it

cURL
curl -X POST "https://api.up2data.ai/v1/search/people/standard" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "filters": {
    "titles": [
      "CTO"
    ],
    "keywords": "kubernetes",
    "locations": [
      "United States"
    ]
  },
  "max_results": 25
}'

#Response

200
{
  "data": {
    "results": [{
      "url": "https://www.linkedin.com/in/thmeyer",
      "public_identifier": "thmeyer",
      "linkedin_id": "16113090",
      "urn": "ACoAAAD13cIBbJUHDIuBAw-cS8NSsTdXj2fAYtc",
      "full_name": "Thomas Meyer",
      "headline": "CTO / Software Architect at Inalp",
      "profile_picture_url": "https://media.licdn.com/dms/image/v2/D4E03AQExample/profile-displayphoto-shrink_100_100/0/thmeyer",
      "location": { "city": "Greater Bern Area" },
      "scraped_at": "2026-09-25T21:52:56.000Z"
    }],
    "pagination": { "returned": 25, "max_results": 25, "pages_scraped": 1, "has_more": true }
  },
  "meta": { "creditsUsed": 1, "creditsRemaining": 98418, "billed": true, "reason": "success", "requestId": "req_example", "latencyMs": 4100 }
}

#Errors

StatusTypeWhenBilled
400invalid_requestMissing or empty filters, unknown or unsupported filter, bad seniority value, more than 6 titles and seniorities combined, or a location or company that matches nothing.No
401invalid_api_keyMissing, malformed, or revoked key.No
402insufficient_creditsBalance can't cover the page(s) requested.No
429rate_limitedOver the 300 requests/min limit, or the 20 searches/hour per-organization quota. Honor Retry-After.No
500upstream_errorLinkedIn rejected the search query, or something broke on the server side.No
504upstream_timeoutThe live scrape didn't complete in time.No

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