GGTV API v1
The API is read-only in version 1. Start with the capabilities document. It lists what this server supports, and a client can name the features it needs.
| Request | Returns |
|---|---|
GET /api/v1/capabilities | What this server supports. Add ?require=hls,mpegts to check named features. |
GET /api/v1/channels | Channels with a string id, and the radio station as kind "radio". |
GET /api/v1/channels/{id}/stream | Stream addresses for one channel: HLS, MPEG-TS and tuner. Starts nothing. |
GET /api/v1/guide?hours=N | Programs for the next 1 to 24 hours, per channel. |
GET /api/v1/now-playing | The program on air on each channel, and the radio track. |
Rules every client can rely on
- Channel ids are strings, for example "1". Program ids are opaque and stay the same for the same airing.
- Times are UTC ISO-8601 ending in Z.
- Local file paths are never returned.
- Stream addresses are relative to the server.
- Fields may be added in later versions, so clients ignore fields they do not know.
Errors
Every error has one shape: {"error": {"code": "...", "message": "..."}}. A version this server does not offer returns UNSUPPORTED_API_VERSION.
Client integration
Developers can read the full guide in the GGTV repository at docs/api/v1/README.md, with JSON Schemas in docs/api/v1/schemas. Those files are the contract that the Roku, webOS and Kodi clients are built against.
