API-Schlüssel
Schlüssel für Widgets und Scripts anlegen und sicher nutzen
Mit einem API-Schlüssel liest ein Widget oder Script die Events und andere Daten deines Kanals. Was genau, legst du pro Schlüssel über seine Rechte fest. Bis auf TTS auslösen können Schlüssel nur lesen: Sie lösen keine Events aus und fassen keine Einstellungen an.
Schlüssel erstellen
Schlüssel sehen so aus: pixl_ gefolgt von 43 Zeichen. In der Liste erkennst du sie an den ersten Zeichen und siehst, wann sie zuletzt benutzt wurden.
Rechte
Jeder Schlüssel hat eigene Rechte (Scopes). Gib ihm nur, was der Einsatzort wirklich braucht: Ein Sub-Zähler braucht kein TTS, ein TTS-Overlay keine Events.
| Recht | Scope | Erlaubt |
|---|---|---|
| Events lesen | events:read | Eventlog abfragen (pixl.events(), pixl.feed(), GET /events) und Twitch-, Stream-, StreamElements- und 7TV-Events live empfangen (pixl.on()) |
| StreamElements lesen | streamelements:read | Daten aus dem verbundenen StreamElements-Kanal abfragen (pixl.streamElements(), GET /streamelements/…), z.B. Sitzungswerte, Ranglisten, Songwünsche. Beim Erstellen nicht vorausgewählt |
| TTS abspielen | tts:read | Vorgelesene Texte live empfangen und das Audio abrufen (pixl.tts.player(), GET /tts/{id}/audio) |
| TTS auslösen | tts:write | Eigene Texte vorlesen lassen (pixl.tts.speak(), POST /tts). Verbraucht Credits des Kanals, beim Erstellen nicht vorausgewählt |
| Subs lesen | subs:read | Aktuelle Sub-Zahl laut Twitch abfragen (pixl.subs(), GET /subs) und Änderungen live empfangen (subs.updated). Beim Erstellen nicht vorausgewählt |
| Musik lesen | spotify:read | Laufenden Spotify-Song abfragen (pixl.nowPlaying(), GET /spotify/now-playing) und Wechsel live empfangen (spotify.now_playing). Braucht das Modul Musik, beim Erstellen nicht vorausgewählt |
pixl.org() bzw. GET /org geht mit jedem Schlüssel und verrät auch dessen Scopes.
Fehlt ein Recht, antworten HTTP-Aufrufe mit 403 und einer Meldung, welches Recht fehlt. Im Live-Stream kommen die entsprechenden Nachrichten einfach nicht an: Ohne tts:read kommen z.B. keine vorgelesenen Texte an.
Rechte ändern
Über den Stift neben einem Schlüssel änderst du seine Rechte. Das gilt sofort: HTTP-Aufrufe prüfen bei jeder Anfrage neu, offene Live-Verbindungen werden kurz getrennt und verbinden sich mit den neuen Rechten wieder. Das SDK macht das automatisch, dein Widget merkt höchstens kurz den Status disconnected.
Wer darf Schlüssel verwalten?
Owner und Admins immer. Andere Mitglieder brauchen das Recht API-Schlüssel verwalten, das du unter Mitglieder vergibst.
Schlüssel gehören dem Kanal, nicht der Person, die sie angelegt hat. Verlässt jemand den Kanal, funktionieren seine Schlüssel weiter.
Schlüssel löschen
Ein gelöschter Schlüssel funktioniert sofort nicht mehr. Offene Verbindungen werden getrennt, das SDK meldet dann den Status unauthorized und versucht es nicht erneut.
Sicherheit
Wer deinen Schlüssel hat, kann alle Events deines Kanals mitlesen, also z.B. wer wann wie viele Subs oder Bits geschickt hat. Behandle ihn wie ein Passwort.
- Zeig den Code deines Widgets nicht im Stream. Bei StreamElements ist der Schlüssel in einem Feld des Widgets gut aufgehoben, das sieht nur, wer Zugriff auf dein StreamElements-Konto hat.
- Nimm pro Einsatzort einen eigenen Schlüssel. Taucht einer irgendwo auf, wo er nicht hingehört, löschst du nur diesen und der Rest läuft weiter.
- Pro Schlüssel sind 120 Anfragen pro Minute erlaubt. Ein Widget stellt beim Laden ein paar Anfragen und hängt danach nur noch an der Live-Verbindung, das reicht locker.
© 2026 pixl