All API endpoints require authentication. External clients (mobile apps, scripts, etc.) should use the MediaBrowser token format in the Authorization header.
MediaBrowser Token Format
Use the Authorization header with the following structure:
Authorization: MediaBrowser Token="<access-token>"
You can also include optional metadata for better tracking:
Authorization: MediaBrowser Client="MyApp", Device="iPhone", DeviceId="abc123", Version="1.0.0", Token="<access-token>"
Parameter Reference
| Parameter | Required | Description |
|---|
Token | Yes | Jellyfin access token from AuthenticationResult.AccessToken |
Client | No | Client application name |
Device | No | Device name |
DeviceId | No | Unique device identifier |
Version | No | Client version |
Obtaining a Token
To get a token, authenticate against your Jellyfin server's /Users/AuthenticateByName endpoint:
curl -X POST "https://your-jellyfin-server/Users/AuthenticateByName" \
-H "Content-Type: application/json" \
-d '{"Username": "your-username", "Pw": "your-password"}'
The response will contain an AccessToken. Use this value in the Token parameter of your Streamystats requests.