Free key: real listings for yesterday and today, 500 calls a day, no card149 countriesGet yours in 30 seconds
tvguideapi

Last 30 days

API uptimefrom the monitorIncidentsfrom the monitor
All systems

Working normally

Checked every minute from outside our own servers.

Change feed

Every TV listing that moved, appeared or disappeared since a time you give, to keep your own copy of the guide in step.

Paid plansLive data
GEThttps://api.tvguideapi.com/v1/changes
Try itRuns the real call with your key
200 OK

Parameters

ParameterInTypeRequiredDescriptionExample
sincequerydatetimerequiredUTC; up to 7 days back.2026-10-07T00:00:00Z
countryquerylistoptionalCountry codes, ISO 3166-1 alpha-2, comma separated.GB
cursorquerystringoptionalThe cursor from the previous answer's meta.next. See Paging and fields.
Call again with since set to the previous answer's meta.until. A moved slot shows its old start in was.

Request

curl -H "Authorization: Bearer $TVG_KEY" \
  "https://api.tvguideapi.com/v1/changes?since=2026-10-07T00%3A00%3A00Z"

Sample response

{
    "data": [
        {
            "op": "moved",
            "id": "ls_shr78fcp",
            "channel": "ch_jw83a3xg",
            "start": "2026-10-07T22:40:00Z",
            "was": "2026-10-07T22:35:00Z"
        },
        {
            "op": "added",
            "channel": "ch_7qk3m2xa",
            "start": "2026-10-08T00:05:00Z",
            "title": "Late Football"
        }
    ],
    "meta": {
        "count": 2400,
        "next": "c_8f21a0",
        "took_ms": 41
    }
}

Errors