Zum Inhalt springen

API-Endpunkte

API-Referenz · Zuletzt aktualisiert am 16.08.2026

Die Basisadresse der öffentlichen API lautet https://feedivo.de/api/v1. Jede Antwort verwendet den JSON-Umschlag { "data", "meta", "errors" }. Bis auf /health benötigen alle Endpunkte ein Bearer-Token; Einrichtung und Sicherheitsregeln stehen unter API-Authentifizierung und Token.

Tipp

Für die erste Integration empfiehlt sich der Schnellstart mit der Feedivo-API. Die folgende Referenz dient anschließend zum Nachschlagen einzelner Parameter und Antworten.

GET /api/v1/feeds/{uuid}/posts

Posts eines Feeds

Liefert die Posts eines Feeds, neueste zuerst, mit Cursor-Pagination — der Haupt-Endpunkt für Einbindungen.

Parameter

NameBedeutung
limit Ganzzahl 1–100, Standard 25 — Posts pro Seite.
cursor Opaker Cursor aus meta.pagination.next_cursor — lädt die nächste Seite.
since ISO-8601-Zeitstempel — nur Posts, die danach veröffentlicht wurden. Ungültige Werte antworten mit 422.
updated_since ISO-8601-Zeitstempel — nur Posts, die Feedivo seither erstmals gesehen hat. Das ist der Parameter für inkrementelle Syncs: ein Post trifft hier später ein, als sein Veröffentlichungsdatum sagt, und since würde ihn übergehen.

Hinweis

Caching: Antworten senden ein ETag. Sende es als If-None-Match mit — bei unverändertem Inhalt antwortet die API mit 304 ohne Body. Der ETag gilt für genau diese Abfrage (Feed samt limit, cursor und Zeitfiltern).

Antwort

{
  "data": [
    {
      "id": "17895695668004550",
      "platform": "instagram",
      "type": "image",
      "caption": "Unser neues Projekt …",
      "permalink": "https://www.instagram.com/p/…",
      "media_url": "…", "thumbnail_url": "…",
      "author": "meinaccount",
      "published_at": "2026-06-12T14:30:00+02:00",
      "media": [
        { "url": "…", "thumbnail_url": "…", "type": "image", "embed_url": null,
          "width": 1080, "height": 1350, "mime": "image/jpeg", "bytes": 284913, "cached": true }
      ],
      "hashtags": ["projekt"],
      "also_on": []
    }
  ],
  "meta": {
    "feed": { "id": "…", "name": "…" },
    "pagination": { "next_cursor": "eyJ…", "count": 25 }
  },
  "errors": []
}

GET /api/v1/feeds/{uuid}/posts/{post_id}

Einzelner Post

Liefert genau einen Post eines Feeds — etwa für Detailseiten oder gezielte Aktualisierungen.

Parameter

NameBedeutung
{post_id} Post-ID aus der Post-Liste (data[].id).

Hinweis

Abrufbar ist genau, was die Post-Liste liefert — Posts außerhalb der Feed-Filter antworten mit 404. Antworten senden ein ETag wie die Liste.

Antwort

{
  "data": {
    "id": "17895695668004550",
    "platform": "instagram",
    "type": "image",
    "caption": "Unser neues Projekt …",
    "permalink": "https://www.instagram.com/p/…",
    "media_url": "…", "thumbnail_url": "…",
    "author": "meinaccount",
    "published_at": "2026-06-12T14:30:00+02:00",
    "media": [
      { "url": "…", "thumbnail_url": "…", "type": "image", "embed_url": null,
        "width": 1080, "height": 1350, "mime": "image/jpeg", "bytes": 284913, "cached": true }
    ],
    "hashtags": ["projekt"],
    "also_on": []
  },
  "meta": { "feed": { "id": "…", "name": "…" } },
  "errors": []
}

GET /api/v1/feeds

Feeds auflisten

Listet alle Feeds, die diese Verknüpfung abdeckt — bei „Alle Feeds“ auch künftig erstellte.

Hinweis

Sendet ein ETag: Wer regelmäßig nachsieht, ob sich an den Feeds etwas geändert hat, bekommt mit If-None-Match ein 304 ohne Body.

Antwort

{
  "data": [
    {
      "id": "1c9e7a52-…",
      "name": "Instagram Highlights",
      "slug": "instagram-highlights",
      "description": null,
      "filters": { "platforms": ["instagram"], "media_types": [], "hashtags": [], "exclude_hashtags": [], "date_from": null, "date_to": null, "sort": "newest" },
      "display": { "style": "grid-classic", "columns": 4, "aspect": "square", "gap": "normal", "limit": 12, "load_more": true, "autoplay": true, "corners": "rounded", "hover": true, "accent": "", "components": { "caption": true, "date": true, "platform": true, "author": false, "type_icon": true, "source": true } },
      "updated_at": "2026-06-12T14:30:00+02:00"
    }
  ],
  "meta": null,
  "errors": []
}

GET /api/v1/feeds/{uuid}

Feed-Details

Metadaten, Filter und Darstellungs­einstellungen eines einzelnen Feeds.

Parameter

NameBedeutung
{uuid} Feed-UUID aus der Feeds-Liste. Nicht abgedeckte oder unbekannte Feeds antworten mit 404.

Hinweis

Sendet ein ETag wie die Feed-Liste.

Antwort

{
  "data": { "id": "1c9e7a52-…", "name": "…", "slug": "…", "description": null, "filters": { … }, "display": { … }, "updated_at": "…" },
  "meta": null,
  "errors": []
}

GET /api/v1/me

Token prüfen

Zeigt, zu welcher Verknüpfung das verwendete Token gehört — praktisch beim Einrichten und bei mehreren Tokens.

Antwort

{
  "data": { "id": "fc2b4352-…", "name": "Meine Website", "type": "api", "all_feeds": false, "feeds": 2, "created_at": "…" },
  "meta": null,
  "errors": []
}

GET /api/v1/health

Statusprüfung

Verfügbarkeit des Dienstes — der einzige Endpunkt ohne Token.

Antwort

{
  "data": { "status": "ok", "service": "Feedivo", "version": "v1", "time": "…" },
  "meta": null,
  "errors": []
}

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