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_eqh6dqc0/schedule?date=2026-10-16&tz=Asia/Kuala_Lumpur
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 00:00 | Signal 1203Signal 1203 – The Midnight Experience on REDfm\\\\n\\\\nGet ready for a brand-new late-night adventure with Signal 1203, your ultimate companion fr... | 6h | ||
| 06:00 | Morning Music 音乐早点《音乐早点》你最贴心的早间声音伴侣。我们不聊冗长的资讯,只精选最舒缓、最动听的旋律,配合清新的晨间絮语,为你卸去昨夜的疲惫,装满清晨的能量。无论你... | 4h | ||
| 10:00 | Midday Mix Part 1Playing you the best hits from the past to current hits, along with news, interviews and interesting topics. | 3h | ||
| 13:00 | MIDDAY MIX PART 2Our variety program for the afternoon. 1pm - 4pm. Great music, fun DJs and total entertainment for 3 hours!! | 3h | ||
| 16:00 | 音乐下午茶Teabreak星期一道星期六,下午4-5点,忙碌的午后,需要适时的暂停。《音乐下午茶》 是一档专为午后时光打造的治愈系音乐随笔节目。 | 1h | ||
| 17:00 | 下班开麦啦叮!下班铃声响起,属于你自己的时间正式开始。《下班开麦啦》是你在晚高峰通勤路上最懂你的“解压陪伴站”。告别繁琐的工作汇报和烦人的KPI,这里只有轻松搞笑... | 2h | ||
| 19:00 | Top 20 红人音乐流行榜谁是当下的乐坛顶流?哪首旋律正在席卷全网?这里是《红人音乐流行榜》,你的专属潮流音乐指南!我们实时追踪全网音乐风云,精选最热打榜单曲、爆款网络红人... | 2h | ||
| 21:00 | After 9 (REDfm English)Our nightly program, full of variety and information and it seques into total control live at 10pm. | 1h | ||
| 22:00 | Total ControlA request program featured on After 9 every night. Starting at 10:15pm till midnight.Monday - Country Bar,Tuesday - All that Jazz, Wednesday - Juke... | 2h |
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_eqh6dqc0/schedule?date=2026-10-16&tz=Asia/Kuala_Lumpur" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_eqh6dqc0/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_eqh6dqc0/history?from=2025-10-13T00:00:00Z&to=2025-10-14T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_eqh6dqc0/schedule?date=2026-10-16&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_eqh6dqc0/schedule?date=2026-10-16&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_eqh6dqc0/schedule", params={"date": "2026-10-16", "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_eqh6dqc0/schedule?date=2026-10-16, the first programme { "data": [ { "id": "ls_dx1s67pm", "channel": "ch_eqh6dqc0", "start": "2026-10-15T16:00:00Z", "stop": "2026-10-15T22:00:00Z", "title": "Signal 1203", "sub_title": null, "description": "Signal 1203 – The Midnight Experience on REDfm\\\\\\\\n\\\\\\\\nGet ready for a brand...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 9, "date": "2026-10-16", "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.