Zum Inhalt springen

Posts und Medien richtig verarbeiten

Entwicklerhandbuch · Zuletzt aktualisiert am 16.08.2026

Auf dieser Seite
  1. Feed, Post und Medium
  2. Post-Typ und Untertyp getrennt auswerten
  3. Primärmedium und Medienliste
  4. Bilder, Videos und externe Player
  5. Layout ohne Nachspringen
  6. Das Feld cached
  7. Plattformübergreifende Zusatzfelder
  8. Identität lokal speichern

Die Feedivo-API vereinheitlicht Instagram, Facebook, Threads, Pinterest und YouTube zu einem plattformneutralen Datenmodell. Clients müssen deshalb keine fünf unterschiedlichen Plattformantworten verarbeiten.

Feed, Post und Medium#

Die drei wichtigsten Ebenen sind:

  • Feed: Filter, Darstellungsregeln und aktuelle Feed-Konfiguration.
  • Post: Plattformbeitrag mit Text, Autor, Veröffentlichungszeit und Verweisen auf seine Medien.
  • Medium: einzelne Bild- oder Videodatei beziehungsweise ein externer Player. Ein Karussell besitzt mehrere Medien in Anzeigereihenfolge.

Die vollständigen Felder findest du unter API-Datenmodelle.

Post-Typ und Untertyp getrennt auswerten#

type beschreibt die grundsätzliche Form:

Wert Bedeutung
image einzelnes Bild
video Video oder Video-Embed
carousel mehrere Medien in media
text Post ohne eigenes Medium

subtype ergänzt eine feinere Einordnung:

Wert Bedeutung
reel Instagram Reel
short YouTube Short
story Instagram- oder Facebook-Story
null kein besonderer Untertyp

Wichtig

Stories sind flüchtig. Sie verschwinden nach ihrem Ablauf aus allen Feed-Antworten und sollten nicht als dauerhafte Detailseiten gespeichert werden.

Primärmedium und Medienliste#

media_url und thumbnail_url sind bequeme Kurzfelder für das erste Medium. Für eine vollständige Darstellung solltest du trotzdem media verwenden:

{
  "type": "carousel",
  "media_url": "https://…/erstes-bild.webp",
  "media": [
    { "type": "image", "url": "https://…/erstes-bild.webp" },
    { "type": "video", "url": "https://…/clip.mp4", "thumbnail_url": "https://…/clip.webp" }
  ]
}

Die Reihenfolge des Arrays ist die gewünschte Anzeigereihenfolge. Ein Einzelpost enthält normalerweise genau ein Element.

Bilder, Videos und externe Player#

Bei einem Bild zeigt url auf die Bilddatei. Bei einem direkt verfügbaren Video zeigt url auf die Videodatei und thumbnail_url auf das Standbild.

Bei YouTube ist url leer und embed_url enthält die datenschutzfreundliche Player-Adresse unter youtube-nocookie.com. Zeige bis zum bewussten Start durch den Nutzer zunächst thumbnail_url an.

function renderMedia(item) {
  if (item.embed_url) return renderConsentAwareEmbed(item.embed_url, item.thumbnail_url);
  if (item.type === 'video') return renderVideo(item.url, item.thumbnail_url);
  return renderImage(item.url, item.width, item.height);
}

Layout ohne Nachspringen#

width und height geben die Anzeigemaße in Pixeln an. Bei Videos beziehen sie sich auf das Vorschaubild mit demselben Seitenverhältnis. Reserviere damit den benötigten Platz, bevor die Datei geladen ist.

Sind die Maße null, wurden sie noch nicht bestimmt. Behandle null als „unbekannt“ und nicht als Quadrat oder als Wert 0.

.feed-media {
  aspect-ratio: var(--media-width) / var(--media-height);
  object-fit: cover;
}

Das Feld cached#

  • cached: true: Für das Medium stehen stabile Feedivo-Adressen bereit.
  • cached: false: Mindestens eine Adresse kommt noch von der Plattform und kann ablaufen.

Ein Ladefehler bei cached: false ist daher kein Grund, den gesamten Post zu löschen. Zeige einen Platzhalter und versuche das Medium bei einem späteren Abruf erneut.

mime und bytes beziehen sich auf die Datei hinter url. Beide können null sein, wenn die Angaben noch nicht verfügbar oder bei einem Embed nicht vorhanden sind.

Plattformübergreifende Zusatzfelder#

  • collection nennt bei Pinterest das Board; bei anderen Plattformen ist der Wert null.
  • also_on listet weitere Plattformen auf, deren Duplikate im Feed zusammengefasst wurden.
  • pinned ist true, wenn der Nutzer den Post angepinnt hat. Die API sortiert ihn bereits nach vorn; eigene Sortierungen können das Feld ebenfalls berücksichtigen.
  • Ausgeblendete Posts erscheinen in keiner erfolgreichen Feed-Antwort.

Identität lokal speichern#

id ist die Post-ID der jeweiligen Plattform und deshalb nicht zwingend plattformübergreifend eindeutig. Verwende lokal mindestens die Kombination:

feed_id + platform + post_id

Wenn dieselbe lokale Post-Kopie mehreren Feeds zugeordnet werden soll, eignet sich platform + post_id als Post-Schlüssel. Die Zugehörigkeit zu den einzelnen Feeds verwaltest du davon getrennt.

Frage nicht beantwortet? Schreib uns — wir ergänzen die Seite.