Browser extension for Twitch

PluralChat

PluralChat is a browser extension that displays system and member information locally. It never edits Twitch chat messages it simply adds information for viewers who have the extension installed.

Local rendering

Twitch messages remain normal. PluralChat adds context locally for users who have the extension.

System profiles

Publish system and member information so viewers can see who is speaking.

Twitch verification

Claim a Twitch username by placing a generated verification code in your Twitch About/Bio, then remove it after verification.

Documentation

Setup steps

Use these steps after installing the extension.

  1. Install PluralChat using the download link.
  2. Open the extension's Options page.
Note: If you only want to view other people's PluralChat systems on Twitch, you're done. No account or setup is required. The remaining steps are only needed if you want to create and manage your own PluralChat system.
  1. Enter your Twitch username exactly as it appears on Twitch.
  2. Start verification to generate your PluralChat verification code.
  3. Add the verification code to your Twitch About section or Bio, then return to the extension and complete verification.
  4. Save your recovery key somewhere safe. You'll need it whenever you want to edit or recover your system.
  5. Create your system and add members, including names, pronouns, colours, avatars, and proxy information.
  6. Publish your system so other PluralChat users can view your public system information.

Browser setup

After installing, pin the extension and open the Options page.

Keep your recovery key safe

Your recovery key is used to make future edits. Do not post it publicly or share it with people you do not trust.

Developer documentation

PluralChat API

The PluralChat API provides public system data, synchronisation routes, Twitch ownership verification, and authenticated system-management endpoints.

Base URL https://api.pluralchat.online
Public data only: Public endpoints return information that a system owner has chosen to publish. Recovery keys and private management data are never returned by public endpoints.

Public endpoints

No authentication is required.

GET /health

Checks whether the PluralChat API is online.

Example response

{
  "ok": true
}
GET /api/system/:login

Returns the public PluralChat system published for a Twitch login.

:loginThe Twitch username without the @ symbol.

Example request

GET https://api.pluralchat.online/api/system/issy_vt

Example response

{
  "twitch_login": "issy_vt",
  "name": "The Litter",
  "description": "A published PluralChat system.",
  "public_id": "PC-XXXXXX",
  "members": [
    {
      "name": "Isabella",
      "pronouns": "She/Her",
      "avatar_url": "https://example.com/avatar.png",
      "color": "#9146ff",
      "member_id": "PCM-XXXXXX",
      "proxies": [
        {
          "prefix": "[",
          "suffix": "]"
        }
      ]
    }
  ]
}
200 System found 304 Cached system is still current 404 No public system found
GET /api/systems/index

Returns the index of Twitch logins that currently have public PluralChat systems. The extension uses this to avoid unnecessary individual lookups.

Example response

{
  "version": 123,
  "logins": [
    "issy_vt",
    "example_user"
  ]
}
200 Index returned 304 Cached index is still current
GET /api/systems/delta?since=:version

Returns public systems that changed or were removed after a known public-data version.

sinceThe last delta version stored by the client.

Example request

GET https://api.pluralchat.online/api/systems/delta?since=123

Example response

{
  "version": 124,
  "changed": [
    "issy_vt"
  ],
  "removed": []
}

Claim and verification

These routes prove ownership of a Twitch username.

POST /api/claim/start

Starts Twitch ownership verification and returns a temporary code that must be placed in the user's Twitch About section or Bio.

Request body

{
  "username": "issy_vt"
}

Typical response

{
  "code": "PC-VERIFY-XXXXXX",
  "instructions": "Add this code to your Twitch About section, then complete verification."
}
POST /api/claim/verify

Checks the Twitch profile for the verification code and returns a recovery key when verification succeeds.

Request body

{
  "username": "issy_vt"
}
200 Verification successful 400 Verification code is missing or invalid 409 Twitch username is already verified
POST /api/claim/recover

Authenticates an existing claimed username using its recovery key.

Required header

X-Recovery-Key: your-recovery-key

Request body

{
  "username": "issy_vt"
}

Private management endpoints

These routes require the matching recovery key.

GET /api/private/:login

Returns the private editable system data for the claimed Twitch login.

Required header

X-Recovery-Key: your-recovery-key
PUT /api/private/:login/system

Creates or updates the system, members, biographies, avatars, colours, ordering, and proxy rules for the claimed Twitch login.

Required headers

