dealsky.ioDocs
Zur App
API-Referenz

LinkedIn

Verbundene LinkedIn-Konten, ihre Nutzung und Grenzen

#

Verbundene LinkedIn-Konten auflisten

GET/v1/linkedin/accounts
Scope read:linkedinRecht: Nur Inboxliest

Die Konten unter Einstellungen, Outreach-Konten, älteste zuerst. Sichtbar sind die Konten wie in der App: Inhaber und Admins sehen alle, Mitglieder nur die ihnen zugewiesenen. Ohne das Recht für das Postfach (outreach.inbox) sieht ein Mitglied in der App kein Konto; die API antwortet dann mit 403. Zugangsdaten und interne Kennungen gibt die API nie heraus. Liest nur die gespeicherten Daten; anders als die Seite in der App stößt der Abruf keinen Abgleich mit LinkedIn an.

Query-Parameter

  • limitintegerab 1bis 100

    Einträge pro Seite (Standard 25, höchstens 100)

  • cursorstringmax. 200 Zeichen

    Wert aus meta.next_cursor der vorigen Seite

  • connection_statusListe aus string

    Ein oder mehrere Status, kommagetrennt

    connected pending_verification broken disconnected error reconnecting
Felder der Antwort
  • idstring (uuid)

    ID des Kontos in dealsky (dieselbe ID steht an Kampagnen als linkedin_account)

  • namestring, kann null sein

    Anzeigename in dealsky, in der App änderbar

  • linkedin_namestring, kann null sein

    Name laut LinkedIn, beim Verbinden bestätigt

  • profile_urlstring, kann null sein

    LinkedIn-Profil des Kontos

  • picture_urlstring, kann null sein

    Profilbild

  • connection_statusstring

    connected: verbunden und einsatzbereit. pending_verification: verbunden, Identität noch nicht bestätigt. broken: Verbindung defekt, in der App neu verbinden. disconnected: bei LinkedIn getrennt. error: sonstiger Fehler. reconnecting: Altwert.

    connected pending_verification broken disconnected error reconnecting
  • usableboolean

    true nur bei connected. Nur dann führen Kampagnen Schritte mit diesem Konto aus.

  • sales_navigatorobject

    Ob das Konto Sales Navigator hat, Stand der letzten Prüfung

    Felder anzeigen
    • statusstring

      Zuletzt bestätigter Stand. unknown: noch nie sicher geprüft.

      available unavailable unknown
    • checked_atstring (date-time), kann null sein

      Zeitpunkt der Prüfung. Die App prüft neu, wenn er älter als 7 Tage ist; die API prüft nie selbst.

  • connected_atstring (date-time)

    Zeitpunkt, an dem das Konto in dealsky angelegt wurde

  • connected_bystring (uuid), kann null sein

    Team-Mitglied, das das Konto verbunden hat (siehe /v1/team). Leer bei Konten vor dem 22.09.2026 und bei Verbindung durch den Support.

Mögliche Fehler

400 VALIDATION_ERROR401 INVALID_API_KEY402 PLAN_REQUIRED403 SCOPE_MISSING429 RATE_LIMITED
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts" \
  -H "X-API-Key: $DEALSKY_API_KEY"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts", {
  method: "GET",
  headers: {
    "X-API-Key": process.env.DEALSKY_API_KEY,
  },
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts",
    headers={"X-API-Key": os.environ["DEALSKY_API_KEY"]},
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": [
    {
      "id": "4c8e2a1b-7d3f-4e5a-9b6c-1d2e3f4a5b6c",
      "name": "Anna Beispiel",
      "linkedin_name": "Anna Beispiel",
      "profile_url": "https://www.linkedin.com/in/anna-beispiel",
      "picture_url": "https://imagedelivery.net/beispiel/linkedin-avatar-anna/public",
      "connection_status": "connected",
      "usable": true,
      "sales_navigator": {
        "status": "available",
        "checked_at": "2026-10-15T08:30:00.000Z"
      },
      "connected_at": "2026-08-03T09:12:00.000Z",
      "connected_by": "7f1e2d3c-4b5a-4968-8776-5a4b3c2d1e0f"
    }
  ],
  "meta": {
    "request_id": "req_7f3a…",
    "next_cursor": null,
    "has_more": false
  }
}
#

Ein LinkedIn-Konto abrufen

GET/v1/linkedin/accounts/{id}
Scope read:linkedinRecht: Nur Inboxliest

Sichtbar sind die Konten wie in der App: Inhaber und Admins sehen alle, Mitglieder nur die ihnen zugewiesenen. Ohne das Recht für das Postfach (outreach.inbox) sieht ein Mitglied in der App kein Konto; die API antwortet dann mit 403. Ein fremdes oder nicht zugewiesenes Konto ergibt 404.

Pfad-Parameter

  • idstring (uuid)Pflicht

    ID des LinkedIn-Kontos

