72.1M 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 America/New_York time, what is on now and next, and the same data in your app with one call.
All times America/New_York. The same day from the API: GET /v1/channels/ch_v9e88jch/schedule?date=2026-10-10&tz=America/New_York
| Time | Programme | Episode | Category | Length |
|---|---|---|---|---|
| 23:23 | Combate Global 2023: Guzman vs CastilloCombate Global presents Santiago Guzman vs Ivan Castillo, Kristina Pettigrew vs Claudia Villalobos, and Noah Lindsey vs Chris Renteria. | 2h 41m | ||
| 02:04 | Combate Global 2022Combate Global presents Daniel Sanchez vs Angel Alvarez, Melissa Amaya vs Yessica Ortega, and Jimmy Sandlin vs Ruben Lozano. | Mexico vs USA | 1h 19m | |
| 03:23 | Combate Global 2022Combate Global presents Landry Ward vs Jair Perez, Maritza Sanchez vs Aitana Alvarez, and Mikey Reyes vs Rodrigo Garcia. | Perez vs Ward | 1h 36m | |
| 04:58 | Combate Global 2022Combate Global presents Sebas Santana Guedes vs Cristian Perez, Daniela Hernandez vs Diana Mendoza, and Chris Ocon vs Gerardo Graniel. | Perez vs Guedes | 1h 24m | |
| 06:22 | Combate Global 2022Combate Global presents Leonardo Morales vs Marlon Gonzalez, Yajaira Cunningham vs Kayla Hracho, and David Zelner vs Ramon Vizcarra. | Gonzalez vs Morales | 2h 6m | |
| 08:29 | Combate Global 2022Combate Global presents Marcus Edwards vs Leonardo Rodriguez, Jennifer Trioreau vs Gillian Noll, and Alfredo Lopez vs Martin Justiz. | Edwards vs Rodriguez | 2h 27m | |
| 10:55 | Combate Global 2022Combate Global presents Ivan Castillo vs Claudio Quintana, Mariel Celimen vs Tyler Schaefer, and Richie Palomino vs Hugo Flores. | Castillo vs Quintana | 1h 26m | |
| 12:21 | Combate Global 2022Combate Global presents Enzo Perez vs Luis Fernando Chavez, Collin Lubberts vs Marcos Lloreda, and Christian Barraza vs Ismael Zamora. | Zamora vs Barraza | 2h 23m | |
| 14:45 | Combate Global 2022Combate Global presents Andrea Meneses vs Daniela Hernandez, Jordan Beltran vs Tino Gilaranz, and Genier Penagos vs Jose Ferreira. | Hernandez vs Meneses | 2h 39m | |
| 17:24 | Combate Global 2022Combate Global presents Angel Alvarez vs Enrique Gonzalez, Alitzel Mariscal vs Shannon Goughary, and Alfrego Ruelas vs Simone Serra. | Gonzalez vs Alvarez | 2h 34m | |
| 19:58 | Combate Global 2022: Osuna vs SolorzanoCombate Global presents David Solorzano vs Axel Osuna, Mariah Castro vs Lupe Mateo, and Mauricio Cubillo vs Leo Muniz. | 2h 44m | ||
| 22:42 | Combate Global 2025Combate Global presents Kate Bacik vs Maritza Sanchez, Kenia Enriquez vs Hayley Valentine, Yazmín Nájera vs Wiktoria Wojciechowska and much more ac... | Combate Female | 2h 14m |
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_v9e88jch/schedule?date=2026-10-10&tz=America/New_York" # what is on now, and next curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_v9e88jch/now" # any past day (Archive plan) curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/channels/ch_v9e88jch/history?from=2026-10-05T00:00:00Z&to=2026-10-06T00:00:00Z"
$ch = curl_init("https://api.tvguideapi.com/v1/channels/ch_v9e88jch/schedule?date=2026-10-10&tz=America/New_York"); 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_v9e88jch/schedule?date=2026-10-10&tz=America/New_York", { 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_v9e88jch/schedule", params={"date": "2026-10-10", "tz": "America/New_York"}, headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"}, ) for slot in r.json()["data"]: print(slot["start"], slot["title"])
// GET /v1/channels/ch_v9e88jch/schedule?date=2026-10-10, the first programme { "data": [ { "id": "ls_3qhmbme3", "channel": "ch_v9e88jch", "start": "2026-10-10T03:23:15Z", "stop": "2026-10-10T06:04:09Z", "title": "Combate Global 2023: Guzman vs Castillo", "sub_title": null, "description": "Combate Global presents Santiago Guzman vs Ivan Castillo, Kristina Pettigrew ...", "category": [], "flags": { "new": false, "live": false } } ], "meta": { "count": 12, "date": "2026-10-10", "tz": "America/New_York" } }
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 155 countries.