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://docs.up2data.ai/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

List signals

Your organization's signals, newest first, for free.

GEThttps://api.up2data.ai/v1/signals
Freesynchronous

Returns every signal the key's organization owns, in any status. Filter with status and page with limit and offset; total counts what matches the filter, ignoring the page. See Signals for how a signal moves between active, paused and completed.

#Request

FieldTypeNotes
statusstringQuery parameter. Enum: active, paused, completed. Omit for all.
limitintegerQuery parameter. 1 to 200, default 50.
offsetintegerQuery parameter. Default 0.

#Call it

cURL
curl -X GET "https://api.up2data.ai/v1/signals?status=active&limit=50" \
  -H "X-API-Key: YOUR_API_KEY"

#Response

200
{
  "data": {
    "signals": [
      {
      "signal_id": "9d1f4c2e-7b3a-4e8f-a1c5-2f6b8d9e0a11",
      "name": "Watch key accounts",
      "status": "active",
      "active": true,
      "pause_reason": null,
      "schedule": { "interval_ms": 86400000, "start_at": "2026-11-01T08:00:00Z", "ends_at": null, "max_runs": 30 },
      "run_count": 3,
      "next_run_at": "2026-11-04T08:00:00Z",
      "last_run_at": "2026-11-03T08:00:00Z",
      "last_job_id": "job_7hd92kfa",
      "last_error": null,
      "completed_at": null,
      "request": {
        "items": [
          { "type": "profile", "url": "https://linkedin.com/in/a" },
          { "type": "company", "url": "https://linkedin.com/company/acme" }
        ],
        "webhook_url": "https://your-server.com/hooks/up2data"
      },
      "created_at": "2026-10-30T12:00:00Z",
      "updated_at": "2026-11-03T08:00:01Z"
    }
    ],
    "total": 1,
    "limit": 50,
    "offset": 0
  },
  "meta": { "creditsUsed": 0, "creditsRemaining": 98413, "billed": false, "reason": "success", "requestId": "req_t4sk0001" }
}

#Errors

StatusTypeWhenBilled
400invalid_requeststatus is not one of active, paused, completed; limit is outside 1 to 200; or offset is negative.No
401invalid_api_keyMissing, malformed, or revoked key.No
429rate_limitedOver the 5,000 requests/min limit. Honor Retry-After.No
500internal_errorSomething broke on the server side.No
503upstream_errorThe scheduling service is unreachable. Safe to retry.No

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