133.5M listings
Every country's schedule under one key, one shape and one set of ids.
GET /v1/now
What every channel in a country is showing this minute, with the next programme after it. On the Live plan; the free key reads yesterday.
MIT, no lock-in
Every lab tool reads only the public API with your own key, so it runs on the free key.
Working normally
Checked every minute from outside our own servers.
4 channels with what is on now, the sport worth knowing about this week, and the endpoints that give you every slot. Times are Indian/Reunion.
Counted from our own listings every hour. The detail behind each figure is one API call away.
Every call below answers for Reunion as shown. The Free key reads yesterday; the plans add today, the days ahead, changes and the archive.
| Endpoint | What it returns | Plan | |
|---|---|---|---|
| GET /v1/countries/RE/channels | Every TV channel in one country, ordered the way its own guides list them, with ids, names, logos and categories. | Free key | Docs |
| GET /v1/countries/RE/now | What is on now on every TV channel in a country, with what comes next, in one call. | Live and above | Docs |
| GET /v1/countries/RE/tonight | Prime time tonight on every TV channel in a country, from the local hour you choose, in one grid. | Live and above | Docs |
| GET /v1/countries/RE/coverage | How full the TV data is for a country on a day: the share of programmes with a description, category, episode number and more. | Free key | Docs |
| GET /v1/guide | A TV guide grid for up to 50 channels over a window you choose, every slot with its times in UTC, ready to draw. | Free key | Docs |
| GET /v1/channels/{id}/schedule | A TV channel's day slot by slot: start and stop in UTC, title, description, category, and the series and episode where we matched it. | Free key | Docs |
| GET /v1/events?country=RE | Sports events on TV by sport, league and day, in every country or only those on air where you are. | Live and above | Docs |
| GET /v1/changes?country=RE | Every TV listing that moved, appeared or disappeared since a time you give, to keep your own copy of the guide in step. | Live and above | Docs |
| GET /v1/channels/{id}/history | Past schedules for a TV channel from the archive, slot by slot over any window of up to 31 days, with the same fields as today. | Archive | Docs |
| GET /v1/xmltv?country=RE | A country or a set of channels as a standard XMLTV file, up to 14 days ahead, for media centres and IPTV players. | Live and above | Docs |
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/countries/RE/now"
$ctx = stream_context_create(["http" => ["header" => "Authorization: Bearer " . getenv("TVG_KEY")]]); $r = json_decode(file_get_contents("https://api.tvguideapi.com/v1/countries/RE/now", false, $ctx), true); foreach ($r["data"] as $c) echo $c["channel"], " ", $c["now"]["title"] ?? "", "\n";
const r = await fetch("https://api.tvguideapi.com/v1/countries/RE/now", { headers: { Authorization: `Bearer ${process.env.TVG_KEY}` } }); for (const c of (await r.json()).data) console.log(c.channel, c.now?.title);
import os, requests r = requests.get("https://api.tvguideapi.com/v1/countries/RE/now", headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}) for c in r.json()["data"]: print(c["channel"], (c["now"] or {}).get("title"))
// GET /v1/countries/RE/now, one channel, in short { "data": [ { "channel": "ch_eyn8sj84", "now": { "start": "2026-11-02T19:45:00Z", "stop": "2026-11-02T21:18:00Z", "title": "Echappées belles", "progress": 0.44 }, "next": { "start": "2026-11-02T21:18:00Z", "title": "Justice en France" } } ], "meta": { "count": 6, "at": "2026-11-02T20:31:12Z" } }
The key competitions first, then the rest with a named competition. Every event and every channel is GET /v1/events?country=RE.
| Kick-off | Event | Competition | Channels | Showing |
|---|---|---|---|---|
| No sport listed for Reunion this week yet. | ||||
By category and by owner, from the channel registry.
The TV guide for Reunion covers 4 channels, 6 of them with a schedule today, and most of its main channels run 3 days ahead. Every time on this page is Indian/Reunion, and its listings history reaches back to 2025.
Most of Reunion's channels are general and entertainment channels, and the biggest owners are Jean-Claude Coindin, France Televisions and Thierry Araye.
Developers get the same data from the TV Guide API: every channel in Reunion with GET /v1/countries/RE/channels, what is on now with GET /v1/countries/RE/now, and a full day with GET /v1/guide?country=RE.
We list 4 channels in Reunion, 6 of them with a schedule today.
Most of its main channels have listings 3 days ahead; some go further.
This page shows Indian/Reunion. The API returns UTC and converts to any time zone you pass.
With a TV Guide API key: GET /v1/countries/RE/now for what is on now, or GET /v1/guide?country=RE for a whole day. The free key reads yesterday.
Every country has one page like this one. Channel by channel detail lives in the API: every country.