tvschedule.org

TV Schedule API documentation

Every channel's day and every show's slot, under one key

Listings for the week, every show and the pattern of when it airs, across 179 countries, as JSON over HTTPS. One key, one shape, the same ids everywhere and every time in UTC.

A channel's day200 OK
$ curl https://api.tvschedule.org/v1/channels/ch_jw83a3xg/schedule/yesterday
Endpoints16One shape for all of them
Countries179With channels and listings
MCP tools15For Claude, ChatGPT and Cursor
Free keyYesterdayReal rows on every channel

Start here

Three steps from nothing to a real answer. The key you paste is kept in this browser for every docs page.

1

Get a key

Sign in with Google. Your free key is made at once and shown on your account page.

Get a free key
2

Make the first call

Yesterday on one channel, with your key in the X-API-Key header.

Open the call
3

Read the answer

Rows in data, the count in meta, your limits in the headers.

Quick start

Your first call

Works on the free key

No key yet? Get a free key. It fills in here by itself once made.

https://api.tvschedule.org/v1/channels/ch_jw83a3xg/schedule/yesterday
Uses 1 call from your plan.
Calling

        

Subjects

Each subject has a guide that explains how its records link, and a page for every endpoint in it.

Listings

Free key: yesterday

A channel's day slot by slot, a whole country's day, and XMLTV for players. Times are UTC; pick the local day with tz.

GETA channel's schedule/v1/channels/{id}/schedule/{date} GETA country's schedule/v1/countries/{cc}/schedule/{date} GETXMLTV for a channel/v1/xmltv/channels/{id}

Shows

Live and Complete

Find a show by title, read what it is and where it airs in the days ahead, first runs told apart from repeats.

GETFind a show/v1/shows/search/{q} GETOne show/v1/shows/{id} GETWhere a show airs/v1/shows/{id}/airings

Popular calls

The calls people make most, from the API's own counts, each ready to open.

What it doesThe call
Every channel in a country for a day, 50 channels a page./v1/countries/US/schedule/yesterdayOpen
Yesterday on one channel, slot by slot/v1/channels/ch_jw83a3xg/schedule/yesterdayOpen
Every channel in a country and its id/v1/countries/US/channelsOpen
Find a show's id by title/v1/shows/search/EastEndersOpen
When a show usually airs, and how often it repeats/v1/shows/sh_sdkgxsfs/patternOpen

For assistants and agents

The same API as tools and one-file manuals, generated from the API itself so they always match it.

MCP server

Add it to Claude, ChatGPT, Cursor or Claude Code and sign in once. Your assistant reads with your plan.

https://tvschedule.org/mcp

The manual

Every endpoint, parameter and field in one markdown file, to paste into an assistant or a prompt.

https://tvschedule.org/documentation/manual.md

llms.txt and OpenAPI

The short index an assistant reads first, and the OpenAPI file for code generators and API tools.

https://tvschedule.org/llms.txt

Plans in short

Read from the same settings the API enforces. Prices and upgrades are on pricing; every limit is in plans and limits.

Free key
$0
  • Yesterday's listings and the directory
  • 30 calls a minute, 200 calls a day
  • 1 key
Live
$39 a month
  • 7 days back to 7 days ahead, shows, and 90 days of patterns and statistics
  • 120 calls a minute, 300,000 calls a month
  • 1 key
Complete
$79 a month
  • 7 days back to 7 days ahead, shows, and all time of patterns and statistics
  • 600 calls a minute, no monthly limit
  • 5 keys

What is new

The API opens: the directory, listings, shows, patterns and XMLTV, with the MCP server.
Free key: real listings for yesterday on every channel, and the whole directory.

Every change is in the changelog.

The rest

Questions people ask

Why does the free key only read yesterday?

It is real data to build and test against. Today and the week ahead are what live products pay for, on Live. See plans and limits.

Which time zone are the times in?

Every time is UTC with a Z. The tz parameter only chooses which local day is cut, so a UK evening is not split across two dates. See the listings guide.

Do ids change?

No. A channel or show id stays the same, so you can store it. Take ids from the directory and show search.

Can I use it from an assistant?

Yes. Add the MCP server to Claude, ChatGPT, Cursor or Claude Code; it reads with your plan. See the MCP guide.