# TVmaze — Zapi reference > API serial TV: pencarian acara & orang, detail show, episode, cast, dan jadwal tayang. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/movie/tvmaze - Endpoint catalog: https://zpi.web.id/category/movie - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## TVmaze **Category:** movie · **Slug:** `tvmaze` **Detail page:** https://zpi.web.id/api/movie/tvmaze API serial TV: pencarian acara & orang, detail show, episode, cast, dan jadwal tayang. **Tags:** tv, series, episodes, schedule ### Cast TVmaze Cast — daftar lengkap pemeran satu acara TV by show ID, paginated. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/cast/:id` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `id` | string | path | yes | TVmaze show ID (angka). Boleh tempel URL show TVmaze penuh — ID di-ekstrak otomatis | | `page` | number | query | no | Nomor halaman (1, 2, 3, ...). Default 1 | | `count` | number | query | no | Jumlah pemeran per halaman. Default 20, max 50 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/cast/:id?page=1&count=20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/cast/:id?page=1&count=20", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/cast/:id?page=1&count=20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 11, "items": [ { "gender": "Male", "person": "Bryan Cranston", "country": "United States", "personId": 14245, "character": "Walter White", "personUrl": "https://www.tvmaze.com/people/14245/bryan-cranston", "characterId": 45529, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/195/488839.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2404.jpg" }, { "gender": "Male", "person": "Aaron Paul", "country": "United States", "personId": 12328, "character": "Jesse Pinkman", "personUrl": "https://www.tvmaze.com/people/12328/aaron-paul", "characterId": 45531, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/264/660079.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2408.jpg" }, { "gender": "Female", "person": "Anna Gunn", "country": "United States", "personId": 11207, "character": "Skyler White", "personUrl": "https://www.tvmaze.com/people/11207/anna-gunn", "characterId": 45530, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/2/6596.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2409.jpg" }, { "gender": "Male", "person": "RJ Mitte", "country": "United States", "personId": 31023, "character": "Walter White Jr.", "personUrl": "https://www.tvmaze.com/people/31023/rj-mitte", "characterId": 45534, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/3/8601.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2405.jpg" }, { "gender": "Male", "person": "Dean Norris", "country": "United States", "personId": 9, "character": "Hank Schrader", "personUrl": "https://www.tvmaze.com/people/9/dean-norris", "characterId": 45532, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/461/1154757.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2407.jpg" }, { "gender": "Female", "person": "Betsy Brandt", "country": "United States", "personId": 8507, "character": "Marie Schrader", "personUrl": "https://www.tvmaze.com/people/8507/betsy-brandt", "characterId": 45533, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/3/8600.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2406.jpg" }, { "gender": "Male", "person": "Bob Odenkirk", "country": "United States", "personId": 21268, "character": "Saul Goodman", "personUrl": "https://www.tvmaze.com/people/21268/bob-odenkirk", "characterId": 45535, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/54/136764.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2403.jpg" }, { "gender": "Male", "person": "Jonathan Banks", "country": "United States", "personId": 12153, "character": "Michael 'Mike' Ehrmantraut", "personUrl": "https://www.tvmaze.com/people/12153/jonathan-banks", "characterId": 45537, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/2/5737.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2401.jpg" }, { "gender": "Male", "person": "Giancarlo Esposito", "country": "Denmark", "personId": 2955, "character": "Gustavo 'Gus' Fring", "personUrl": "https://www.tvmaze.com/people/2955/giancarlo-esposito", "characterId": 45536, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/458/1145127.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2402.jpg" }, { "gender": "Male", "person": "Jesse Plemons", "country": "United States", "personId": 8813, "character": "Todd Alquist", "personUrl": "https://www.tvmaze.com/people/8813/jesse-plemons", "characterId": 45539, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/137/343720.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2411.jpg" }, { "gender": "Female", "person": "Laura Fraser", "country": "United Kingdom", "personId": 31024, "character": "Lydia Rodarte-Quayle", "personUrl": "https://www.tvmaze.com/people/31024/laura-fraser", "characterId": 45538, "personImage": "https://static.tvmaze.com/uploads/images/original_untouched/255/637831.jpg", "characterImage": "https://static.tvmaze.com/uploads/images/original_untouched/0/2410.jpg" } ], "total": 11, "showId": 169, "hasMore": false } ``` --- ### Episode TVmaze Episode Detail — info lengkap satu episode by episode ID. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/episode/:id` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `id` | string | path | yes | TVmaze episode ID (angka). Boleh tempel URL episode TVmaze penuh — ID di-ekstrak otomatis | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/episode/:id" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/episode/:id", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/episode/:id", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "id": 12, "url": "https://www.tvmaze.com/episodes/12/under-the-dome-1x12-exigent-circumstances", "name": "Exigent Circumstances", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/1/4399.jpg", "number": 12, "rating": 6.6, "season": 1, "airdate": "2013-09-09", "airtime": "22:00", "runtime": 60, "summary": "While the manhunt for Barbie continues, Big Jim gets the residents of Chester's Mill riled up and the town demands justice for all of Barbie's supposed crimes. Meanwhile, Joe and Norrie must find a new hiding place for the mini dome.", "airstamp": "2013-09-10T02:00:00+00:00" } ``` --- ### Episodes TVmaze Episodes — daftar episode satu acara TV by show ID, paginated. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/episodes/:id` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `id` | string | path | yes | TVmaze show ID (angka). Boleh tempel URL show TVmaze penuh — ID di-ekstrak otomatis | | `season` | number | query | no | Filter hanya episode dari season ini. Kosongkan untuk semua season | | `page` | number | query | no | Nomor halaman (1, 2, 3, ...). Default 1 | | `count` | number | query | no | Jumlah episode per halaman. Default 20, max 50 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/episodes/:id?season=1&page=1&count=20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/episodes/:id?season=1&page=1&count=20", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/episodes/:id?season=1&page=1&count=20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 7, "items": [ { "id": 12192, "url": "https://www.tvmaze.com/episodes/12192/breaking-bad-1x01-pilot", "name": "Pilot", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012681.jpg", "number": 1, "rating": 8.2, "season": 1, "airdate": "2008-01-20", "airtime": "22:00", "runtime": 60, "summary": "A high-school chemistry teacher (Bryan Cranston) is diagnosed with a deadly cancer, so he puts his expertise to use and teams with an ex-student (Aaron Paul) to manufacture top-grade crystal meth in hopes of providing for his family after he's gone.", "airstamp": "2008-01-21T03:00:00+00:00" }, { "id": 12193, "url": "https://www.tvmaze.com/episodes/12193/breaking-bad-1x02-cats-in-the-bag", "name": "Cat's in the Bag...", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012682.jpg", "number": 2, "rating": 7.9, "season": 1, "airdate": "2008-01-27", "airtime": "22:00", "runtime": 60, "summary": "After the accident in the desert, Walter and Jesse need to dispose of the unfortunate mess in their rolling lab of an RV, and Skyler begins to suspect that Walter and Jesse are involved in some mysterious goings-on.", "airstamp": "2008-01-28T03:00:00+00:00" }, { "id": 12194, "url": "https://www.tvmaze.com/episodes/12194/breaking-bad-1x03-and-the-bags-in-the-river", "name": "...and the Bag's in the River", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012683.jpg", "number": 3, "rating": 8.1, "season": 1, "airdate": "2008-02-10", "airtime": "22:00", "runtime": 60, "summary": "Walter and Jesse fight about the latter's drug use, so he leaves, forcing Walter to deal with their captive, Krazy-8 (Max Arciniega); Hank uses scared-straight tactics with Walter Jr. when his aunt suspects he's smoking pot; Skyler is furious when Walter stays away from home.", "airstamp": "2008-02-11T03:00:00+00:00" }, { "id": 12195, "url": "https://www.tvmaze.com/episodes/12195/breaking-bad-1x04-cancer-man", "name": "Cancer Man", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012684.jpg", "number": 4, "rating": 7.5, "season": 1, "airdate": "2008-02-17", "airtime": "22:00", "runtime": 60, "summary": "Walter announces to the family that he has cancer; the DEA believes there is a new big-time player in the Albuquerque drug business; a depressed Walter takes his anger out on a worthy recipient; Jesse pays a surprise visit to his parents' house.", "airstamp": "2008-02-18T03:00:00+00:00" }, { "id": 12196, "url": "https://www.tvmaze.com/episodes/12196/breaking-bad-1x05-gray-matter", "name": "Gray Matter", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012685.jpg", "number": 5, "rating": 7.7, "season": 1, "airdate": "2008-02-24", "airtime": "22:00", "runtime": 60, "summary": "At a birthday party for a successful former science colleague, Walter is offered a job; Jesse tries gaining legitimate employment but winds up back cooking meth, and an inferior kind at that; Skyler assembles the family for an intervention to get Walter to agree to chemotherapy, but he's concerned about quality-of-life issues and their financial difficulties.", "airstamp": "2008-02-25T03:00:00+00:00" }, { "id": 12197, "url": "https://www.tvmaze.com/episodes/12197/breaking-bad-1x06-crazy-handful-of-nothin", "name": "Crazy Handful of Nothin'", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012686.jpg", "number": 6, "rating": 8.8, "season": 1, "airdate": "2008-03-02", "airtime": "22:00", "runtime": 60, "summary": "Walter, in the throes of his chemotherapy treatment and needing money more than ever, agrees to cook more crystal meth with Jesse; Skinny Pete hooks Jesse up with an important new contact, while the DEA intensifies its investigation of Albuquerque's new drug kingpin.", "airstamp": "2008-03-03T03:00:00+00:00" }, { "id": 12198, "url": "https://www.tvmaze.com/episodes/12198/breaking-bad-1x07-a-no-rough-stuff-type-deal", "name": "A No-Rough-Stuff-Type Deal", "type": "regular", "image": "https://static.tvmaze.com/uploads/images/original_untouched/405/1012687.jpg", "number": 7, "rating": 8, "season": 1, "airdate": "2008-03-09", "airtime": "22:00", "runtime": 60, "summary": "Walter and Jesse do business with a new partner-in-crime, but immediately run into \"production problems,\" which necessitates a nearly impossible mission to knock off a chemical-supply house. Meanwhile, Marie throws a baby shower for Skyler and presents her with an unusual gift that shows a different side of the aunt-to-be.", "airstamp": "2008-03-10T02:00:00+00:00" } ], "total": 7, "season": 1, "showId": 169, "hasMore": false } ``` --- ### Person TVmaze Person Detail — info orang (aktor/kru) by person ID + kredit perannya. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/person/:id` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `id` | string | path | yes | TVmaze person ID (angka). Boleh tempel URL people TVmaze penuh — ID di-ekstrak otomatis | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/person/:id" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/person/:id", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/person/:id", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "id": 14245, "url": "https://www.tvmaze.com/people/14245/bryan-cranston", "name": "Bryan Cranston", "image": "https://static.tvmaze.com/uploads/images/original_untouched/195/488839.jpg", "gender": "Male", "country": "United States", "birthday": "1956-03-07", "castCredits": [ { "show": "Breaking Bad", "showId": 169, "character": "Walter White", "characterId": 45529 }, { "show": "Malcolm in the Middle", "showId": 568, "character": "Hal", "characterId": 86111 }, { "show": "North and South", "showId": 1157, "character": "Col. Austin", "characterId": 92005 }, { "show": "SuperMansion", "voice": true, "showId": 2743, "character": "Titanium Rex", "characterId": 174731 }, { "show": "Big History", "voice": true, "showId": 4547, "character": "Narrator", "characterId": 175739 }, { "show": "From the Earth to the Moon", "showId": 7397, "character": "Edwin 'Buzz' Aldrin", "characterId": 194302 }, { "show": "Your Honor", "showId": 32791, "character": "Judge Michael Desiato", "characterId": 592599 }, { "show": "Breaking Bad: Original Minisodes", "showId": 27845, "character": "Walter White", "characterId": 753117 }, { "self": true, "show": "Alien Deep with Bob Ballard", "voice": true, "showId": 27497, "character": "Narrator", "characterId": 974738 }, { "show": "History's Biggest Secrets", "voice": true, "showId": 73818, "character": "Narrator", "characterId": 1203445 }, { "show": "Malcolm in the Middle: Life's Still Unfair", "showId": 90782, "character": "Hal", "characterId": 1505449 } ], "creditCount": 11 } ``` --- ### Schedule TVmaze Schedule — jadwal tayang episode TV pada tanggal & negara tertentu. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/schedule` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `country` | string | query | no | Kode negara ISO 2-huruf untuk jadwal TV broadcast (mis. US, GB, ID). Diabaikan kalau web=true. Default US | | `date` | string | query | no | Tanggal jadwal format YYYY-MM-DD. Default hari ini | | `web` | boolean | query | no | true=jadwal streaming/web channel (global, tanpa negara), false=jadwal TV broadcast. Default false | | `limit` | number | query | no | Jumlah hasil maksimum. Default 30, max 50 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/schedule?country=US&date=2024-01-01&web=false&limit=30" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/schedule?country=US&date=2024-01-01&web=false&limit=30", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/schedule?country=US&date=2024-01-01&web=false&limit=30", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "date": "2024-01-01", "mode": "web", "count": 30, "items": [ { "show": "Bored", "genres": [ "Comedy" ], "number": 1, "season": 12, "showId": 91337, "airdate": "2024-01-01", "episode": "How to fix an idiots computer", "network": "Viva+", "airstamp": "2023-12-31T23:00:00+00:00", "showType": "Scripted", "episodeId": 3594252, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/621/1553152.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/3594252/bored-12x01-how-to-fix-an-idiots-computer" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 1, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 1", "network": "Иви", "runtime": 23, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730586, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730586/neznost-2x01-seria-1" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 2, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 2", "network": "Иви", "runtime": 20, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730587, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730587/neznost-2x02-seria-2" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 3, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 3", "network": "Иви", "runtime": 19, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730588, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730588/neznost-2x03-seria-3" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 4, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 4", "network": "Иви", "runtime": 21, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730589, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730589/neznost-2x04-seria-4" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 5, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 5", "network": "Иви", "runtime": 20, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730590, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730590/neznost-2x05-seria-5" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 6, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 6", "network": "Иви", "runtime": 20, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730591, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730591/neznost-2x06-seria-6" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 7, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 7", "network": "Иви", "runtime": 20, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730592, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730592/neznost-2x07-seria-7" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 8, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 8", "network": "Иви", "runtime": 19, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730593, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730593/neznost-2x08-seria-8" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 9, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 9", "network": "Иви", "runtime": 18, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730594, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730594/neznost-2x09-seria-9" }, { "show": "Нежность", "genres": [ "Drama", "Comedy", "Romance" ], "number": 10, "season": 2, "showId": 51908, "airdate": "2024-01-01", "episode": "Серия 10", "network": "Иви", "runtime": 19, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2730595, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/282/707449.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2730595/neznost-2x10-seria-10" }, { "show": "Предпоследняя инстанция", "genres": [ "Drama", "Comedy", "Supernatural" ], "number": 1, "season": 3, "showId": 59205, "airdate": "2024-01-01", "episode": "Серия 21", "network": "Okko", "runtime": 25, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2718792, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/388/970660.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2718792/predposlednaa-instancia-3x01-seria-21" }, { "show": "Предпоследняя инстанция", "genres": [ "Drama", "Comedy", "Supernatural" ], "number": 2, "season": 3, "showId": 59205, "airdate": "2024-01-01", "episode": "Серия 22", "network": "Okko", "runtime": 25, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2719121, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/388/970660.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2719121/predposlednaa-instancia-3x02-seria-22" }, { "show": "Манюня", "genres": [ "Comedy", "Adventure", "Children" ], "number": 8, "rating": 6.3, "season": 3, "showId": 59484, "airdate": "2024-01-01", "episode": "Серия 8", "network": "Okko", "runtime": 20, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2718220, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/383/957782.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2718220/manuna-3x08-seria-8" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 1, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 1", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692646, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692646/nedetskoe-kino-1x01-seria-1" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 2, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 2", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692647, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692647/nedetskoe-kino-1x02-seria-2" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 3, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 3", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692648, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692648/nedetskoe-kino-1x03-seria-3" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 4, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 4", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692649, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692649/nedetskoe-kino-1x04-seria-4" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 5, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 5", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692650, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692650/nedetskoe-kino-1x05-seria-5" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 6, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 6", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692651, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692651/nedetskoe-kino-1x06-seria-6" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 7, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 7", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692652, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692652/nedetskoe-kino-1x07-seria-7" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 8, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 8", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692653, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692653/nedetskoe-kino-1x08-seria-8" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 9, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 9", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692654, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692654/nedetskoe-kino-1x09-seria-9" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 10, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 10", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692655, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692655/nedetskoe-kino-1x10-seria-10" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 11, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 11", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692656, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692656/nedetskoe-kino-1x11-seria-11" }, { "show": "Недетское кино", "genres": [ "Comedy", "Fantasy" ], "number": 12, "season": 1, "showId": 72871, "airdate": "2024-01-01", "episode": "Серия 12", "network": "Wink", "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2692657, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/488/1221089.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2692657/nedetskoe-kino-1x12-seria-12" }, { "show": "Успешный", "genres": [ "Comedy" ], "number": 1, "season": 1, "showId": 73221, "airdate": "2024-01-01", "episode": "Серия 1", "network": "КИОН", "runtime": 29, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2712914, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/496/1241006.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2712914/uspesnyj-1x01-seria-1" }, { "show": "Успешный", "genres": [ "Comedy" ], "number": 2, "season": 1, "showId": 73221, "airdate": "2024-01-01", "episode": "Серия 2", "network": "КИОН", "runtime": 31, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2712915, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/496/1241006.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2712915/uspesnyj-1x02-seria-2" }, { "show": "Успешный", "genres": [ "Comedy" ], "number": 3, "season": 1, "showId": 73221, "airdate": "2024-01-01", "episode": "Серия 3", "network": "КИОН", "runtime": 31, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2712916, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/496/1241006.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2712916/uspesnyj-1x03-seria-3" }, { "show": "Успешный", "genres": [ "Comedy" ], "number": 4, "season": 1, "showId": 73221, "airdate": "2024-01-01", "episode": "Серия 4", "network": "КИОН", "runtime": 27, "airstamp": "2024-01-01T00:00:00+00:00", "showType": "Scripted", "episodeId": 2712917, "showImage": "https://static.tvmaze.com/uploads/images/original_untouched/496/1241006.jpg", "episodeUrl": "https://www.tvmaze.com/episodes/2712917/uspesnyj-1x04-seria-4" } ], "total": 308 } ``` --- ### Search TVmaze Search — cari TV shows dan/atau orang (aktor/kru) by keyword. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/search` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Kata kunci pencarian: judul show TV atau nama aktor/kru | | `type` | enum(all|show|person) | query | no | Filter jenis hasil: all=keduanya, show=acara TV, person=orang. Default all | | `limit` | number | query | no | Jumlah hasil maksimum per kategori. Default 10, max 50 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/search?q=breaking%20bad&type=all&limit=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/search?q=breaking%20bad&type=all&limit=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/search?q=breaking%20bad&type=all&limit=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "type": "all", "query": "breaking bad", "shows": [ { "id": 169, "url": "https://www.tvmaze.com/shows/169/breaking-bad", "imdb": "tt0903747", "name": "Breaking Bad", "type": "Scripted", "ended": "2019-10-11", "image": "https://static.tvmaze.com/uploads/images/original_untouched/501/1253519.jpg", "genres": [ "Drama", "Crime", "Thriller" ], "rating": 9.2, "status": "Ended", "network": "AMC", "runtime": 60, "summary": "Breaking Bad follows protagonist Walter White, a chemistry teacher who lives in New Mexico with his wife and teenage son who has cerebral palsy. White is diagnosed with Stage III cancer and given a prognosis of two years left to live. With a new sense of fearlessness based on his medical prognosis, and a desire to secure his family's financial security, White chooses to enter a dangerous world of drugs and crime and ascends to power in this world. The series explores how a fatal diagnosis such as White's releases a typical man from the daily concerns and constraints of normal society and follows his transformation from mild family man to a kingpin of the drug trade.", "language": "English", "premiered": "2008-01-20" }, { "id": 27845, "url": "https://www.tvmaze.com/shows/27845/breaking-bad-original-minisodes", "imdb": "tt2387761", "name": "Breaking Bad: Original Minisodes", "type": "Scripted", "ended": "2011-07-11", "image": "https://static.tvmaze.com/uploads/images/original_untouched/216/540867.jpg", "genres": [ "Comedy", "Crime" ], "rating": 7, "status": "Ended", "network": "AMC", "runtime": 5, "summary": "Watch Hank and Marie as they celebrate Valentine's Day in the bedroom in \"Good Cop, Bad Cop\". View a flashback to Hank and Marie's wedding as the groom discusses with Walt his last wild night as a bachelor in \"Wedding Day\". Go inside Jesse's band TwaughtHammer as he and Badger make a behind-the-music documentary, and sing along to the full music video for their song \"Fallacies\". Finally, watch Marie discuss politics and patriotism in her personal video diary, \"Marie's Confession\".", "language": "English", "premiered": "2009-02-17" }, { "id": 1003, "url": "https://www.tvmaze.com/shows/1003/talking-bad", "imdb": "tt3115468", "name": "Talking Bad", "type": "Talk Show", "ended": "2013-09-29", "image": "https://static.tvmaze.com/uploads/images/original_untouched/6/16586.jpg", "status": "Ended", "network": "AMC", "runtime": 30, "summary": "Talking Bad features Hardwick spending time with fans, actors, producers and tv enthusiasts, recapping the most recent Breaking Bad episode, and taking questions and comments from viewers. Fans may continue to engage with the after-show following the on-air conclusion, online, at amc.com for more videos, weekly polls and photo galleries of the guests featured on the series.", "language": "English", "premiered": "2013-08-11" }, { "id": 6101, "url": "https://www.tvmaze.com/shows/6101/breaking-band", "imdb": "tt4854852", "name": "Breaking Band", "type": "Reality", "ended": "2016-02-28", "image": "https://static.tvmaze.com/uploads/images/original_untouched/23/59291.jpg", "genres": [ "Music" ], "status": "Ended", "network": "AXS TV", "runtime": 30, "summary": "Breaking Band places legendary musical artists into the role of mentors, pairing them with up-and-coming artists for a once in a lifetime collaboration. This seasons mentors are musician and TV personality Mark McGrath (Sugar Ray), pop queen Belinda Carlisle (The Go-Go's), rock legend Robin Zander (Cheap Trick), award winning producer and techno icon Moby, metal master Sebastian Bach (Skid Row), and guitar idol Dave Navarro (Janes Addiction).As mentors, their role is to share advice and to support the breaking artists debut live performance – potentially even taking the stage to join them for the encore to make broadcast history.Each episode of Breaking Band features emerging artists whom are mentored by musical legends as they take the stage for the biggest show of their career!", "language": "English", "premiered": "2016-01-24" }, { "id": 37136, "url": "https://www.tvmaze.com/shows/37136/breaking-the-band", "imdb": "tt8068670", "name": "Breaking the Band", "type": "Documentary", "image": "https://static.tvmaze.com/uploads/images/original_untouched/158/396509.jpg", "status": "Running", "network": "REELZ", "runtime": 60, "summary": "Sold out tours, chart-topping hits, and runaway world domination can all mean nothing when you're in a band on the brink of collapse. Tempers flare, arguments erupt and the sweet sound of musical success comes to an abrupt end. Breaking the Band shows the battling egos, power struggles and inter-band rivalries that split up The Beatles, The Supremes, Fleetwood Mac, The Eagles, The Beach Boys, N.W.A, Van Halen and Sonny and Cher.From crippling drug addictions to scandalous affairs Breaking the Band uncovers the incredible true stories by recreating the key moments the cameras missed in addition to using rare band interviews and off-stage footage to piece together each dramatic tale.", "language": "English", "premiered": "2018-06-10" }, { "id": 39967, "url": "https://www.tvmaze.com/shows/39967/bradley-walsh-son-breaking-dad", "imdb": "tt9516768", "name": "Bradley Walsh & Son: Breaking Dad", "type": "Reality", "image": "https://static.tvmaze.com/uploads/images/original_untouched/447/1118583.jpg", "genres": [ "Adventure", "Travel" ], "rating": 5, "status": "Running", "network": "ITV1", "runtime": 30, "summary": "Bradley and Barney Walsh return for more adrenaline-fuelled adventures. Like father, like son? Perhaps not.", "language": "English", "premiered": "2019-01-02" }, { "id": 78429, "url": "https://www.tvmaze.com/shows/78429/breaking-dad-britains-unlikeliest-drug-dealer", "name": "Breaking Dad: Britain's Unlikeliest Drug Dealer", "type": "Documentary", "ended": "2024-06-09", "image": "https://static.tvmaze.com/uploads/images/original_untouched/527/1319167.jpg", "genres": [ "Crime" ], "status": "Ended", "network": "Prime Video", "runtime": 50, "summary": "When police raided a luxury London apartment, they expected to catch a ruthless criminal mastermind responsible for flooding the capital with crystal meth. Instead they found Britain's unlikeliest drugs dealer - a middle-aged, mild-mannered coin dealer called Richard Lubbock.", "language": "English", "premiered": "2024-06-09" }, { "id": 16956, "url": "https://www.tvmaze.com/shows/16956/baking-mad-with-eric-lanlard", "name": "Baking Mad with Eric Lanlard", "type": "Reality", "ended": "2011-06-20", "image": "https://static.tvmaze.com/uploads/images/original_untouched/69/174876.jpg", "genres": [ "Food" ], "status": "Ended", "network": "Channel 4", "runtime": 30, "summary": "Master patissier Eric Lanlard helps people create the perfect bakes.", "language": "English", "premiered": "2011-04-25" } ], "people": [], "showCount": 8, "personCount": 0 } ``` --- ### Show TVmaze Show Detail — info lengkap satu acara TV by ID (+ cast ringkas + jumlah season). - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/movie:tvmaze/show/:id` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `id` | string | path | yes | TVmaze show ID (angka). Boleh tempel URL show TVmaze penuh — ID di-ekstrak otomatis | **cURL:** ```bash curl "https://api.zpi.web.id/v1/movie:tvmaze/show/:id" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/movie:tvmaze/show/:id", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/movie:tvmaze/show/:id", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "id": 169, "url": "https://www.tvmaze.com/shows/169/breaking-bad", "cast": [ { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2404.jpg", "person": "Bryan Cranston", "personId": 14245, "character": "Walter White", "characterId": 45529 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2408.jpg", "person": "Aaron Paul", "personId": 12328, "character": "Jesse Pinkman", "characterId": 45531 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2409.jpg", "person": "Anna Gunn", "personId": 11207, "character": "Skyler White", "characterId": 45530 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2405.jpg", "person": "RJ Mitte", "personId": 31023, "character": "Walter White Jr.", "characterId": 45534 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2407.jpg", "person": "Dean Norris", "personId": 9, "character": "Hank Schrader", "characterId": 45532 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2406.jpg", "person": "Betsy Brandt", "personId": 8507, "character": "Marie Schrader", "characterId": 45533 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2403.jpg", "person": "Bob Odenkirk", "personId": 21268, "character": "Saul Goodman", "characterId": 45535 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2401.jpg", "person": "Jonathan Banks", "personId": 12153, "character": "Michael 'Mike' Ehrmantraut", "characterId": 45537 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2402.jpg", "person": "Giancarlo Esposito", "personId": 2955, "character": "Gustavo 'Gus' Fring", "characterId": 45536 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2411.jpg", "person": "Jesse Plemons", "personId": 8813, "character": "Todd Alquist", "characterId": 45539 }, { "image": "https://static.tvmaze.com/uploads/images/original_untouched/0/2410.jpg", "person": "Laura Fraser", "personId": 31024, "character": "Lydia Rodarte-Quayle", "characterId": 45538 } ], "imdb": "tt0903747", "name": "Breaking Bad", "type": "Scripted", "ended": "2019-10-11", "image": "https://static.tvmaze.com/uploads/images/original_untouched/501/1253519.jpg", "genres": [ "Drama", "Crime", "Thriller" ], "rating": 9.2, "status": "Ended", "weight": 100, "country": "United States", "network": "AMC", "runtime": 60, "summary": "Breaking Bad follows protagonist Walter White, a chemistry teacher who lives in New Mexico with his wife and teenage son who has cerebral palsy. White is diagnosed with Stage III cancer and given a prognosis of two years left to live. With a new sense of fearlessness based on his medical prognosis, and a desire to secure his family's financial security, White chooses to enter a dangerous world of drugs and crime and ascends to power in this world. The series explores how a fatal diagnosis such as White's releases a typical man from the daily concerns and constraints of normal society and follows his transformation from mild family man to a kingpin of the drug trade.", "thetvdb": 81189, "language": "English", "schedule": { "days": [ "Sunday" ], "time": "22:00" }, "premiered": "2008-01-20", "seasonCount": 5, "officialSite": "http://www.amc.com/shows/breaking-bad" } ``` --- _Generated: 2026-08-02T14:28:11.375Z_