Use with your AI
Use this catalogue with your AI
Hand this site to your assistant and ask it about television opening titles — 3,195 shows and 3,416 distinct openings, every one with what changed and where to watch it. Free, no key, no sign-up.
Ask it things like
“What does the opening of The Sopranos actually show?”
answered by get_show
“Which shows rebuilt their opening titles the most?”
answered by list_shows
“Which title sequences run longer than two minutes?”
answered by list_sequences
“What changed in Game of Thrones' titles between seasons?”
answered by get_show
“Find me a 1970s crime show whose titles I can watch now.”
answered by list_shows
“Which openings are rotoscoped or hand-drawn?”
answered by search_shows
Your assistant does the looking up itself, mid-conversation, and can give you the link to watch. It works because this site publishes the catalogue in a form software can read — and there is nothing to sign up for.
Set it up by pasting one prompt
Find your assistant, press Copy prompt, and paste it into a conversation with it. Each prompt carries the whole setup — where the server is, that there is nothing to sign in with, what it can do, and the things about this catalogue it should not get wrong. Most assistants will do the rest themselves.
Nothing to authenticate with. No API key, token, OAuth or sign-in — and none is accepted. If a setup form asks for a credential, leave it blank. The server is public and read-only, so there is nothing to protect.
ChatGPT
Custom connectors stay hidden until developer mode is on.
Read it first (25 lines)
I want to connect you to a public MCP server called TVTitles. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
The address is: https://www.tvtitles.net/api/mcp
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
Custom MCP connectors are hidden until developer mode is enabled in settings. Please walk me through turning that on and adding this connector, then confirm it works by calling list_genres.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Gemini
Five conditions of Google's: personal account, Activity on, English, 18+, US.
Read it first (27 lines)
I want to connect you to a public MCP server called TVTitles. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
The address is: https://www.tvtitles.net/api/mcp
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
Before we start, please check these with me one at a time, because Google requires all five and none can be worked around. I would rather hear which one I fail than go looking for a menu that is not there: (1) signed in with a PERSONAL Google account, not a work or school one; (2) "Keep Activity" switched on — custom apps are unavailable while it is off; (3) 18 or over; (4) in the US; (5) using Gemini in English.
Then: custom apps can only be CONNECTED in the Gemini web app at gemini.google.com, under Settings and Connected apps, where a custom app takes an MCP server URL. Once it is connected it works in the mobile app too. Please walk me through that and then confirm by calling list_genres.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Claude desktop or claude.ai
Connectors are added in settings, so ask it to walk you through.
Read it first (25 lines)
I want to connect you to a public MCP server called TVTitles. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
The address is: https://www.tvtitles.net/api/mcp
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
Please tell me where to add this in my settings — I believe it is Settings, then Connectors, then "Add custom connector" — and then confirm it is connected by calling list_genres.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.VS Code or GitHub Copilot
A different config shape from Cursor's — the root key and the type are not the same.
Read it first (36 lines)
Please connect yourself to the TVTitles MCP server. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
Add this to .vscode/mcp.json in this workspace — create the file if it does not exist, and merge into "servers" if it does rather than overwriting what is already there:
{
"servers": {
"tvtitles": {
"type": "http",
"url": "https://www.tvtitles.net/api/mcp"
}
}
}
Note the shape: VS Code keys this object "servers" and needs an explicit "type": "http". Cursor uses "mcpServers" and infers the transport. They look interchangeable and are not — the wrong root key gives an editor that starts cleanly and lists no tools at all.
Then reload the window and confirm by calling list_genres.
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Claude Code
It can run the setup command itself.
Read it first (28 lines)
Please connect yourself to the TVTitles MCP server, then confirm it worked. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
Run this:
claude mcp add --transport http tvtitles https://www.tvtitles.net/api/mcp
(Add --scope user to make it available in every project.)
Then call its list_genres tool and tell me what came back.
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Cursor or Windsurf
It can write the config file itself.
Read it first (33 lines)
Please connect yourself to the TVTitles MCP server. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
Add this to ~/.cursor/mcp.json — create the file if it does not exist, and merge into "mcpServers" if it does rather than overwriting what is already there:
{
"mcpServers": {
"tvtitles": {
"url": "https://www.tvtitles.net/api/mcp"
}
}
}
Then tell me to restart the editor. (Windsurf uses the same shape in its own config file.)
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Grok
Custom connectors live at grok.com/connectors.
Read it first (25 lines)
I want to connect you to a public MCP server called TVTitles. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
The address is: https://www.tvtitles.net/api/mcp
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
Grok takes custom MCP servers at grok.com/connectors — New connector, then Custom, then paste the address. The web app has taken these on the free tier since late July 2026, so a paid plan is not needed for this; xAI's CLI and API routes are a different matter. Please walk me through it and confirm by calling list_genres.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Perplexity
Paid plans, and in the app rather than the Comet browser.
Read it first (25 lines)
I want to connect you to a public MCP server called TVTitles. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
The address is: https://www.tvtitles.net/api/mcp
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
Perplexity takes custom connectors on its paid plans — Pro, Max or Enterprise — under Settings, then Connectors, then a custom connector taking an MCP server URL. Two things to know before we start: the Comet browser does NOT take custom connectors, only Perplexity's own catalogue, so use the web or desktop app; and if there is no custom option at all, the plan is the reason rather than this server. Please walk me through it and confirm by calling list_genres.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Meta Muse
Muse builds a custom connector from the API description.
Read it first (29 lines)
Please create a Custom Connector for TVTitles. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
MCP endpoint (JSON-RPC over HTTP POST): https://www.tvtitles.net/api/mcp
API description, self-documenting: https://www.tvtitles.net/api/v1
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
A GET to the MCP endpoint returns 405 with a JSON body explaining how to call it — that is correct, not a failure. The GET stream was removed from the MCP transport in protocol revision 2026-07-28. Send a POST.
To test the connection, POST this exact body to the MCP endpoint with content-type application/json:
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.Any assistant that cannot do MCP
Most chat apps. The REST API needs nothing but the ability to fetch a URL.
Read it first (29 lines)
Use the TVTitles API when I ask you about television opening titles or theme tunes. TVTitles is a catalogue of television opening title sequences — 3195 shows and 3416 distinct openings, with a separate entry for every season whose titles actually changed.
It is an ordinary JSON API over HTTP GET, and it needs no MCP support. Start here, which documents every endpoint and its parameters: https://www.tvtitles.net/api/v1
There is no authentication: no API key, no token, no OAuth, no sign-in. Do not send an Authorization header, and if a setup form asks for a credential, leave it blank.
The ones you will want most:
- https://www.tvtitles.net/api/v1/search?q=QUERY — find a show by name, or find openings by what they do.
- https://www.tvtitles.net/api/v1/shows/SLUG — one show, with every opening it used and a link to each video.
- https://www.tvtitles.net/api/v1/shows?genre=crime&decade=1990s — browse; every filter is listed in the index.
- https://www.tvtitles.net/api/v1/sequences?minSeconds=120 — openings by runtime, decade or genre.
What it gives you:
- search_shows — Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
- list_shows — Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
- get_show — One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
- list_sequences — Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
- list_genres — The seven genres this catalogue uses, and how many shows are in each.
- list_franchises — Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
- random_show — One show at random from those with watchable footage, optionally within a genre.
Five things to be accurate about:
1. A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
2. A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
3. A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
4. Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
5. The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
Every object carries a "url" field pointing at the page it came from. Link to it when you quote something, and attribute it to TVTitles.What it can do
search_shows
Find shows, sequences, franchises and networks by name or by what the titles do. Sequence notes are indexed, so "rotoscoped" or "cast cards" finds the openings that do it.
list_shows
Browse the catalogue by genre, decade, network, franchise or first letter, optionally only shows whose titles changed or that have watchable footage.
get_show
One show in full: every distinct opening it used, which seasons each covers, what changed, how long it runs, and a link to the video on its original host.
list_sequences
Every opening as its own row, filtered by decade, genre or runtime — the list that answers "which openings run over two minutes".
list_genres
The seven genres this catalogue uses, and how many shows are in each.
list_franchises
Runs that share a universe and usually a title theme — Star Trek, Law & Order — with their member shows.
random_show
One show at random from those with watchable footage, optionally within a genre.
What to get right
Five things a machine cannot see in the data, which is why each is a field as well as a sentence. They travel inside every prompt above, in the tool descriptions, and in /llms.txt.
- A sequence is either the show's opening TITLES or its THEME MUSIC. The "kind" field says which. "theme" means the show has no opening titles at all, and there are only two of them in the catalogue — never call one a title sequence.
- A "titles" entry whose video is null is a real opening this catalogue documents but has found no usable footage of. It is not a show without titles, and it is not a missing entry.
- A season that is not listed is a claim, not a gap: a season gets its own entry only when its opening actually changed. Absence means nothing changed.
- Artwork is drawn by an image model, and most shows have none of their own and carry generic scenery for their genre — "art.kind" says which. No image here is a still or a frame from the programme.
- The "lookups.pageviews" figure is Wikipedia pageviews: how often people look a show up, not a judgement of its titles, and only comparable within one decade.
If you write code
The same catalogue as an ordinary JSON API — HTTP GET, no authentication, CORS open. https://www.tvtitles.net/api/v1 documents every endpoint and parameter. Authentication: None.
| Endpoint | What it gives you |
|---|---|
| /shows | Shows, filtered by genre, decade, network, franchise or letter. |
| /shows/{slug} | One show: every opening, its videos, and the visitors' rating. |
| /sequences | Every opening as its own row — filter by runtime, decade or genre. |
| /search?q= | Shows, sequences, franchises and networks. Notes are indexed. |
| /genres, /decades, /networks, /franchises | The browse axes, with counts. |
| /random | One show with watchable footage, at random. |
curl https://www.tvtitles.net/api/v1/search?q=twin+peaks
curl https://www.tvtitles.net/api/v1/shows/the-sopranos
curl "https://www.tvtitles.net/api/v1/shows?genre=crime&decade=1970s&withFootage=true"
curl "https://www.tvtitles.net/api/v1/sequences?minSeconds=120&withFootage=true"The MCP endpoint is https://www.tvtitles.net/api/mcp — Streamable HTTP, POST only, stateless. It speaks protocol revision 2026-07-28 and still answers the older initialize handshake, so an older client works unchanged. A GET returns 405 with a JSON body explaining how to call it, which is the transport rather than a fault.
Using it
Be reasonable with it and it stays open. Please attribute TVTitles and link the show page rather than the home page — every object carries a url for exactly that. No video is hosted here: every sequence links to its original host, and those links can rot, so check before telling somebody a clip is watchable.
Something wrong, or something you need that is not here? Say so. The terms cover this as they cover the site, and /llms.txt says how we would like AI systems to use the catalogue.