Watch on VseeBox API

Read-only JSON data about what you can watch on VseeBox: the Heat VOD and VOD Ultra apps (100,000+ movies and TV series, with IMDb, Rotten Tomatoes and Metacritic scores, languages and cast) and Heat Live TV (1,700+ channels with their channel numbers, the program guide, and sports games).

  • No key needed. GET requests only; responses are JSON (UTF-8).
  • Rate limit: 120 requests a minute per IP address. Over it you get HTTP 429 with a Retry-After header.
  • Errors look like {"error": {"status": 400, "message": "..."}}.
  • Every title and channel has links.page (its page on watchonvseebox.com) to show people, and titles have links.api for the full record.
  • CORS is open, so browser apps can call it. Adult titles are never included.
  • Data is refreshed daily (see /api/v1/meta). Ratings come from IMDb's datasets, Wikidata and Rotten Tomatoes; posters from TMDB and the streaming services. Not affiliated with VseeBox or HeatVOD.

Using it from an AI agent

Point the agent at https://watchonvseebox.com/llms.txt (a plain-text guide to the API) or load https://watchonvseebox.com/api/v1/openapi.json as a tool definition (ChatGPT custom GPT actions, LangChain or any OpenAPI-aware framework). Each endpoint has an operationId the agent can call by name.

GET/api/v1/titles

Search and filter the catalog. Movies and series in the Heat VOD and VOD Ultra apps. Full-text search over titles, original titles and cast, plus filters. 48 results a page.

ParameterTypeDescription
qstringWords to search for: a title or cast name ("tom hanks")
typestringmovie or show
genrestringOne or more genres, comma separated (see /api/v1/genres)
genre_modestringany (default: in any of the genres) or all
langstringOriginal language codes, comma separated (en, ko, es...)
year_minintegerReleased in or after this year
year_maxintegerReleased in or before this year
imdb_minnumberMinimum IMDb rating, 0-10
rt_minintegerMinimum Rotten Tomatoes score, 0-100
votes_minintegerMinimum number of IMDb votes
sortstringrelevance (default with q), popular (default without), imdb, rt, year, title
excludestringTitles to leave out, e.g. ones already seen or already suggested: comma separated and/or repeated, up to 200. Each is an IMDb id (tt0111161), a type and slug (movie/inception-2010), a page URL, or an exact title ("The Matrix", any case; matches every title with that name). Use an id or slug for titles that contain commas.
pageintegerPage number, from 1

Examplecurl 'https://watchonvseebox.com/api/v1/titles?type=movie&genre=Science+Fiction&sort=imdb&exclude=movie/inception-2010,tt0133093,Interstellar'

GET/api/v1/titles/{type}/{slug}

One title in full. Synopsis, cast, languages, which apps have it, and upcoming airings on Heat Live TV. The type and slug come from search results.

ParameterTypeDescription
type pathstringmovie or show
slug pathstringThe title's slug, e.g. inception-2010

Examplecurl 'https://watchonvseebox.com/api/v1/titles/movie/inception-2010'

GET/api/v1/genres

Genres and how many titles each has. Use the names as the genre filter in /api/v1/titles.

ParameterTypeDescription
typestringmovie or show; both when left out

Examplecurl 'https://watchonvseebox.com/api/v1/genres?type=show'

GET/api/v1/new

Titles recently added to the apps. Newest first, each with the date it first appeared. The apps are checked daily; tracking began 2026-11-14, so titles already in the apps then aren't listed.

ParameterTypeDescription
typestringmovie or show
pageintegerPage number, from 1
per_pageinteger1-100, default 48

Examplecurl 'https://watchonvseebox.com/api/v1/new?type=movie'

GET/api/v1/live/now

What's on Heat Live TV right now. Channels with what's on now and next. Times are UTC (ISO 8601). Channel numbers are the ones in the Heat Live app.

ParameterTypeDescription
qstringA channel name, number or call sign ("cnn", "37", "WBBM"), or a program on in the next 3 hours ("football")
categorystringsports, local, news, movies, entertainment, kids, latino, canadian, uk
pageintegerPage number, from 1
per_pageinteger1-200, default 50

Examplecurl 'https://watchonvseebox.com/api/v1/live/now?q=cnn'

GET/api/v1/live/channels/{slug}

A channel's schedule. Programs from now on. The slug comes from /api/v1/live/now results.

ParameterTypeDescription
slug pathstringThe channel's slug, e.g. cnn
hoursintegerHow far ahead, 1-72 (default 24)

Examplecurl 'https://watchonvseebox.com/api/v1/live/channels/cnn?hours=6'

GET/api/v1/sports/games

Upcoming and live games, with the channels showing them. From 6 hours ago onwards (so games in progress are included), with scores when the app has them.

ParameterTypeDescription
leaguestringnfl, nba, nhl, mlb, ncaaf, ncaab, mls

Examplecurl 'https://watchonvseebox.com/api/v1/sports/games?league=nfl'

GET/api/v1/meta

When the data was last updated, and title counts. The catalog and the live guide are refreshed daily.

Examplecurl 'https://watchonvseebox.com/api/v1/meta'