API-Datenmodelle
Auf dieser Seite
Alle Antworten der öffentlichen API verwenden denselben JSON-Umschlag:
{
"data": {},
"meta": null,
"errors": []
}
| Feld | Bedeutung |
|---|---|
data |
Nutzdaten der Antwort; bei Fehlern null |
meta |
Zusatzinformationen wie Paginierung und Feed-Zuordnung; sonst null |
errors |
Bei Erfolg leer; bei Fehlern ein Array mit strukturierten Fehlern |
Feed#
Ein Feed beschreibt sowohl seinen fachlichen Filter als auch die gewünschte Darstellung.
| Feld | Typ | Bedeutung |
|---|---|---|
id |
UUID | Stabile Feed-ID für API-Aufrufe |
name |
String | Anzeigename |
slug |
String | Lesbarer Bezeichner |
description |
String oder null |
Optionale Beschreibung |
paused |
Boolean | Tarifbedingt pausiert; in der Feed-Liste werden pausierte Feeds nicht ausgegeben |
filters |
Objekt | Serverseitig angewandte Inhaltsfilter |
display |
Objekt | Einstellungen für einbettende Clients |
updated_at |
ISO-8601 oder null |
Letzte relevante Änderung am Feed |
filters#
| Feld | Inhalt |
|---|---|
platforms |
Eingeschlossene Plattformen |
media_types |
image, video, carousel, text oder story |
hashtags |
Posts mit mindestens einem dieser Hashtags |
exclude_hashtags |
Ausgeschlossene Hashtags |
collections |
Pinterest-Board-IDs; leer bedeutet alle |
date_from, date_to |
Frühestes beziehungsweise spätestes Veröffentlichungsdatum als YYYY-MM-DD |
sort |
newest oder oldest |
max_posts |
Maximale Feed-Größe oder null für unbegrenzt |
shorts, reels |
Jeweils include, exclude oder only |
Diese Filter sind bereits auf die Post-Liste angewandt. Ein Client soll sie nicht ein zweites Mal interpretieren, kann sie aber zur Information anzeigen.
display#
Das Objekt enthält unter anderem style, columns, aspect, gap, limit,
load_more, autoplay, peek, corners, hover, accent, click und
branding. Unter components steht, ob Bildunterschrift, Datum, Plattform,
Autor, Typ-Symbol und Quellenlink dargestellt werden sollen.
style ist eine Kennung wie grid-classic, masonry-cards, list-media oder
carousel-hero. Eigene Clients sollten unbekannte Stile auf eine einfache
Standarddarstellung zurückfallen lassen.
Post#
| Feld | Typ | Bedeutung |
|---|---|---|
id |
String | Beitrags-ID der jeweiligen Plattform |
platform |
String | instagram, facebook, threads, pinterest oder youtube |
type |
String | image, video, carousel oder text |
subtype |
String oder null |
reel, short, story oder null |
caption |
String oder null |
Beitragstext |
permalink |
URL oder null |
Link zum Originalbeitrag |
media_url |
URL oder null |
Primäre Bild- oder Videodatei |
thumbnail_url |
URL oder null |
Vorschaubild des primären Mediums |
author |
String oder null |
Anzeigename des Autors |
published_at |
ISO-8601 oder null |
Veröffentlichungszeitpunkt |
media |
Array | Alle Medien in Darstellungsreihenfolge |
hashtags |
Array | Hashtags ohne führendes # |
collection |
Objekt oder null |
Pinterest-Board mit id und name |
also_on |
Array | Weitere Plattformen, deren Duplikate zusammengeführt wurden |
pinned |
Boolean | Angeheftet; solche Posts sind bereits zuerst sortiert |
Die Post-ID ist nur innerhalb einer Plattform eindeutig. Verwende für deine
lokale Identität deshalb immer die Kombination aus platform und id.
Ausgeblendete Posts erscheinen in keiner API-Antwort.
Hinweis
Stories sind kurzlebig und verschwinden nach ihrem Ablauf aus der API. Lege sie nicht als dauerhaft erreichbare Detailseite an.
Medienelement#
Jeder Eintrag in media hat folgende Felder:
| Feld | Typ | Bedeutung |
|---|---|---|
url |
URL oder null |
Bild- oder Videodatei; bei reinen Embeds null |
thumbnail_url |
URL oder null |
Vorschaubild |
type |
String | image oder video |
embed_url |
URL oder null |
Externer Player, etwa über youtube-nocookie.com |
width, height |
Integer oder null |
Gemessene Abmessungen; null bedeutet unbekannt |
mime |
String oder null |
Dateityp wie image/webp oder video/mp4 |
bytes |
Integer oder null |
Dateigröße; null bedeutet unbekannt |
cached |
Boolean | Ob für alle verfügbaren Dateien stabile Feedivo-Adressen bereitstehen |
Bei cached: false kann mindestens eine Anbieter-URL zeitlich begrenzt sein.
Schlägt sie fehl, rufe den Post später erneut ab, statt ihn sofort dauerhaft als
defekt zu markieren. Bei YouTube ist url bewusst null; nutze dort
embed_url und optional thumbnail_url.
Weitere Empfehlungen zur Darstellung stehen unter Datenmodell und Medien richtig verarbeiten.
Frage nicht beantwortet? Schreib uns — wir ergänzen die Seite.