Felder der Antwort
  • idstring (uuid)

    ID des Kontos in dealsky (dieselbe ID steht an Kampagnen als linkedin_account)

  • namestring, kann null sein

    Anzeigename in dealsky, in der App änderbar

  • linkedin_namestring, kann null sein

    Name laut LinkedIn, beim Verbinden bestätigt

  • profile_urlstring, kann null sein

    LinkedIn-Profil des Kontos

  • picture_urlstring, kann null sein

    Profilbild

  • connection_statusstring

    connected: verbunden und einsatzbereit. pending_verification: verbunden, Identität noch nicht bestätigt. broken: Verbindung defekt, in der App neu verbinden. disconnected: bei LinkedIn getrennt. error: sonstiger Fehler. reconnecting: Altwert.

    connected pending_verification broken disconnected error reconnecting
  • usableboolean

    true nur bei connected. Nur dann führen Kampagnen Schritte mit diesem Konto aus.

  • sales_navigatorobject

    Ob das Konto Sales Navigator hat, Stand der letzten Prüfung

    Felder anzeigen
    • statusstring

      Zuletzt bestätigter Stand. unknown: noch nie sicher geprüft.

      available unavailable unknown
    • checked_atstring (date-time), kann null sein

      Zeitpunkt der Prüfung. Die App prüft neu, wenn er älter als 7 Tage ist; die API prüft nie selbst.

  • connected_atstring (date-time)

    Zeitpunkt, an dem das Konto in dealsky angelegt wurde

  • connected_bystring (uuid), kann null sein

    Team-Mitglied, das das Konto verbunden hat (siehe /v1/team). Leer bei Konten vor dem 22.09.2026 und bei Verbindung durch den Support.

Mögliche Fehler

400 VALIDATION_ERROR401 INVALID_API_KEY402 PLAN_REQUIRED403 SCOPE_MISSING404 NOT_FOUND429 RATE_LIMITED
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts/5b0c1e7a-3f1d-4a52-9c1e-8a7d2b6f4e10" \
  -H "X-API-Key: $DEALSKY_API_KEY"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts/5b0c1e7a-3f1d-4a52-9c1e-8a7d2b6f4e10", {
  method: "GET",
  headers: {
    "X-API-Key": process.env.DEALSKY_API_KEY,
  },
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts/5b0c1e7a-3f1d-4a52-9c1e-8a7d2b6f4e10",
    headers={"X-API-Key": os.environ["DEALSKY_API_KEY"]},
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": {
    "id": "4c8e2a1b-7d3f-4e5a-9b6c-1d2e3f4a5b6c",
    "name": "Anna Beispiel",
    "linkedin_name": "Anna Beispiel",
    "profile_url": "https://www.linkedin.com/in/anna-beispiel",
    "picture_url": "https://imagedelivery.net/beispiel/linkedin-avatar-anna/public",
    "connection_status": "connected",
    "usable": true,
    "sales_navigator": {
      "status": "available",
      "checked_at": "2026-10-15T08:30:00.000Z"
    },
    "connected_at": "2026-08-03T09:12:00.000Z",
    "connected_by": "7f1e2d3c-4b5a-4968-8776-5a4b3c2d1e0f"
  },
  "meta": {
    "request_id": "req_7f3a…"
  }
}
#

Heutige Nutzung und Grenzen eines LinkedIn-Kontos

GET/v1/linkedin/accounts/{id}/limits
Scope read:linkedinRecht: Nur Inboxliest

Nutzung über alle Kampagnen und Dauerläufe des Kontos, wie die Karte zu den Konto-Limits auf der Startseite und unter Kampagnen, Statistiken. today: Zähler des heutigen Tages gegen die festen Tagesgrenzen je Konto, die der Versand durchsetzt. Bei gleichmäßiger Verteilung über die Woche kann die Tagesgrenze für Vernetzungen niedriger liegen (Wochengrenze geteilt durch aktive Tage). last_7_days: heute und die 6 Tage davor gegen die Wochengrenzen. weekly_connection_budget: wie viel der 150 Vernetzungen je Woche laufende Kampagnen schon einplanen; dieselbe Rechnung prüft die App beim Anlegen, Nachschieben und Fortsetzen einer Kampagne. warm_up: Rampe je laufender Kampagne. Tageslimits einer einzelnen Kampagne stehen in GET /v1/campaigns/{id}. Liest nur die Datenbank: kein Aufruf bei LinkedIn, kein Zähler wird erhöht.

Pfad-Parameter

  • idstring (uuid)Pflicht

    ID des LinkedIn-Kontos

