73.8M 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.
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.
The full schedule in Asia/Kuala_Lumpur time, what is on now and next, and the same data in your app with one call. Search any past day on the Archive plan.
All times Asia/Kuala_Lumpur. The same day from the API: GET /v1/channels/ch_5fce3pf0/schedule?date=2026-10-18&tz=Asia/Kuala_Lumpur
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | DarkA young graphic designer moves into a house with a dark past and soon finds himself trapped in a terrifying supernatural nightmare following a shoc... | 2h | ||
| 02:00 | 2 IN 1 Ep299A musical show that features songs from Kollywood movies. | 30m | ||
| 02:30 | Hit List Ep246Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 03:00 | Karuppu PulsarThe lives of a Pulsar owner and a man with a bull named Karuppu collide when a series of mysterious crimes surface, leaving the black motorcycle at... | 2h | ||
| 05:00 | 2 IN 1 Ep407A musical show that features songs from Kollywood movies. | 30m | ||
| 05:30 | Hit List Ep296Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 06:00 | ArivaanA fierce cop is reassigned to a quiet town after a controversial incident. When a shocking murder shatters the peace, he uncovers dark secrets whil... | 2h | ||
| 08:00 | 2 IN 1 Ep334A musical show that features songs from Kollywood movies. | 30m | ||
| 08:30 | Hit List Ep384Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 09:00 | ArulvaanA determined young girl from a remote hill tribe embarks on a journey to meet the district collector, believing he can help bring a much needed sch... | 2h | ||
| 11:00 | 2 IN 1 Ep341A musical show that features songs from Kollywood movies. | 30m | ||
| 11:30 | Hit List Ep354Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 12:00 | DarkA young graphic designer moves into a house with a dark past and soon finds himself trapped in a terrifying supernatural nightmare following a shoc... | 2h | ||
| 14:00 | 2 IN 1 Ep354A musical show that features songs from Kollywood movies. | 30m | ||
| 14:30 | Hit List Ep441Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 15:00 | Karuppu PulsarThe lives of a Pulsar owner and a man with a bull named Karuppu collide when a series of mysterious crimes surface, leaving the black motorcycle at... | 2h | ||
| 17:00 | 2 IN 1 Ep329A musical show that features songs from Kollywood movies. | 30m | ||
| 17:30 | Hit List Ep420Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 18:00 | ArivaanA fierce cop is reassigned to a quiet town after a controversial incident. When a shocking murder shatters the peace, he uncovers dark secrets whil... | 1h 55m | ||
| 19:55 | Yang Sudi Tinggal Ep01From national athlete to educator, discover Emily's story and how Astro is changing her future. | 5m | ||
| 20:00 | 2 IN 1 Ep375A musical show that features songs from Kollywood movies. | 30m | ||
| 20:30 | Hit List Ep371Tune in to this entertaining show for the film songs and music reviews. | 30m | ||
| 21:00 | ArulvaanA determined young girl from a remote hill tribe embarks on a journey to meet the district collector, believing he can help bring a much needed sch... | 2h | ||
| 23:00 | 2 IN 1 Ep338A musical show that features songs from Kollywood movies. | 30m | ||
| 23:30 | Hit List Ep413Tune in to this entertaining show for the film songs and music reviews. | 30m |
Copy, add your key, run. The free key reads yesterday and today on every channel, 500 calls a day.
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5fce3pf0/schedule?date=2026-10-18&tz=Asia/Kuala_Lumpur" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5fce3pf0/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_5fce3pf0/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_5fce3pf0/schedule?date=2026-10-18&tz=Asia/Kuala_Lumpur"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("TVG_KEY")], ]); foreach (json_decode(curl_exec($ch), true)["data"] as $slot) { echo $slot["start"], " ", $slot["title"], "\n"; }
const r = await fetch("https://api.tvguideapi.com/v1/channels/ch_5fce3pf0/schedule?date=2026-10-18&tz=Asia/Kuala_Lumpur", { headers: { Authorization: `Bearer ${process.env.TVG_KEY}` }, }); const { data } = await r.json(); data.forEach(s => console.log(s.start, s.title, s.flags.live ? "LIVE" : ""));
import os, requests r = requests.get( "https://api.tvguideapi.com/v1/channels/ch_5fce3pf0/schedule", params={"date": "2026-10-18", "tz": "Asia/Kuala_Lumpur"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_5fce3pf0/schedule?date=2026-10-18, the first programme { "data": [ { "id": "ls_kngvjw0x", "channel": "ch_5fce3pf0", "start": "2026-10-17T16:00:00Z", "stop": "2026-10-17T18:00:00Z", "title": "Dark", "sub_title": null, "description": "A young graphic designer moves into a house with a dark past and soon finds h...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 25, "date": "2026-10-18", "tz": "Asia/Kuala_Lumpur" } }
What was on, on any date we hold: for research, catch-up, clip finding or proving a broadcast. Any window up to 31 days with /v1/channels/{id}/history on the Archive plan.
| Time | Monday 13 October 2025 | Category |
|---|---|---|
| Nothing held for that day. Try another date. | ||
8 calls cover a channel from its details to its past. Each one opens in the documentation with Try it.
A free key in a minute, with Google. No card. Yesterday and today on every channel in 150 countries.