Was ist die Instagram-API?
Die Instagram Platform ist die Entwicklerschnittstelle, über die sich die Beiträge eines Instagram-Kontos programmatisch auslesen lassen — also ohne dass jemand sie von Hand in die Website kopiert. Sie richtet sich laut Dokumentation an Instagram-Konten von Unternehmen und Creatorn, nicht an private Profile. Zu einem Beitrag liefert sie unter anderem die Bildunterschrift, den Medientyp, die Medien-URL, bei Videos ein Vorschaubild, den Permalink zum Original, einen Zeitstempel und einen Alternativtext. Mehr steckt nicht dahinter: Es ist eine Datenquelle, kein fertiger Baustein. Was daraus auf der Seite entsteht, entscheidet die Website.
Wie binde ich einen Instagram-Feed in die eigene Website ein?
Der Weg, den wir gehen, läuft in drei Schritten. Erstens holt ein geplanter Lauf auf dem Server die letzten Beiträge über die Schnittstelle ab. Zweitens lädt derselbe Lauf die Bilder herunter und legt sie in der Dateiverwaltung des CMS ab, zusammen mit Bildunterschrift, Zeitstempel und Permalink als ganz normale Datensätze. Drittens rendert das Frontend daraus einen eigenen Feed — eigenes Markup, eigenes Design, eigene Bildgrößen. Der Browser des Besuchers spricht dabei nie mit Instagram. Der Unterschied zum eingebetteten Widget ist damit nicht kosmetisch, sondern grundsätzlich: Die Website zeigt eigene Kopien statt fremder Einbettungen.
Ist ein Instagram-Feed auf der Website datenschutzkonform?
Das hängt daran, wie er gebaut ist. Ein eingebettetes Instagram-Widget lädt Skript, Schriften und Bilder von fremden Servern; damit diese Auslieferung überhaupt funktionieren kann, geht die IP-Adresse des Besuchers dorthin, und in der Regel kommen Cookies und Wiedererkennungsmerkmale dazu. Bei einer trackingfrei gebauten Website ist das der einzige Fremdaufruf im Dokument — und damit die Ausnahme von der eigenen Regel. Deshalb holen wir die Beiträge serverseitig und rendern sie selbst: Dann fließen beim Seitenaufruf keine Besucherdaten an Instagram. Wer trotzdem eine echte Einbettung will, bekommt sie hinter einer Einwilligung. Die rechtliche Bewertung des Einzelfalls gehört in die Hand von Juristinnen und Juristen; wir liefern die technische Umsetzung und die Dokumentation dazu.
Warum ist ein Instagram-Feed irgendwann leer?
Weil der Zugriffstoken abgelaufen ist. Die Instagram-Dokumentation unterscheidet kurzlebige und langlebige Token; beide haben eine begrenzte Gültigkeit, und der langlebige muss vor seinem Ablauf verlängert werden. Passiert das nicht, antwortet die Schnittstelle irgendwann mit einem Fehler statt mit Beiträgen — und ein Feed, der sich nur auf den Live-Abruf verlässt, ist von einem Tag auf den anderen leer. Wir behandeln das als Betriebsthema, nicht als Einmalaufgabe: Die Erneuerung läuft automatisiert, der Abruf schreibt in ein Log, ein fehlgeschlagener Lauf meldet sich, und weil die Beiträge im CMS liegen, bleibt der Feed sichtbar, bis das Token wieder stimmt. Genau dafür gibt es Betrieb, Wartung und Support.
Welche Daten liefert die Schnittstelle zu einem Beitrag?
Dokumentiert sind unter anderem eine Kennung, die Bildunterschrift, der Medientyp, die Medien-URL, bei Videos ein Vorschaubild, der Permalink zum Beitrag auf Instagram, ein Zeitstempel, der Benutzername und ein Alternativtext. Als Medientyp nennt die Dokumentation IMAGE, VIDEO und CAROUSEL_ALBUM — ein Album besteht also aus mehreren Einzelmedien, die getrennt abgeholt werden müssen, wenn mehr als das erste Bild gezeigt werden soll. Aus diesen Feldern lässt sich ein vollständiger Feed bauen: Bild, Text, Datum und ein Link zum Original. Was die Schnittstelle nicht liefert, erfinden wir nicht dazu.
Darf ich fremde Instagram-Beiträge auf meiner Website zeigen?
Ein Feed, wie wir ihn bauen, zeigt die Beiträge des eigenen Kontos — an denen hat der Betreiber die Rechte in der Regel selbst. Sobald fremde Beiträge dazukommen, etwa Bilder von Gästen, Kundinnen oder Kooperationen unter einem Hashtag, ist das eine andere Frage: Fremde Fotos zu vervielfältigen setzt eine Erlaubnis voraus, und abgebildete Personen haben eigene Rechte am Bild. Wir sagen das offen, weil die Technik den Unterschied nicht kennt — für die Schnittstelle sieht beides gleich aus. Deshalb bauen wir bei kuratierten Feeds eine Freigabe im CMS ein, damit nichts ungeprüft erscheint. Eine Rechtsberatung ist das nicht; die gehört in fachkundige Hände.
Bremst ein Instagram-Feed die Ladezeit der Seite?
Ein eingebettetes Widget schon: Es bringt fremdes JavaScript, eigene Schriften und Bilder in Originalgröße mit, arbeitet im Hauptthread und baut sich erst nach dem Laden auf, wodurch das Layout nachträglich verspringen kann. Ein selbst gerenderter Feed hat davon nichts. Die Bilder liegen als AVIF und WebP in mehreren Größen auf der eigenen Domain, werden mit festen Seitenverhältnissen ausgeliefert und laden verzögert, sobald sie in die Nähe des sichtbaren Bereichs kommen. Das Markup ist Teil der Seite und braucht kein zusätzliches Skript. Der Feed kostet damit ungefähr so viel wie eine Bildergalerie — und nicht so viel wie eine fremde Anwendung in der Seite.
Lässt sich der Instagram-Feed in TYPO3, WordPress oder Statamic einbinden?
Ja, in allen drei Systemen — und wir bauen die Einbindung jeweils selbst, mit den Bordmitteln des Systems. In TYPO3 entsteht eine eigene Extension: der Abruf als Scheduler-Task, die Beiträge als Records, die Bilder in der Dateiverwaltung, der Zugriffstoken in der Extension-Konfiguration, im Frontend ein Fluid-Template. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type für die Beiträge, ein geplanter Lauf für den Abruf, die Bilder in der Mediathek, das Token in der wp-config.php oder in einer Umgebungsvariablen. In Statamic liegt Laravel darunter: ein Artisan-Command im Scheduler, die Beiträge als Entries in einer eigenen Collection, die Bilder in einem Assets-Container, das Token in der .env. Die Mechanik ist überall dieselbe, nur die Bordmittel heißen anders.