Felder der Antwort
  • account_idstring (uuid)

    ID des LinkedIn-Kontos

  • datestring (date)

    Tag der Tageszähler (UTC)

  • todayobject

    Verbrauch und Tagesgrenze je Aktion für heute (UTC). Ohne Eintrag für heute ist alles 0

    Felder anzeigen
    • connection_requestsobject

      Vernetzungsanfragen heute

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • messages_sentobject

      Nachrichten heute, auch Sprach- und Videonachrichten und KI-Opener

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • profile_viewsobject

      Profilbesuche heute. Die Grenze enthält 30 Besuche, die nur Dauerläufe nutzen; Kampagnen planen mit höchstens 80.

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • inmails_sentobject

      InMails heute

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • followsobject

      Folgen heute

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • likesobject

      Reaktionen und Kommentare heute

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • total_actionsobject

      Alle sechs Zähler zusammen. Die Grenze gilt, solange eine Sequenz keine eigene setzt.

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

  • last_7_daysobject

    Verbrauch und Wochengrenze je Aktion für heute und die 6 Tage davor

    Felder anzeigen
    • sincestring (date)

      Erster gezählter Tag: heute und die 6 Tage davor

    • connection_requestsobject

      Vernetzungsanfragen der letzten 7 Tage

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • messages_sentobject

      Nachrichten der letzten 7 Tage

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

    • followsobject

      Folgen der letzten 7 Tage

      Felder anzeigen
      • usedinteger

        verbraucht

      • limitinteger

        Grenze

  • weekly_connection_budgetobject

    Wochenbudget für Vernetzungsanfragen dieses Kontos und wie viel laufende Kampagnen davon belegen

    Felder anzeigen
    • capinteger

      Vernetzungen je Woche und Konto

    • reservedinteger

      Wochenbedarf laufender Kampagnen auf diesem Konto mit offenen Einladungen: Tageslimit für Vernetzungen mal aktive Tage, ohne gespeichertes Limit 25 je Tag

    • freeinteger

      Was eine weitere Kampagne noch einplanen kann

  • warm_upListe aus object

    Warm-up je laufender Kampagne auf dem Konto. Ein Konto hat keinen eigenen Warm-up-Stand.

    Felder anzeigen
    • campaign_idstring (uuid)

      ID der laufenden Kampagne auf diesem Konto

    • campaign_namestring, kann null sein

      Name der Kampagne

    • sequence_idstring (uuid), kann null sein

      LinkedIn-Sequenz der Kampagne, an der der Warm-up hängt. null, wenn keine gefunden wurde

    • enabledboolean

      true: Warm-up ist in der Sequenz eingeschaltet

    • profilestring

      kurz: volle Menge ab Tag 7. lang: volle Menge ab Tag 21.

      kurz lang
    • started_atstring (date-time), kann null sein

      Start der Sequenz, ab dem die Rampe zählt

    • dayinteger, kann null sein

      Kalendertage seit Start (0 = Starttag). Leer ohne Warm-up oder ohne Start.

Mögliche Fehler

400 VALIDATION_ERROR401 INVALID_API_KEY402 PLAN_REQUIRED403 SCOPE_MISSING404 NOT_FOUND429 RATE_LIMITED
curl -X GET "https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts/5b0c1e7a-3f1d-4a52-9c1e-8a7d2b6f4e10/limits" \
  -H "X-API-Key: $DEALSKY_API_KEY"
const res = await fetch("https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts/5b0c1e7a-3f1d-4a52-9c1e-8a7d2b6f4e10/limits", {
  method: "GET",
  headers: {
    "X-API-Key": process.env.DEALSKY_API_KEY,
  },
});
const { ok, data, error } = await res.json();
import os, requests

res = requests.request(
    "GET",
    "https://api.dealsky.io/functions/v1/api/v1/linkedin/accounts/5b0c1e7a-3f1d-4a52-9c1e-8a7d2b6f4e10/limits",
    headers={"X-API-Key": os.environ["DEALSKY_API_KEY"]},
)
print(res.json())
Antwort 200
{
  "ok": true,
  "data": {
    "account_id": "4c8e2a1b-7d3f-4e5a-9b6c-1d2e3f4a5b6c",
    "date": "2026-10-18",
    "today": {
      "connection_requests": {
        "used": 12,
        "limit": 40
      },
      "messages_sent": {
        "used": 30,
        "limit": 80
      },
      "profile_views": {
        "used": 45,
        "limit": 110
      },
      "inmails_sent": {
        "used": 0,
        "limit": 25
      },
      "follows": {
        "used": 3,
        "limit": 40
      },
      "likes": {
        "used": 4,
        "limit": 50
      },
      "total_actions": {
        "used": 94,
        "limit": 200
      }
    },
    "last_7_days": {
      "since": "2026-10-12",
      "connection_requests": {
        "used": 57,
        "limit": 150
      },
      "messages_sent": {
        "used": 120,
        "limit": 400
      },
      "follows": {
        "used": 13,
        "limit": 150
      }
    },
    "weekly_connection_budget": {
      "cap": 150,
      "reserved": 100,
      "free": 50
    },
    "warm_up": [
      {
        "campaign_id": "ca6b1f2e-3d4c-4b5a-8e9f-0a1b2c3d4e5f",
        "campaign_name": "Geschäftsführer Logistik",
        "sequence_id": "5e9a8b7c-6d5e-4f3a-9b2c-1d0e9f8a7b6c",
        "enabled": true,
        "profile": "lang",
        "started_at": "2026-10-15T07:00:00.000Z",
        "day": 3
      }
    ]
  },
  "meta": {
    "request_id": "req_7f3a…"
  }
}