X-Recovery-Key: your-recovery-key
Content-Type: application/json
DELETE /api/system/:login

Removes the published system for the claimed Twitch login.

Required header

X-Recovery-Key: your-recovery-key

Authentication

Private routes use the recovery key generated during verification.

Send the recovery key in the following request header:

X-Recovery-Key: your-recovery-key

Never include recovery keys in public source code, screenshots, stream overlays, URLs, or support messages.

Common status codes

Responses use standard HTTP status codes and usually include a JSON error code or message.

200The request completed successfully.
201A new resource was created successfully.
304The requested resource has not changed. Continue using the cached copy.
400The request was invalid or contained missing or malformed data.
401Authentication is required or no recovery key was supplied.
403The supplied recovery key is invalid or does not permit access.
404The requested resource could not be found.
409The request conflicts with an existing resource, such as an already verified Twitch username.
429Too many requests were received in a short period. Please try again later.
500An unexpected server error occurred while processing the request.

Download

Get PluralChat

Use the browser extension to view and publish PluralChat system information.

Download PluralChat

Select your browser below.

OBS Browser Source

Stream chat with PluralChat

PluralChat includes an optional OBS Browser Source that lets you display Twitch chat with PluralChat member information directly on your stream.

How it works

The PluralChat OBS Overlay connects directly to Twitch chat and displays messages in real time.

When someone with a published PluralChat system sends a message, their member name, pronouns, avatar and colours are shown alongside their chat message. Messages from everyone else are displayed as standard Twitch chat, allowing PluralChat and regular chatters to appear together seamlessly.

Getting started

  1. Create an OBS Custom Browser Dock using:
    https://api.pluralchat.online/overlay/chat
  2. Sign in with Twitch when prompted.
  3. Enter the Twitch channel you want to join.
  4. Use the built-in chat box to send messages without leaving OBS.
  5. Click a username to open either the PluralChat member card or the Twitch moderation card.

Adding chat to your stream

Add a Browser Source to your OBS scene using:

https://api.pluralchat.online/overlay/chat?channel=ChannelNameHere&chatonly=1

Replace ChannelNameHere with your Twitch channel name. This displays a clean, read-only chat overlay with no controls, making it ideal for livestreams.

Privacy: When using the interactive OBS overlay, you sign in with Twitch so PluralChat can send chat messages and perform moderation actions on your behalf.

Your Twitch access and refresh tokens are stored only in the PluralChat server's memory (RAM) for the duration of your active session. They are never written to the database, configuration files or log files, and are automatically removed when you log out or the server is restarted.

PluralChat never stores your Twitch password.

Support

Need help?

Follow the setup guide, verify your Twitch account, and make sure your system has been published. If you're still having trouble, the documentation includes troubleshooting guides and answers to common questions.

Privacy

Privacy Policy

Last updated: 21 July 2026

PluralChat is designed to display PluralChat system and member information on Twitch. We collect only the information needed to provide this functionality.

Information we collect

  • Twitch usernames entered during setup.
  • PluralChat recovery keys, stored locally in your browser unless you choose to publish changes.
  • System and member information that you choose to publish, including names, pronouns, avatars, colours and proxy settings.
  • If you use the OBS Chat Dock, temporary Twitch authentication data required to keep you signed in during your session.

How we use your information

  • Verify ownership of Twitch accounts.
  • Retrieve and publish PluralChat systems.
  • Store settings and cached data locally for performance.
  • Provide OBS Chat Dock functionality, including sending chat messages and moderation actions on your behalf while you are signed in.

Data sharing

We do not sell your personal data or share it with third parties except where required to operate the PluralChat service.

Local storage

The PluralChat extension stores settings, setup progress, recovery keys and cached system data locally in your browser. The OBS Chat Dock may also remember the last Twitch channel you joined.

OBS authentication

When you use the OBS Chat Dock, your Twitch authentication details are kept only in the PluralChat server's memory (RAM) for the duration of your active session.

This information is never written to a database, configuration file, disk cache or log file, and is permanently discarded when you sign out, your session expires, or the server restarts.

PluralChat never stores your Twitch password and does not retain a permanent copy of your OAuth access or refresh tokens.

Your choices

You can reset setup, delete your published system, clear locally stored data, sign out of the OBS Chat Dock, or stop using PluralChat at any time.

Contact

For privacy questions, contact the PluralChat project maintainers.