Stammtischbingo

Partner-API

Wer Stammtischbingo-Inhalte auf einer eigenen Seite einbinden möchte, kann das über eine lesende JSON-API tun: dieselben Parolen, Fakten, Quellen und psychologischen Einordnungen, die hier veröffentlicht sind. Die API ist kostenlos, rein lesend, und Zugänge werden aktuell manuell vergeben.

Zugang anfragen

Schreib uns kurz, wofür du die Inhalte einbinden möchtest: kontakt@stammtischbingo.de. Du bekommst dann einen API-Key für den Header Authorization.

Authentifizierung

Jede Anfrage braucht den API-Key als Bearer-Token im Authorization-Header:

curl https://stammtischbingo.de/api/v1/categories \
  -H "Authorization: Bearer <dein-api-key>"

Rate-Limits & Kontingent

  • Kontingent pro Key: 1000 Anfragen pro Tag (UTC), danach 429.
  • Jede Antwort trägt X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset (Unix-Zeitstempel der nächsten Zurücksetzung).
  • Bei einem 429 durch Kontingent-Überschreitung steht zusätzlich Retry-After (Sekunden) im Header.

Endpunkte

GET /api/v1/categories

Alle Kategorien mit Slug, Name und Anzeigereihenfolge.

[
  { "slug": "migration-asyl", "name": "Migration & Asyl", "order": 3 }
]

GET /api/v1/claims

Veröffentlichte Parolen, cursor-paginiert (20 pro Seite). Optionaler Query-Parameter category (Kategorie-Slug) filtert; cursor kommt aus nextCursor der vorherigen Antwort. nextCursor ist null, wenn es keine weitere Seite gibt.

{
  "items": [
    {
      "slug": "beispiel-parole",
      "claim": "Die Behauptung, wie sie kursiert.",
      "factText": "Die Entkräftung mit Beleg.",
      "category": { "slug": "migration-asyl", "name": "Migration & Asyl" },
      "sources": [
        { "title": "Quelle", "url": "https://...", "publisher": "Amt XY", "year": 2024 }
      ],
      "psychology": {
        "mechanismId": "bestaetigungsfehler",
        "name": "Bestätigungsfehler",
        "note": "Warum die Parole trotz Gegenbeweis wirkt."
      },
      "canonicalUrl": "https://stammtischbingo.de/spruch/beispiel-parole"
    }
  ],
  "nextCursor": "42_abc123"
}

GET /api/v1/claims/{slug}

Eine einzelne veröffentlichte Parole nach Slug, gleiche Form wie ein Eintrag aus items oben. 404, wenn der Slug unbekannt oder die Parole nicht veröffentlicht ist.

GET /api/v1/claims/random

Eine zufällige veröffentlichte Parole, gleiche Form wie oben. 404, wenn noch keine Parole veröffentlicht ist.

Fehlerantworten

Fehler kommen als { "error": "...", "message": "..." } mit passendem Status:

  • 401 – Header fehlt/fehlerhaft oder Key unbekannt.
  • 403 – Key wurde widerrufen.
  • 404 – Parole nicht gefunden.
  • 429 – Kontingent oder Rate-Limit erreicht, siehe oben.