TVMaze
Search TV shows, episodes and cast from a community DB
TVMaze exposes a keyless REST API for television metadata: show details, episode lists, air schedules, cast and crew. Query by name or ID and get clean JSON back, with no signup on the free tier.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗
On our probe schedule. Uptime charts appear after the first check lands.
GET https://api.tvmaze.com/search/shows?q=girls
[
{
"score": 0.90090525,
"show": {
"id": 139,
"name": "Girls",
"type": "Scripted",
"language": "English",
"genres": [
"Drama",
"Romance"
],
"status": "Ended",
"premiered": "2012-04-15"
}
}
]curl "https://api.tvmaze.com/search/shows?q=girls"const res = await fetch("https://api.tvmaze.com/search/shows?q=girls");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.tvmaze.com/search/shows?q=girls")
print(res.json())/shows/1PROBEDShow metadata, schedule and cast.
/search/shows?q=breaking%20badSearch TV shows by title.
/schedule?country=US&date=2026-07-05Airing schedule for a country and date.
/shows/1/episodesEpisode list for a show.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Not tracked yet. Shape-change history starts once this API joins our probe schedule.
TVMaze: common questions
Is TVMaze free to use?
Yes — TVMaze is a free media API. Free tier: Free for personal/non-commercial use, no key. The free tier is for non-commercial use.
Does TVMaze need an API key?
No — TVMaze needs no API key or signup. You can call it straight away; rate limits still apply (At least 20 calls per 10 seconds per IP (per docs)).
Can I call TVMaze from the browser?
Yes — TVMaze returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is TVMaze up right now?
TVMaze is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.