Download a bulk file
One nightly bulk file, gzip, one JSON object a line. On the Complete plan.
Paid plansLive data
GEThttps://api.tvguideapi.com/v1/exports/{day}/{file}
Try itRuns the real call with your key
200 OK
Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
| day | path | string | required | The day, as listed. | 2026-10-20 |
| file | path | string | required | The file, as listed: a country code or ALL, then .jsonl.gz. | GB.jsonl.gz |
Request
curl -H "Authorization: Bearer $TVG_KEY" \ "https://api.tvguideapi.com/v1/exports/2026-10-20/GB.jsonl.gz"
$ch = curl_init("https://api.tvguideapi.com/v1/exports/2026-10-20/GB.jsonl.gz");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("TVG_KEY")],
]);
$answer = json_decode(curl_exec($ch), true);
const r = await fetch("https://api.tvguideapi.com/v1/exports/2026-10-20/GB.jsonl.gz", {
headers: { Authorization: `Bearer ${process.env.TVG_KEY}` },
});
const { data, meta } = await r.json();
import os, requests
r = requests.get(
"https://api.tvguideapi.com/v1/exports/2026-10-20/GB.jsonl.gz",
headers={"Authorization": f"Bearer {os.environ['TVG_KEY']}"},
)
data = r.json()["data"]
Sample response
{"country":"GB","id":"ls_k2m9q4ta","channel":"ch_9d4kq2ma","start":"2026-10-20T19:00:00Z","stop":"2026-10-20T19:30:00Z","title":"EastEnders",...}