TVmaze User API integration
TVmaze is a community TV guide, and its user API manages one TVmaze account's own tracking data. Follow or unfollow shows, people, networks and web channels; mark episodes as watched, acquired or skipped (one by one, in bulk by episode id, or by season and episode number of a show named by its TVmaze, TheTVDB or IMDb id); vote 1 to 10 on shows and episodes; and file shows under private tags. Every list returns ids, and most can embed the full show, person, network, web channel or episode record. Shows and episodes are named by their TVmaze ids, which are the numbers in their tvmaze.com page URLs; searching the TV guide itself is not part of this API. The tools need a Premium TVmaze account, except validate_credentials and the scrobble tools (scrobble_episode, scrobble_episodes, scrobble_show_episodes, list_show_marked_episodes), which work for every account. The email-confirmation flow that hands an app the user's API key is not exposed. Authentication is HTTP Basic: the TVmaze username, and the API key shown on the user's TVmaze dashboard as the password.
Say what should happen.
The workflow builds itself.
What you can do with TVmaze User API
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Show, 13 operations
follow_showFollow showPUTFollows a show on TVmaze for the user. Answers HTTP 404 when no show has this id. Premium only.get_followed_showGet followed showGETChecks whether the user follows a show: returns the follow when it exists, and answers HTTP 404 when the show is not followed. Premium only.get_show_voteGet show voteGETReturns the user's vote for one show. Answers HTTP 404 when the user has not voted for it. Premium only.list_followed_showsList followed showsGETLists the shows the user follows on TVmaze, as their ids; pass embed=show to get each full show record as well. Premium only.list_show_marked_episodesList show marked episodesGETLists the episodes of one show that the user has marked (watched, acquired or skipped), optionally only one kind; pass embed=episode for the full episode records. Works for every account, premium or not.list_show_votesList show votesGETLists the shows the user has voted for, with each vote (1 to 10) and when it was cast. Premium only.list_tagged_showsList tagged showsGETLists the shows filed under one tag, as their ids; pass embed=show for the full show records. Answers HTTP 404 when the tag does not exist. Premium only.remove_show_voteRemove show voteDELETERemoves the user's vote for a show. Answers HTTP 404 when there was no vote. Premium only.scrobble_show_episodesScrobble show episodesPOSTMarks episodes of one show without knowing their TVmaze ids: name the show by tvmaze_id, thetvdb_id or imdb_id, and each episode by season and episode number, or by airdate. Works for every account, premium or not.tag_showTag showPUTFiles a show under one of the user's tags. Answers HTTP 404 when the show or the tag does not exist. Premium only.unfollow_showUnfollow showDELETEUnfollows a show. Answers HTTP 404 when the show was not followed. Premium only.untag_showUntag showDELETERemoves a show from one of the user's tags. Premium only.vote_showVote showPUTCasts the user's vote for a show, from 1 to 10. Answers HTTP 404 when no show has this id. Premium only.
Episode, 10 operations
get_episode_voteGet episode voteGETReturns the user's vote for one episode. Answers HTTP 404 when the user has not voted for it. Premium only.get_marked_episodeGet marked episodeGETReturns how the user marked one episode (watched, acquired or skipped, and when). Answers HTTP 404 when the episode is not marked. Premium only.list_episode_votesList episode votesGETLists the episodes the user has voted for, with each vote (1 to 10) and when it was cast. Premium only.list_marked_episodesList marked episodesGETLists the episodes the user has marked as watched, acquired or skipped, optionally for one show: for each, the episode id, the kind of mark and when it was made.mark_episodeMark episodePUTMarks one episode for the user as watched, acquired or skipped. Answers HTTP 404 when no episode has this id. Premium only; scrobble_episode does the same for every account.remove_episode_voteRemove episode voteDELETERemoves the user's vote for an episode. Answers HTTP 404 when there was no vote. Premium only.scrobble_episodeScrobble episodePUTMarks one episode for the user as watched, acquired or skipped. Works for every account, premium or not. Answers HTTP 404 when no episode has this id and 422 on invalid input.scrobble_episodesScrobble episodesPOSTMarks several episodes at once, by TVmaze episode id. Works for every account, premium or not. Returns one result per item, in the order sent: HTTP 200 when every item was marked, 207 when only some were, 422 when none were.unmark_episodeUnmark episodeDELETERemoves the mark from an episode. Answers HTTP 404 when the episode was not marked. Premium only.vote_episodeVote episodePUTCasts the user's vote for an episode, from 1 to 10. Answers HTTP 404 when no episode has this id. Premium only.
Network, 4 operations
follow_networkFollow networkPUTFollows a network on TVmaze for the user. Answers HTTP 404 when no network has this id. Premium only.get_followed_networkGet followed networkGETChecks whether the user follows a network: returns the follow when it exists, and answers HTTP 404 when the network is not followed. Premium only.list_followed_networksList followed networksGETLists the networks the user follows on TVmaze, as their ids; pass embed=network to get each full network record as well. Premium only.unfollow_networkUnfollow networkDELETEUnfollows a network. Answers HTTP 404 when the network was not followed. Premium only.
Person, 4 operations
follow_personFollow personPUTFollows a person on TVmaze for the user. Answers HTTP 404 when no person has this id. Premium only.get_followed_personGet followed personGETChecks whether the user follows a person: returns the follow when it exists, and answers HTTP 404 when the person is not followed. Premium only.list_followed_peopleList followed peopleGETLists the people the user follows on TVmaze, as their ids; pass embed=person to get each full person record as well. Premium only.unfollow_personUnfollow personDELETEUnfollows a person. Answers HTTP 404 when the person was not followed. Premium only.
Tag, 4 operations
create_tagCreate tagPOSTCreates a tag; add shows to it with tag_show. Answers HTTP 422 on invalid input. Premium only.delete_tagDelete tagDELETEDeletes one of the user's tags. Answers HTTP 404 when the tag does not exist. Premium only.list_tagsList tagsGETLists the user's tags, the labels the user files shows under (see tag_show). Premium only.update_tagUpdate tagPATCHRenames a tag. Answers HTTP 404 when the tag does not exist and 422 when it cannot be updated. Premium only.
Webchannel, 4 operations
follow_webchannelFollow webchannelPUTFollows a web channel on TVmaze for the user. Answers HTTP 404 when no web channel has this id. Premium only.get_followed_webchannelGet followed webchannelGETChecks whether the user follows a web channel: returns the follow when it exists, and answers HTTP 404 when the web channel is not followed. Premium only.list_followed_webchannelsList followed webchannelsGETLists the web channels the user follows on TVmaze, as their ids; pass embed=webchannel to get each full web channel record as well. Premium only.unfollow_webchannelUnfollow webchannelDELETEUnfollows a web channel. Answers HTTP 404 when the web channel was not followed. Premium only.
Validate, 1 operation
validate_credentialsValidate credentialsGETChecks the connected username and API key and returns the account's premium level. Works for every account, premium or not; invalid credentials answer HTTP 401.
Use TVmaze User API from Claude Code, Cursor or Codex
Connect TVmaze User API in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its TVmaze User API operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect TVmaze User API
- Create your workspace
Sign up free. Nothing to install.
- Connect TVmaze User API once
Add your TVmaze User API connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
TVmaze User API integration FAQ
What can you do with the TVmaze User API integration?
LiveContext exposes 40 operations on TVmaze User API, covering show, episode, network and person.
