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

Enqueue companies

Enqueue LinkedIn companies for enrichment in bulk.

POSThttps://api.up2data.ai/api/open-refresh/companies-bulk
1 creditasynchronous

Enqueue LinkedIn companies for enrichment in bulk. Provide many company URLs or LinkedIn slugs in a single request; results are delivered by webhook or read back with queues-list. See Company for the full shape.

Warning

Ensure you have sufficient credits before making requests - see the credit pill above.

Info

Your companies array is normalized and de-duplicated before anything is charged, so you pay for enqueued, not for what you sent. Two entries that resolve to the same company count as one, and entries that are empty or contain mojibake are dropped. skipped reports what was removed and why. If nothing survives filtering, you get a 400 and no queue is created.

#Request

FieldTypeNotes
namerequiredstringName for the enrichment job.
companiesrequiredstring[]LinkedIn company URLs or bare slugs.
priorityrequirednumber1 = High, 2 = Normal, 3 = Low.
webhookTagsstring[]Optional, defaults to every webhook on the team. Send [] to switch callbacks off - see the Webhooks guide.

#Call it

cURL
curl -X POST "https://api.up2data.ai/api/open-refresh/companies-bulk" \
  -H "Authorization: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Company Enrichment Batch",
  "companies": [
    "https://www.linkedin.com/company/acme-corp",
    "https://www.linkedin.com/company/globex",
    "acme-corp"
  ],
  "priority": 2
}'

#Response

200 - Success
{
  "message": "3 items have been enqueued.",
  "queueId": "507f1f77bcf86cd799439011",
  "enqueued": 3,
  "skipped": {
    "invalid": 0,
    "duplicates": 0
  },
  "webhooks": [
    {
      "_id": "6512c1a4f1b2c3d4e5f60789",
      "name": "Production",
      "url": "https://api.example.com/hooks/up2data"
    }
  ]
}
400 - Error
{
  "message": "No valid companies to enqueue: of 4 submitted, 1 were invalid and 3 were duplicates."
}

#Webhook payload

Callback item
{
  "queueId": "507f1f77bcf86cd799439011",
  "name": "Company Enrichment Batch",
  "url": "https://www.linkedin.com/company/acme-corp",
  "type": "Company",
  "status": 200,
  "_id": "8f14e45fceea167a5a36dedd4bea2549",
  "result": { ... }
}

#Errors

StatusTypeWhen
400No valid companies to enqueueEvery entry in companies was invalid or a duplicate after normalization, so no queue was created.
400No webhook matches webhookTagsOne or more webhookTags do not match any webhook on the team.

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