Tunarr’s REST API gives you programmatic access to every feature the web UI exposes—managing channels, syncing media sources, reading TV-guide data, triggering background tasks, and more. All endpoints live under theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/chrisbenincasa/tunarr/llms.txt
Use this file to discover all available pages before exploring further.
/api prefix and speak JSON, making them easy to call from shell scripts, home-automation platforms, or any HTTP client.
Base URL
All API requests are relative to your Tunarr server’s address. By default Tunarr listens on port8000:
Authentication
Tunarr does not require authentication by default. No API keys, tokens, or login headers are needed when the server is running in its standard local configuration. Simply send requests directly to the server.
Content Types
- Request bodies must be sent with
Content-Type: application/json. - Response bodies are JSON unless the endpoint explicitly returns another format (e.g.,
text/plainfor M3U playlists,application/xmlfor the XMLTV feed,video/MP2Tfor MPEG-TS streams).
Pagination
Several list endpoints support offset-based pagination via query string parameters:| Parameter | Type | Default | Description |
|---|---|---|---|
offset | integer | 0 | Number of records to skip |
limit | integer | varies | Maximum number of records to return |
| Field | Type | Description |
|---|---|---|
total | integer | Total number of records in the data set |
size | integer | Number of records in this response |
result | array | The page of records |
Common Error Shapes
Tunarr returns standard HTTP status codes. Error bodies, when present, follow this shape:| Status | Meaning |
|---|---|
200 | Success |
201 | Resource created |
202 | Request accepted (async background task enqueued) |
204 | Success with no body |
400 | Bad request — invalid parameters or body |
404 | Resource not found |
500 | Internal server error |
Interactive API Reference
An interactive Scalar API reference is available at:Resource Groups
Channels
Create and manage virtual TV channels, get M3U playlists, and start video streams.
Media Sources
Connect Plex, Jellyfin, and Emby servers; manage libraries and scan progress.
Programming
Read and update channel lineups; apply time-slot and random-slot schedules.
Guide
Fetch EPG data for all channels or a single channel; download the XMLTV feed.
Library
Manage filler lists and custom shows used across channels.
System
Run background tasks, configure FFmpeg, and check server health.
