Das Veröffentlichen auf LinkedIn ist ein einziger POST https://api.linkedin.com/rest/posts-Aufruf, wobei die URN des erstellten Beitrags im x-restli-id-Antwort-Header zurückgegeben wird, nicht im Body. Medien funktionieren, indem zuerst ein Upload registriert, dann die Bytes hochgeladen und schließlich auf die zurückgegebene URN verwiesen wird. Die Komplikationen liegen im Berechtigungsmodell und in LinkedIns monatlicher API-Versionierung.
Was kann die Posts API veröffentlichen, und was nicht?
Für organische (nicht gesponserte) Beiträge ist LinkedIns Tabelle der Inhaltstypen eindeutig.
| Inhaltstyp | Organische Unterstützung |
|---|---|
| Nur Text | Ja |
| Bilder | Ja |
| Videos | Ja |
| Dokumente (PDF, DOC, DOCX, PPT, PPTX) | Ja |
| Artikel | Ja |
| MultiImage | Ja |
| Umfrage | Ja |
| Karussell | Nein, nur gesponsert |
Dokument-Beiträge sind die angenehme Überraschung: PDF-Karussells, das Format, das auf LinkedIn gut funktioniert, werden über die Documents API vollständig unterstützt. Die Grenzen liegen bei maximal 100 MB Dateigröße und höchstens 300 Seiten. Organische Karussell-Beiträge, im Anzeigen-Sinne des Wortes bei LinkedIn, werden nicht unterstützt; das organische Äquivalent ist MultiImage. Artikel-Beiträge scrapen die URL nicht selbst für Sie, daher müssen Sie Titel, Beschreibung und eine Vorschaubild-URN selbst angeben.
Die strukturelle Lücke liegt in der Aufteilung der Berechtigungen. Um als Person zu posten, braucht es w_member_social. Um als Unternehmensseite zu posten, braucht es w_organization_social, mit r_organization_social zum Zurücklesen, und das authentifizierte Mitglied muss auf dieser Seite eine Rolle als ADMINISTRATOR, CONTENT_ADMIN oder DIRECT_SPONSORED_CONTENT_POSTER innehaben. In der Praxis sind das unterschiedliche API-Produkte mit getrennten Zugangsanträgen, weshalb ein Tool, das sowohl auf ein Profil als auch auf eine Seite postet, am Ende zwei separate LinkedIn-Apps pflegt. Unsere eigene Integration macht genau das.
Hinweis: Die Angaben hier wurden anhand der Dokumentation von LinkedIns Posts API, Images API und Documents API auf Microsoft Learn mit Stand September 2026 überprüft. Plattformen ändern diese Werte ohne Vorankündigung.
Wie funktioniert die Authentifizierung, und wie lange dauert die Zugangsprüfung?
Dreistufiges OAuth für ein Mitglieds-Token, danach trägt jede Anfrage drei Header: Authorization: Bearer, X-Restli-Protocol-Version: 2.0.0 und LinkedIn-Version im Format YYYYMM. Letzterer ist nicht optional und nicht dauerhaft. LinkedIn veröffentlicht monatliche Versionen und stellt alte ein, mit einem aktuellen Hinweis auf der Seite, dass Marketing-Version 202508 am 17. August 2026 eingestellt wird. Eine Version, die Sie letztes Jahr fixiert haben, wird zu einem Ausfall.
Der Zugang zu den Community-Management-Produkten wird pro Antrag gewährt. LinkedIn veröffentlicht in dieser Entwicklerdokumentation keine Bearbeitungsdauer für die Prüfung, daher ist die Dauer als unbekannt zu behandeln. Beachten Sie auch, dass r_member_social eine eingeschränkte Berechtigung ist, „nur für genehmigte Nutzer verfügbar“, das Zurücklesen der eigenen Beiträge eines Mitglieds ist also ein separater Antrag zum Schreiben.
Die Gültigkeitsdauer von LinkedIns Zugriffstoken konnten wir anhand der Posts-, Images- oder Documents-API-Seiten nicht überprüfen, da diese sie nicht angeben. Lesen Sie die aktuelle Zahl aus LinkedIns eigener Authentifizierungsdokumentation statt aus einer Zahl in einem Blogbeitrag, auch diesem hier.
Wie sieht die Aufrufsequenz beim Veröffentlichen aus?
Für einen Text-Beitrag ist es ein Aufruf. Für Medien sind es drei:
POST /rest/images?action=initializeUpload(oder/rest/documents?action=initializeUpload) mit eineminitializeUploadRequest.owner, gesetzt auf die URN der Person oder Organisation.uploadUrlund die Asset-URN (imageoderdocument) aus dem Antwortobjektvalueauslesen.- Die Bytes an
uploadUrlhochladen. Ein erfolgreicher Dokument-Upload liefert 201 zurück. POST /rest/postsmitauthor,commentary,visibility,distribution,lifecycleState: "PUBLISHED"undcontent.media.id, gesetzt auf die Asset-URN.- Die erstellte Beitrags-URN aus dem
x-restli-id-Antwort-Header bei der 201 auslesen. Sie steht nicht im Body.
# 1. register the upload
curl -X POST 'https://api.linkedin.com/rest/documents?action=initializeUpload' \
-H "Authorization: Bearer $TOKEN" \
-H 'X-Restli-Protocol-Version: 2.0.0' -H 'LinkedIn-Version: 202608' \
-d '{"initializeUploadRequest":{"owner":"urn:li:organization:5515715"}}'
# -> value.uploadUrl, value.document = urn:li:document:...
# 2. upload the bytes
curl -i --upload-file ./deck.pdf -H "Authorization: Bearer $TOKEN" "$UPLOAD_URL"
# 3. create the post, then read x-restli-id from the 201
curl -i -X POST 'https://api.linkedin.com/rest/posts' \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-H 'X-Restli-Protocol-Version: 2.0.0' -H 'LinkedIn-Version: 202608' \
-d '{
"author": "urn:li:organization:5515715",
"commentary": "Our Q3 teardown, 12 pages.",
"visibility": "PUBLIC",
"distribution": {"feedDistribution":"MAIN_FEED","targetEntities":[],
"thirdPartyDistributionChannels":[]},
"content": {"media": {"title":"deck.pdf","id":"urn:li:document:..."}},
"lifecycleState": "PUBLISHED",
"isReshareDisabledByAuthor": false
}'
Assets haben ihr eigenes Statusfeld: WAITING_UPLOAD, PROCESSING, PROCESSING_FAILED oder AVAILABLE. Ein Verweis auf eines, das AVAILABLE noch nicht erreicht hat, ist eine häufige Ursache dafür, dass ein Beitrag ohne seine Medien veröffentlicht wird.
Wie hoch sind die Rate Limits?
LinkedIns Fehlertabelle der Posts API dokumentiert 429 TOO_MANY_REQUESTS mit dem Hinweis, die Anfragehäufigkeit zu reduzieren und nach einer Verzögerung erneut zu versuchen, aber die Seite nennt keine konkreten Zahlen pro App oder pro Mitglied. Konkrete Drosselungszahlen konnten wir anhand der Posts-, Images- oder Documents-API-Seiten nicht überprüfen. LinkedIn veröffentlicht Tages-Obergrenzen auf App- und Mitgliedsebene im Entwicklerportal für Ihre eigene App, das ist die einzig zuverlässige Quelle für Ihr Kontingent, lesen Sie sie also dort nach, statt eine gemeinsame Zahl anzunehmen.
Zwei Grenzwerte sind konkret angegeben und wert, danach zu gestalten: Dokumente sind auf 100 MB und 300 Seiten begrenzt, und Bilder müssen unter 36.152.320 Pixeln liegen, im Format JPG, GIF oder PNG, mit GIFs, die auf 250 Frames begrenzt sind.
Hinweis: Die Angaben hier wurden anhand der Dokumentation von LinkedIns Posts API, Images API und Documents API auf Microsoft Learn mit Stand September 2026 überprüft. Plattformen ändern diese Werte ohne Vorankündigung.
Was Sie tatsächlich drei Wochen kosten wird
Zwei Apps, zwei Prüfungen. Das Posten auf persönliche Profile und auf Unternehmensseiten sind getrennte Produkte mit getrennten Genehmigungen. Wenn Ihr Produkt beides verspricht, betreiben Sie zwei OAuth-Flows, zwei Zugangsdaten-Sätze und zwei Prüfprozesse, und einer kann genehmigt werden, während der andere es nicht wird.
Monatliche Versionierung. LinkedIn-Version braucht einen Plan: eine geplante Aktualisierung, einen Test, der die aktuelle Version durchläuft, und jemanden, der die Ankündigungen zur Einstellung liest. Das sind die Wartungskosten, die viele beim Schätzen des Aufbaus vergessen.
Medien-Pipeline. Zweistufiger Upload für Bilder, Dokumente und Video, jeweils mit eigenem Endpunkt und eigenem Asset-Status, auf den gewartet werden muss, dazu Format- und Größenprüfung, bevor ein Upload verschwendet wird.
Asynchronität und Teilausfälle. Eine 201 von /rest/posts ist die stärkste Bestätigung, die irgendeine der großen Plattformen bietet, aber der vorgelagerte Asset-Schritt ist asynchron, und lifecycleState kann als PUBLISH_FAILED zurückkommen, was eine Bearbeitung vor dem erneuten Versuch erfordert. Modellieren Sie einen processing-Status, wie in unserem Leitfaden zur Social-Media-Scheduling-API behandelt, und melden Sie niemals allein anhand des Upload-Aufrufs Erfolg.
Wenn Sie auch den Text entwerfen, zeigt der LinkedIn Zeichenzähler, wo der „mehr anzeigen“-Schnitt liegt.
Kurz zusammengefasst
- Ein
POST /rest/posts-Aufruf; die Beitrags-URN kommt imx-restli-id-Header zurück, nicht im Body. - Medien brauchen
initializeUpload, einen Upload und dann die Asset-URN incontent.media.id. - Dokumente (PDF und Office-Dateien) werden organisch unterstützt, bis zu 100 MB und 300 Seiten.
- Persönliche Profile und Unternehmensseiten nutzen unterschiedliche Berechtigungen und, in der Praxis, zwei Apps.
LinkedIn-Versionist verpflichtend, und Versionen werden eingestellt. Planen Sie die Aktualisierungen ein.
Das einmal statt pro Plattform erledigen
Wenn LinkedIn eine von mehreren Plattformen ist, die Sie brauchen, vervielfacht sich der Aufwand pro Plattform, statt sich nur zu addieren. BulkPublish veröffentlicht über eine REST-API auf 15 Plattformen, einschließlich persönlicher LinkedIn-Profile und Unternehmensseiten (beide Apps, beide Prüfungen, bereits erledigt) sowie LinkedIn-Dokument-Beiträge. Versions-Header, Asset-Polling und Token-Erneuerung liegen auf unserer Seite, und ein Beitrag, der mehrere Netzwerke anspricht, meldet partial, wenn eines davon fehlschlägt, statt vorzugeben, dass alles geklappt hat. Die API-Referenz finden Sie unter /developers/ und die Übersicht zur REST-Integration unter /integrations/rest-api/.