diff --git a/config.exemple.ini b/config.exemple.ini index 32e6beb..b10601c 100644 --- a/config.exemple.ini +++ b/config.exemple.ini @@ -1,7 +1,15 @@ [TAUTULLI] -SERVER_URL = https://tautulli.exemple.com/ +SERVER_URL = https://tautulli.exemple.com API_KEY = e18e33df8f7sdfae92d3a2344f2f60 +[RADARR] +SERVER_URL = https://radarr.exemple.com +API_KEY = e1werwrdfae92d3a2344f2f60 + +[SONARR] +SERVER_URL = https://sonarr.exemple.com +API_KEY = e18e33df8f7sdfasdfaf2f60 + [MEDIA_FILTER] ; Section_id de la librairie film à nettoyer film_section_ids = [1,2] diff --git a/plexwasher.py b/plexwasher.py index ed63055..ada4a98 100755 --- a/plexwasher.py +++ b/plexwasher.py @@ -11,6 +11,7 @@ import sys import requests from datetime import datetime from dateutil.relativedelta import relativedelta +import re class RequestError(Exception): pass @@ -18,8 +19,12 @@ class RequestError(Exception): class ApplicationError(Exception): pass -SERVER_URL = "" -API_KEY = "" +TAUTULLI_SERVER_URL = "" +TAUTULLI_API_KEY = "" +SONARR_SERVER_URL = "" +SONARR_API_KEY = "" +RADARR_SERVER_URL = "" +RADARR_API_KEY = "" FILM_SECTION_IDS = [] DEADLINE_NEVER_WATCHED = "" DEADLINE_LAST_WATCHED = "" @@ -35,8 +40,8 @@ def get_unwatched_rating_keys(sectionId): deadlineLastWacthed = datetime.now() - relativedelta(months=DEADLINE_LAST_WATCHED) # Send http request to refresh the list and get the number of media to safeguard from infinite loop - payload = {'apikey': API_KEY, 'cmd': 'get_library_media_info', 'section_id': sectionId, 'order_column': 'last_played', 'order_dir': 'asc','length': 1, 'start': 0, 'refresh ': 'true'} - request = requests.get(SERVER_URL+"api/v2", params=payload) + payload = {'apikey': TAUTULLI_API_KEY, 'cmd': 'get_library_media_info', 'section_id': sectionId, 'order_column': 'last_played', 'order_dir': 'asc','length': 1, 'start': 0, 'refresh ': 'true'} + request = requests.get(TAUTULLI_SERVER_URL+"/api/v2", params=payload) response = json.loads(request.content) if response["response"]['result'] == 'error': @@ -49,8 +54,8 @@ def get_unwatched_rating_keys(sectionId): recentlyWatched = False # Send http request to retrieve the next n=length items - payload = {'apikey': API_KEY, 'cmd': 'get_library_media_info', 'section_id': sectionId, 'order_column': 'last_played', 'order_dir': 'asc', 'length': length, 'start': start} - request = requests.get(SERVER_URL+"api/v2", params=payload) + payload = {'apikey': TAUTULLI_API_KEY, 'cmd': 'get_library_media_info', 'section_id': sectionId, 'order_column': 'last_played', 'order_dir': 'asc', 'length': length, 'start': start} + request = requests.get(TAUTULLI_SERVER_URL+"/api/v2", params=payload) response = json.loads(request.content) if response["response"]['result'] == 'error': @@ -88,8 +93,8 @@ def get_unwatched_rating_keys(sectionId): # Returns the path list of all the files composing the media def get_media_paths(rating_key): # Get the metadata of the media - payload = {'apikey': API_KEY, 'cmd': 'get_metadata', 'rating_key': rating_key} - request = requests.get(SERVER_URL+"api/v2", params=payload) + payload = {'apikey': TAUTULLI_API_KEY, 'cmd': 'get_metadata', 'rating_key': rating_key} + request = requests.get(TAUTULLI_SERVER_URL+"/api/v2", params=payload) response = json.loads(request.content) if response["response"]['result'] == 'error': @@ -103,8 +108,8 @@ def get_media_paths(rating_key): case "show" | "season": # If the media is a group of media we get the path of all its components # Getting the list of child - payload = {'apikey': API_KEY, 'cmd': 'get_children_metadata', 'rating_key': rating_key} - request = requests.get(SERVER_URL+"api/v2", params=payload) + payload = {'apikey': TAUTULLI_API_KEY, 'cmd': 'get_children_metadata', 'rating_key': rating_key} + request = requests.get(TAUTULLI_SERVER_URL+"/api/v2", params=payload) response = json.loads(request.content) if response["response"]['result'] == 'error': @@ -153,20 +158,102 @@ def get_and_store_files_to_remove(): for path in pathToRemove: f.write(f"{path}\n") +def delete_from_radarr(movies, path): + for movie in movies: + if movie["path"] in path: + # Send http request to delete movie + payload = {'apikey': RADARR_API_KEY, 'deleteFiles': 'true'} + request = requests.delete(RADARR_SERVER_URL+"/api/v3/movie/"+str(movie["id"]), params=payload) + if request.status_code == 200: + logger.debug("Successfully deleted {}".format(movie["title"])) + return True + logger.warning("recieved not 200 from raddar. : " + request.reason) + + logger.debug("Failed to delete {} using raddar".format(movie["title"])) + return False + +def delete_from_sonarr(name, deletedSeries, series): + if name in deletedSeries: + logger.debug("Skipping deletion of {} as it has already been deleted".format(name)) + return True + + for serie in series: + if serie["title"] == name: + # Send http request to delete serie + payload = {'apikey': SONARR_API_KEY, 'deleteFiles': 'true'} + request = requests.delete(SONARR_SERVER_URL+"/api/v3/series/"+str(serie["id"]), params=payload) + if request.status_code == 200: + deletedSeries.append(name) + logger.debug("Successfully deleted {}".format(name)) + return True + logger.warning("recieved not 200 from sonarr. : " + request.reason) + + logger.debug("Failed to delete {} using sonarr".format(name)) + return False + + # Delete all files and empty parent folder listed in an input file def delete_files(inputFile): + series =[] + deletedSeries = [] + movies = [] + + # Send http request to get the list of series + payload = {'apikey': SONARR_API_KEY} + request = requests.get(SONARR_SERVER_URL+"/api/v3/series", params=payload) + if request.status_code == 200: + series = json.loads(request.content) + else: + logger.warning("Failed to retrieve list of series from sonarr. : " + request.reason) + + # Send http request to get the list of movies + payload = {'apikey': RADARR_API_KEY} + request = requests.get(RADARR_SERVER_URL+"/api/v3/movie", params=payload) + if request.status_code == 200: + movies = json.loads(request.content) + else: + logger.warning("Failed to retrieve list of series from sonarr. : " + request.reason) + logger.info("Deleting all unwanted media files listed in \"{}\"".format(inputFile)) with open(inputFile, 'r') as f: for path in f: path = path.strip() logger.debug("Deleting file: " + path) - os.remove(path) - parent = os.path.split(path)[0] - dir = os.listdir(parent) - if len(dir) == 0: - logger.debug("Deleting empty folder: " + parent) + + # try to delete a serie with sonarr + try: + match = re.search(r'/Plex/Series/([^/]+)/', path) + if match: + logger.debug("{} matched series path pattern for '{}'".format(path, match.group(1))) + if delete_from_sonarr(match.group(1), deletedSeries, series): + continue + + except Exception as err: + logger.warning("Error while trying to remove with sonarr: {}".format(err)) + + # try to delete a movie with radarr + try: + match = re.search(r'/Plex/Films/([^/]+)', path) + if match: + logger.debug("{} matched movies path pattern".format(path)) + if delete_from_radarr(movies, path): + continue + + except Exception as err: + logger.warning("Error while trying to remove with radarr: {}".format(err)) + + # failed to delete with sonarr/radarr so we delete the file directly + try: + logger.debug("Failed to delete with sonarr/radarr. -> Deleting the file directly") + os.remove(path) + parent = os.path.split(path)[0] + dir = os.listdir(parent) + if len(dir) == 0: + logger.debug("Deleting empty folder: " + parent) os.rmdir(parent) - + except Exception as err: + logger.error("Error could not delete '{}' from local dir: {}".format(path, err)) + ###### ----- main ----- ###### @@ -211,8 +298,18 @@ config_obj.read("config.ini") # -- Read TAUTULLI section -- serverParam = config_obj["TAUTULLI"] -SERVER_URL = serverParam["server_url"] -API_KEY = serverParam["api_key"] +TAUTULLI_SERVER_URL = serverParam["server_url"] +TAUTULLI_API_KEY = serverParam["api_key"] + +# -- Read RADARR section -- +serverParam = config_obj["RADARR"] +RADARR_SERVER_URL = serverParam["server_url"] +RADARR_API_KEY = serverParam["api_key"] + +# -- Read SONARR section -- +serverParam = config_obj["SONARR"] +SONARR_SERVER_URL = serverParam["server_url"] +SONARR_API_KEY = serverParam["api_key"] # -- Read MEDIA_FILTER section -- mediaParam = config_obj["MEDIA_FILTER"] @@ -221,7 +318,18 @@ DEADLINE_NEVER_WATCHED = int(mediaParam["deadline_never_watched"]) DEADLINE_LAST_WATCHED = int(mediaParam["deadline_last_watched"]) FILES_TO_KEEP = ast.literal_eval(mediaParam["files_to_ignore"]) -logger.debug("Loaded config values: \n SERVER_URL: {}\n API_KEY: hidden\n FILM_SECTION_IDS: {}\n DEADLINE_NEVER_WATCHED: {}\n DEADLINE_LAST_WATCHED: {}\n FILES_TO_KEEP: {}".format(SERVER_URL, FILM_SECTION_IDS, DEADLINE_NEVER_WATCHED, DEADLINE_LAST_WATCHED, FILES_TO_KEEP)) +logger.debug("Loaded config values: \n" \ + " TAUTULLI_SERVER_URL: {}\n" \ + " TAUTULLI_API_KEY: hidden\n" \ + " RADARR_SERVER_URL: {}\n" \ + " RADARR_API_KEY: hidden\n" \ + " SONARR_SERVER_URL: {}\n" \ + " SONARR_API_KEY: hidden\n" \ + " FILM_SECTION_IDS: {}\n" \ + " DEADLINE_NEVER_WATCHED: {}\n" \ + " DEADLINE_LAST_WATCHED: {}\n" \ + " FILES_TO_KEEP: {}" + .format(TAUTULLI_SERVER_URL,RADARR_SERVER_URL, SONARR_SERVER_URL, FILM_SECTION_IDS, DEADLINE_NEVER_WATCHED, DEADLINE_LAST_WATCHED, FILES_TO_KEEP)) ### --- Start logic --- ### @@ -236,4 +344,4 @@ try: if args.delete: delete_files(outputfile) except (RequestError, ApplicationError) as err: - logger.error(err) \ No newline at end of file + logger.error("{}".format(err)) \ No newline at end of file diff --git a/res.json b/res.json new file mode 100644 index 0000000..651806d --- /dev/null +++ b/res.json @@ -0,0 +1,3529 @@ +[ + { + "title": "Squid Game", + "alternateTitles": [ + { + "title": "El juego del calamar", + "seasonNumber": -1 + } + ], + "sortTitle": "squid game", + "status": "continuing", + "ended": false, + "overview": "Hundreds of cash-strapped players accept a strange invitation to compete in children's games. Inside, a tempting prize awaits — with deadly high stakes.", + "nextAiring": "2025-06-27T21:00:00Z", + "previousAiring": "2024-12-26T22:00:00Z", + "network": "Netflix", + "airTime": "17:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/2/banner.jpg?lastWrite=638725708687164746", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/383275/banners/614429e09acf6.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/2/poster.jpg?lastWrite=638725708687344746", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/383275/posters/6151351c5420c.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/2/fanart.jpg?lastWrite=638725708687534746", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/383275/backgrounds/61131e54d37c6.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/2/clearlogo.png?lastWrite=638725708687804746", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/383275/clearlogo/677035be005c2.png" + } + ], + "originalLanguage": { + "id": 21, + "name": "Korean" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 2, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2021-09-17T21:00:00Z", + "episodeFileCount": 9, + "episodeCount": 9, + "totalEpisodeCount": 9, + "sizeOnDisk": 14217866620, + "releaseGroups": [ + "QTZ" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2024-12-26T22:00:00Z", + "episodeFileCount": 7, + "episodeCount": 7, + "totalEpisodeCount": 7, + "sizeOnDisk": 52310029773, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 3, + "monitored": true, + "statistics": { + "nextAiring": "2025-06-27T21:00:00Z", + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 6, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2021, + "path": "/Plex/Series/Squid Game", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 58, + "tvdbId": 383275, + "tvRageId": 0, + "tvMazeId": 43687, + "tmdbId": 93405, + "firstAired": "2021-09-17T00:00:00Z", + "lastAired": "2025-06-27T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "squidgame", + "imdbId": "tt10919420", + "titleSlug": "squid-game", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Action", + "Drama", + "Mystery", + "Thriller" + ], + "tags": [], + "added": "2025-01-15T20:47:48Z", + "ratings": { + "votes": 666137, + "value": 8.0 + }, + "statistics": { + "seasonCount": 3, + "episodeFileCount": 16, + "episodeCount": 16, + "totalEpisodeCount": 24, + "sizeOnDisk": 66527896393, + "releaseGroups": [ + "QTZ", + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 2 + }, + { + "title": "Stranger Things", + "alternateTitles": [], + "sortTitle": "stranger things", + "status": "continuing", + "ended": false, + "overview": "In 1980s Indiana, a group of young friends witness supernatural forces and secret government exploits. As they search for answers, the children unravel a series of extraordinary mysteries.", + "nextAiring": "2025-11-26T08:00:00Z", + "network": "Netflix", + "airTime": "03:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/3/banner.jpg?lastWrite=638727049356091649", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/305288-g4.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/3/poster.jpg?lastWrite=638727049356841649", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/5d1df8d5be8c8.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/3/fanart.jpg?lastWrite=638727049357281649", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/305288/backgrounds/62907d929e73d.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/3/clearlogo.png?lastWrite=638727049357631649", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/305288/clearlogo/611b72a5d2e65.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": false, + "statistics": { + "episodeFileCount": 8, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 14652284183, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": false, + "statistics": { + "episodeFileCount": 9, + "episodeCount": 9, + "totalEpisodeCount": 9, + "sizeOnDisk": 16970759444, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 3, + "monitored": false, + "statistics": { + "episodeFileCount": 8, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 17739110823, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 4, + "monitored": false, + "statistics": { + "episodeFileCount": 7, + "episodeCount": 7, + "totalEpisodeCount": 9, + "sizeOnDisk": 28820528494, + "releaseGroups": [ + "FRATERNiTY" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 5, + "monitored": true, + "statistics": { + "nextAiring": "2025-11-26T08:00:00Z", + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2016, + "path": "/Plex/Series/Stranger Things", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 62, + "tvdbId": 305288, + "tvRageId": 0, + "tvMazeId": 2993, + "tmdbId": 66732, + "firstAired": "2016-07-15T00:00:00Z", + "lastAired": "2025-12-31T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "strangerthings", + "imdbId": "tt4574334", + "titleSlug": "stranger-things", + "rootFolderPath": "/Plex/Series", + "certification": "TV-14", + "genres": [ + "Adventure", + "Drama", + "Fantasy", + "Horror", + "Mystery", + "Science Fiction", + "Suspense", + "Thriller" + ], + "tags": [], + "added": "2025-01-17T10:02:09Z", + "ratings": { + "votes": 1451184, + "value": 8.6 + }, + "statistics": { + "seasonCount": 5, + "episodeFileCount": 32, + "episodeCount": 32, + "totalEpisodeCount": 50, + "sizeOnDisk": 78182682944, + "releaseGroups": [ + "FRATERNiTY" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 3 + }, + { + "title": "Silo", + "alternateTitles": [ + { + "title": "Silos / Silo", + "seasonNumber": -1 + } + ], + "sortTitle": "silo", + "status": "continuing", + "ended": false, + "overview": "In a ruined and toxic future, thousands live in a giant silo deep underground. After its sheriff breaks a cardinal rule and residents die mysteriously, engineer Juliette starts to uncover shocking secrets and the truth about the silo.", + "previousAiring": "2025-01-17T05:00:00Z", + "network": "Apple TV+", + "airTime": "00:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/4/banner.jpg?lastWrite=638728122334109506", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/403245/banners/6449d56a60674.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/4/poster.jpg?lastWrite=638728122334299506", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/403245/posters/64432dea72673.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/4/fanart.jpg?lastWrite=638728122334569506", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/403245/backgrounds/640bc23f1fa80.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/4/clearlogo.png?lastWrite=638728122334779506", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/403245/clearlogo/6455710e48c96.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 4, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2023-06-30T04:00:00Z", + "episodeFileCount": 10, + "episodeCount": 10, + "totalEpisodeCount": 10, + "sizeOnDisk": 18902797043, + "releaseGroups": [ + "SAKADOX" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2025-01-17T05:00:00Z", + "episodeFileCount": 10, + "episodeCount": 10, + "totalEpisodeCount": 10, + "sizeOnDisk": 17351825816, + "releaseGroups": [ + "Neostark" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2023, + "path": "/Plex/Series/Silo", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 50, + "tvdbId": 403245, + "tvRageId": 0, + "tvMazeId": 38052, + "tmdbId": 125988, + "firstAired": "2023-05-05T00:00:00Z", + "lastAired": "2025-01-17T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "silo", + "imdbId": "tt14688458", + "titleSlug": "silo", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Drama", + "Science Fiction" + ], + "tags": [], + "added": "2025-01-18T15:50:33Z", + "ratings": { + "votes": 186863, + "value": 8.1 + }, + "statistics": { + "seasonCount": 2, + "episodeFileCount": 20, + "episodeCount": 20, + "totalEpisodeCount": 24, + "sizeOnDisk": 36254622859, + "releaseGroups": [ + "SAKADOX", + "Neostark" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 4 + }, + { + "title": "Severance", + "alternateTitles": [ + { + "title": "Separación", + "seasonNumber": -1 + }, + { + "title": "Scissione", + "seasonNumber": -1 + }, + { + "title": "Severence Scissione", + "seasonNumber": -1 + }, + { + "title": "Separacion", + "seasonNumber": -1 + } + ], + "sortTitle": "severance", + "status": "continuing", + "ended": false, + "overview": "Mark leads a team of office workers whose memories have been surgically divided between their work and personal lives. When a mysterious colleague appears outside of work, it begins a journey to discover the truth about their jobs.", + "previousAiring": "2025-03-21T01:00:00Z", + "network": "Apple TV+", + "airTime": "21:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/5/banner.jpg?lastWrite=638776710881066984", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/371980/banners/67d3854a3f3f2.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/5/poster.jpg?lastWrite=638728183240604710", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/371980/posters/61bc6bbbea3f4.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/5/fanart.jpg?lastWrite=638728183240924710", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/371980/backgrounds/61bdee7c62d99.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/5/clearlogo.png?lastWrite=638783953717381426", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/371980/clearlogo/67deb201804b5.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 22, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": false, + "statistics": { + "episodeFileCount": 9, + "episodeCount": 9, + "totalEpisodeCount": 9, + "sizeOnDisk": 11536929177, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2025-03-21T01:00:00Z", + "episodeFileCount": 10, + "episodeCount": 10, + "totalEpisodeCount": 10, + "sizeOnDisk": 57660839264, + "releaseGroups": [ + "ESPER", + "TenmaLand", + "TFA" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2022, + "path": "/Plex/Series/Severance", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 49, + "tvdbId": 371980, + "tvRageId": 0, + "tvMazeId": 44933, + "tmdbId": 95396, + "firstAired": "2022-02-18T00:00:00Z", + "lastAired": "2025-03-20T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "severance", + "imdbId": "tt11280740", + "titleSlug": "severance", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Drama", + "Mystery", + "Science Fiction", + "Thriller" + ], + "tags": [], + "added": "2025-01-18T17:32:03Z", + "ratings": { + "votes": 321700, + "value": 8.7 + }, + "statistics": { + "seasonCount": 2, + "episodeFileCount": 19, + "episodeCount": 19, + "totalEpisodeCount": 41, + "sizeOnDisk": 69197768441, + "releaseGroups": [ + "ESPER", + "TenmaLand", + "TFA" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 5 + }, + { + "title": "Shōgun", + "alternateTitles": [ + { + "title": "Shogun 2024", + "seasonNumber": -1 + }, + { + "title": "Shogun", + "seasonNumber": -1, + "comment": "wolfmax4k" + } + ], + "sortTitle": "shōgun", + "status": "continuing", + "ended": false, + "overview": "Set in Japan in the year 1600, at the dawn of a century-defining civil war, Lord Yoshii Toranaga is fighting for his life as his enemies on the Council of Regents unite against him, when a mysterious European ship is found marooned in a nearby fishing village. \r\n\r\nIts English pilot, John Blackthorne, comes bearing secrets that could help Toranaga tip the scales of power and devastate the formidable influence of Blackthorne’s own enemies — the Jesuit priests and Portuguese merchants. Toranaga’s and Blackthorne’s fates become inextricably tied to their translator, Toda Mariko, a mysterious Christian noblewoman and the last of a disgraced line.\r\n\r\nWhile serving her lord amidst this fraught political landscape, Mariko must reconcile her newfound companionship with Blackthorne, her commitment to the faith that saved her and her duty to her late father.", + "network": "FX", + "airTime": "22:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/6/banner.jpg?lastWrite=638739478742820136", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392573/banners/64bdaf5238aad.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/6/poster.jpg?lastWrite=638739478743100136", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392573/posters/65cf707706d1a.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/6/fanart.jpg?lastWrite=638739478743430136", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392573/backgrounds/65de5a4927427.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/6/clearlogo.png?lastWrite=638739478743690136", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392573/clearlogo/662dde0fbfa92.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 23, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "episodeFileCount": 10, + "episodeCount": 10, + "totalEpisodeCount": 10, + "sizeOnDisk": 18405462871, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2024, + "path": "/Plex/Series/Shōgun", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 59, + "tvdbId": 392573, + "tvRageId": 0, + "tvMazeId": 37336, + "tmdbId": 126308, + "firstAired": "2024-02-27T00:00:00Z", + "lastAired": "2024-04-23T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "shogun", + "imdbId": "tt2788316", + "titleSlug": "shogun-2024", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Action", + "Adventure", + "Drama", + "History", + "War" + ], + "tags": [], + "added": "2025-01-31T19:17:53Z", + "ratings": { + "votes": 218596, + "value": 8.6 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 10, + "episodeCount": 10, + "totalEpisodeCount": 33, + "sizeOnDisk": 18405462871, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 6 + }, + { + "title": "Bref.", + "alternateTitles": [], + "sortTitle": "bref", + "status": "continuing", + "ended": false, + "overview": "In life we are born, at the end we die. Between the two, things happens, in short, it is the story of a guy between the two.", + "previousAiring": "2025-02-15T01:15:00Z", + "network": "Disney+", + "airTime": "20:15", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/7/banner.jpg?lastWrite=638740284303665143", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/251562-g.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/7/poster.jpg?lastWrite=638740284303945143", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/251562-2.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/7/fanart.jpg?lastWrite=638740284304235143", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/251562/backgrounds/679d2ef6681e7.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/7/clearlogo.png?lastWrite=638740284304485143", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/251562/clearlogo/611be4b247de8.png" + } + ], + "originalLanguage": { + "id": 2, + "name": "French" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 35, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2012-07-13T00:19:00Z", + "episodeFileCount": 82, + "episodeCount": 82, + "totalEpisodeCount": 82, + "sizeOnDisk": 5492778993, + "releaseGroups": [ + "Amen" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2025-02-15T01:15:00Z", + "episodeFileCount": 6, + "episodeCount": 6, + "totalEpisodeCount": 6, + "sizeOnDisk": 24592015402, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2011, + "path": "/Plex/Series/Bref", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 4, + "tvdbId": 251562, + "tvRageId": 29721, + "tvMazeId": 7209, + "tmdbId": 60715, + "firstAired": "2011-08-29T00:00:00Z", + "lastAired": "2025-02-14T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "bref", + "imdbId": "tt2044128", + "titleSlug": "bref", + "rootFolderPath": "/Plex/Series", + "certification": "TV-Y", + "genres": [ + "Comedy", + "Mini-Series" + ], + "tags": [], + "added": "2025-02-01T17:40:29Z", + "ratings": { + "votes": 4276, + "value": 8.4 + }, + "statistics": { + "seasonCount": 2, + "episodeFileCount": 88, + "episodeCount": 88, + "totalEpisodeCount": 123, + "sizeOnDisk": 30084794395, + "releaseGroups": [ + "Amen", + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 7 + }, + { + "title": "Gomorrah", + "alternateTitles": [ + { + "title": "Gomorra", + "seasonNumber": -1 + }, + { + "title": "Gomorrha", + "seasonNumber": -1 + } + ], + "sortTitle": "gomorrah", + "status": "ended", + "ended": true, + "overview": "Mafia activity in Naples is at the center of this series, which focuses on internal struggles that follow after the head of a family is imprisoned.", + "previousAiring": "2021-12-17T21:04:00Z", + "network": "Sky Atlantic (IT)", + "airTime": "21:15", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/8/banner.jpg?lastWrite=638745511899288868", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/281342-g4.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/8/poster.jpg?lastWrite=638745511899728868", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/281342-6.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/8/fanart.jpg?lastWrite=638745511900158868", + "remoteUrl": "https://artworks.thetvdb.com/banners/fanart/original/281342-1.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/8/clearlogo.png?lastWrite=638745511900748868", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/281342/clearlogo/611bc81112d3b.png" + } + ], + "originalLanguage": { + "id": 5, + "name": "Italian" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 5, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2014-06-10T20:04:00Z", + "episodeFileCount": 12, + "episodeCount": 12, + "totalEpisodeCount": 12, + "sizeOnDisk": 8880554371, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2016-06-14T20:04:00Z", + "episodeFileCount": 12, + "episodeCount": 12, + "totalEpisodeCount": 12, + "sizeOnDisk": 10219125441, + "releaseGroups": [ + "SH0W" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 3, + "monitored": true, + "statistics": { + "previousAiring": "2017-12-22T21:04:00Z", + "episodeFileCount": 12, + "episodeCount": 12, + "totalEpisodeCount": 12, + "sizeOnDisk": 8905806200, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 4, + "monitored": true, + "statistics": { + "previousAiring": "2019-05-03T20:04:00Z", + "episodeFileCount": 12, + "episodeCount": 12, + "totalEpisodeCount": 12, + "sizeOnDisk": 7279739462, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 5, + "monitored": true, + "statistics": { + "previousAiring": "2021-12-17T21:04:00Z", + "episodeFileCount": 10, + "episodeCount": 10, + "totalEpisodeCount": 10, + "sizeOnDisk": 43063421308, + "releaseGroups": [ + "SODAPOP" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2014, + "path": "/Plex/Series/Gomorrah", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 49, + "tvdbId": 281342, + "tvRageId": 42817, + "tvMazeId": 2228, + "tmdbId": 61068, + "firstAired": "2014-05-06T00:00:00Z", + "lastAired": "2021-12-17T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "gomorrah", + "imdbId": "tt2049116", + "titleSlug": "gomorrah", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Crime", + "Drama", + "Thriller" + ], + "tags": [], + "added": "2025-02-07T18:53:09Z", + "ratings": { + "votes": 47513, + "value": 8.6 + }, + "statistics": { + "seasonCount": 5, + "episodeFileCount": 58, + "episodeCount": 58, + "totalEpisodeCount": 63, + "sizeOnDisk": 78348646782, + "releaseGroups": [ + "SH0W", + "SODAPOP" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 8 + }, + { + "title": "A Thousand Blows", + "alternateTitles": [], + "sortTitle": "thousand blows", + "status": "continuing", + "ended": false, + "overview": "This series is inspired by the true life stories of a group of characters battling for survival in the brutal East End of London in the 1880s. Hezekiah Moscow and Alec Munroe, best friends from Jamaica, find themselves thrust into the criminal underbelly of London's thriving bare-knuckle boxing scene. As Hezekiah finds fortune and fame through the art of pugilism, he attracts the attention of the infamous Queen of the Forty Elephants, Mary Carr, who sets about exploiting his talents to further her criminal enterprise. Meanwhile, the menacing and self-declared emperor of the East End boxing world, Sugar Goodson, resolves to destroy Hezekiah, whose ambitions to fight in the West End threatens everything he has built. What ensues is a battle of the old world against the new.", + "previousAiring": "2025-02-21T05:00:00Z", + "network": "Hulu", + "airTime": "00:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/9/banner.jpg?lastWrite=638758123318139082", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/423901/banners/67b83eb7be52a.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/9/poster.jpg?lastWrite=638757424545883200", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/423901/posters/676c0bfc6e61b.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/9/fanart.jpg?lastWrite=638758123318739082", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/423901/backgrounds/67b83ed5eb2d7.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/9/clearlogo.png?lastWrite=638757424548643201", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/423901/clearlogo/67b83ec68e2b5.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-02-21T05:00:00Z", + "episodeFileCount": 6, + "episodeCount": 6, + "totalEpisodeCount": 6, + "sizeOnDisk": 17239856511, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/A Thousand Blows", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 52, + "tvdbId": 423901, + "tvRageId": 0, + "tvMazeId": 63786, + "tmdbId": 208851, + "firstAired": "2025-02-21T00:00:00Z", + "lastAired": "2025-02-21T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "athousandblows", + "imdbId": "tt21874900", + "titleSlug": "a-thousand-blows", + "rootFolderPath": "/Plex/Series", + "genres": [ + "Crime", + "Sport" + ], + "tags": [], + "added": "2025-02-21T13:47:05Z", + "ratings": { + "votes": 8145, + "value": 7.4 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 6, + "episodeCount": 6, + "totalEpisodeCount": 6, + "sizeOnDisk": 17239856511, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 9 + }, + { + "title": "Black Mirror", + "alternateTitles": [ + { + "title": "Czarne lustro / Black Mirror (2025)", + "seasonNumber": -1 + } + ], + "sortTitle": "black mirror", + "status": "continuing", + "ended": false, + "overview": "A television anthology series that shows the dark side of life and technology.", + "previousAiring": "2025-04-10T07:00:00Z", + "network": "Netflix", + "airTime": "03:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/10/banner.jpg?lastWrite=638775860149688118", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/253463-g4.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/10/poster.jpg?lastWrite=638775860150048118", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/253463-4.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/10/fanart.jpg?lastWrite=638775860150378118", + "remoteUrl": "https://artworks.thetvdb.com/banners/fanart/original/253463-20.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/10/clearlogo.png?lastWrite=638775860150498118", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/253463/clearlogo/611b79d8cf43a.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 2, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 3, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 2, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 3, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 3, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 6, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 4, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 6, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 5, + "monitored": true, + "statistics": { + "previousAiring": "2019-06-05T08:58:00Z", + "episodeFileCount": 3, + "episodeCount": 3, + "totalEpisodeCount": 3, + "sizeOnDisk": 25083446884, + "releaseGroups": [ + "Sensei" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 6, + "monitored": true, + "statistics": { + "previousAiring": "2023-06-15T07:00:00Z", + "episodeFileCount": 5, + "episodeCount": 5, + "totalEpisodeCount": 5, + "sizeOnDisk": 46624815882, + "releaseGroups": [ + "Sicario" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 7, + "monitored": true, + "statistics": { + "previousAiring": "2025-04-10T07:00:00Z", + "episodeFileCount": 6, + "episodeCount": 6, + "totalEpisodeCount": 6, + "sizeOnDisk": 9683506621, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2011, + "path": "/Plex/Series/Black Mirror", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 59, + "tvdbId": 253463, + "tvRageId": 30348, + "tvMazeId": 305, + "tmdbId": 42009, + "firstAired": "2011-12-04T00:00:00Z", + "lastAired": "2025-04-10T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "blackmirror", + "imdbId": "tt2085059", + "titleSlug": "black-mirror", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Drama", + "Science Fiction", + "Thriller" + ], + "tags": [], + "added": "2025-03-14T21:53:34Z", + "ratings": { + "votes": 697038, + "value": 8.7 + }, + "statistics": { + "seasonCount": 7, + "episodeFileCount": 14, + "episodeCount": 14, + "totalEpisodeCount": 34, + "sizeOnDisk": 81391769387, + "releaseGroups": [ + "Sensei", + "Sicario", + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 10 + }, + { + "title": "Adolescence", + "alternateTitles": [ + { + "title": "Adolescence", + "seasonNumber": -1 + } + ], + "sortTitle": "adolescence", + "status": "ended", + "ended": true, + "overview": "When a 13-year-old is accused of the murder of a classmate, his family, therapist and the detective in charge are all left asking: what really happened?", + "previousAiring": "2025-03-13T08:00:00Z", + "network": "Netflix", + "airTime": "04:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/11/banner.jpg?lastWrite=638777237004708112", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452467/banners/67bfe3a33b1e2.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/11/poster.jpg?lastWrite=638789142350894898", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452467/posters/67d5949af3e89.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/11/fanart.jpg?lastWrite=638777237005338112", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452467/backgrounds/67d5d3ea54a66.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/11/clearlogo.png?lastWrite=638777237005448112", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452467/clearlogo/67d3e4ecb556f.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-03-13T08:00:00Z", + "episodeFileCount": 4, + "episodeCount": 4, + "totalEpisodeCount": 4, + "sizeOnDisk": 5956835348, + "releaseGroups": [ + "BULiTT" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Adolescence", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 57, + "tvdbId": 452467, + "tvRageId": 0, + "tvMazeId": 78570, + "tmdbId": 249042, + "firstAired": "2025-03-13T00:00:00Z", + "lastAired": "2025-03-13T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "adolescence", + "imdbId": "tt31806037", + "titleSlug": "adolescence", + "rootFolderPath": "/Plex/Series", + "certification": "12", + "genres": [ + "Crime", + "Drama", + "Mini-Series", + "Thriller" + ], + "tags": [], + "added": "2025-03-16T12:08:19Z", + "ratings": { + "votes": 191713, + "value": 8.2 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 4, + "episodeCount": 4, + "totalEpisodeCount": 12, + "sizeOnDisk": 5956835348, + "releaseGroups": [ + "BULiTT" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 11 + }, + { + "title": "Conversations with a Killer: The John Wayne Gacy Tapes", + "alternateTitles": [ + { + "title": "John Wayne Gacy Selbstportraet eines Serienmoerders", + "seasonNumber": -1 + } + ], + "sortTitle": "conversations with a killer the john wayne gacy tapes", + "status": "ended", + "ended": true, + "overview": "He dined with the powerful. He preyed on the vulnerable. Beneath a smiling exterior was the horrifying darkness of a sadistic serial killer.", + "previousAiring": "2022-04-20T06:04:00Z", + "network": "Netflix", + "airTime": "00:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/12/banner.jpg?lastWrite=638777323103855469", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/418354/banners/6262bd9c6e633.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/12/poster.jpg?lastWrite=638777323104025469", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/418354/posters/63dfee466bb8d.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/12/fanart.jpg?lastWrite=638777323104575469", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/418354/backgrounds/66d280b2626b4.jpg" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2022-04-20T06:04:00Z", + "episodeFileCount": 3, + "episodeCount": 3, + "totalEpisodeCount": 3, + "sizeOnDisk": 8693427920, + "releaseGroups": [ + "COLL3CTiF" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2022, + "path": "/Plex/Series/Conversations with a Killer - The John Wayne Gacy Tapes", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 62, + "tvdbId": 418354, + "tvRageId": 0, + "tvMazeId": 61657, + "tmdbId": 197248, + "firstAired": "2022-04-20T00:00:00Z", + "lastAired": "2022-04-20T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "conversationswithkillerjohnwaynegacytapes", + "imdbId": "tt18970124", + "titleSlug": "conversations-with-a-killer-the-john-wayne-gacy-tapes", + "rootFolderPath": "/Plex/Series", + "certification": "16", + "genres": [ + "Crime", + "Documentary", + "Mini-Series" + ], + "tags": [], + "added": "2025-03-16T14:31:49Z", + "ratings": { + "votes": 14053, + "value": 7.1 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 3, + "episodeCount": 3, + "totalEpisodeCount": 3, + "sizeOnDisk": 8693427920, + "releaseGroups": [ + "COLL3CTiF" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 12 + }, + { + "title": "The Last of Us", + "alternateTitles": [ + { + "title": "The Last Of Us 2022", + "seasonNumber": -1 + } + ], + "sortTitle": "last of us", + "status": "continuing", + "ended": false, + "overview": "In 2003, a parasitic fungal infection ravaged the planet, turning humans into violent creatures known as the Infected. Twenty years later, hardened survivor Joel is hired to smuggle 14-year-old Ellie to the rebel Fireflies.", + "previousAiring": "2025-05-26T01:00:00Z", + "network": "HBO", + "airTime": "21:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/13/banner.jpg?lastWrite=638780042205956331", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392256/banners/66fa18f99712f.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/13/poster.jpg?lastWrite=638780042206286331", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392256/posters/6362e8b41ca10.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/13/fanart.jpg?lastWrite=638780042206546331", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392256/backgrounds/639b60a2a0921.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/13/clearlogo.png?lastWrite=638780042207086331", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/392256/clearlogo/636712bfd63b2.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 55, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": false, + "statistics": { + "episodeFileCount": 9, + "episodeCount": 9, + "totalEpisodeCount": 9, + "sizeOnDisk": 74934369294, + "releaseGroups": [ + "FCK", + "NoTag", + "Sicario" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2025-05-26T01:00:00Z", + "episodeFileCount": 7, + "episodeCount": 7, + "totalEpisodeCount": 7, + "sizeOnDisk": 19011656247, + "releaseGroups": [ + "Amen", + "FW", + "TFA", + "TyHD" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2023, + "path": "/Plex/Series/The Last of Us", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 56, + "tvdbId": 392256, + "tvRageId": 0, + "tvMazeId": 46562, + "tmdbId": 100088, + "firstAired": "2023-01-15T00:00:00Z", + "lastAired": "2025-05-25T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "thelastus", + "imdbId": "tt3581920", + "titleSlug": "the-last-of-us", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Action", + "Adventure", + "Drama", + "Horror", + "Science Fiction" + ], + "tags": [], + "added": "2025-03-19T18:03:40Z", + "ratings": { + "votes": 670466, + "value": 8.6 + }, + "statistics": { + "seasonCount": 2, + "episodeFileCount": 16, + "episodeCount": 16, + "totalEpisodeCount": 71, + "sizeOnDisk": 93946025541, + "releaseGroups": [ + "FCK", + "NoTag", + "Sicario", + "Amen", + "FW", + "TFA", + "TyHD" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 13 + }, + { + "title": "House", + "alternateTitles": [ + { + "title": "House", + "seasonNumber": -1 + }, + { + "title": "House MD", + "seasonNumber": -1 + }, + { + "title": "Dr House", + "seasonNumber": -1 + }, + { + "title": "Dr House Medical Division", + "seasonNumber": -1 + } + ], + "sortTitle": "house", + "status": "ended", + "ended": true, + "overview": "Dr. Gregory House is a maverick physician who is devoid of bedside manner. While his behavior can border on antisocial, Dr. House thrives on the challenge of solving the medical puzzles that other doctors give up on. Together with his hand-picked team of young medical experts, he’ll do whatever it takes in the race against the clock to solve the case.", + "previousAiring": "2012-05-22T01:00:00Z", + "network": "FOX", + "airTime": "21:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/14/banner.jpg?lastWrite=638781005091044780", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/73255-g7.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/14/poster.jpg?lastWrite=638781005091214780", + "remoteUrl": "https://artworks.thetvdb.com/banners/series/73255/posters/230801.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/14/fanart.jpg?lastWrite=638781005091474780", + "remoteUrl": "https://artworks.thetvdb.com/banners/fanart/original/73255-11.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/14/clearlogo.png?lastWrite=638781005091924780", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/73255/clearlogo/611b464aae83c.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 5, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2005-05-25T01:00:00Z", + "episodeFileCount": 22, + "episodeCount": 22, + "totalEpisodeCount": 22, + "sizeOnDisk": 19873454853, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2006-05-24T01:00:00Z", + "episodeFileCount": 24, + "episodeCount": 24, + "totalEpisodeCount": 24, + "sizeOnDisk": 21592337566, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 3, + "monitored": true, + "statistics": { + "previousAiring": "2007-05-30T01:00:00Z", + "episodeFileCount": 24, + "episodeCount": 24, + "totalEpisodeCount": 24, + "sizeOnDisk": 21557564871, + "releaseGroups": [ + "A-Mole", + "Wit" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 4, + "monitored": true, + "statistics": { + "previousAiring": "2008-05-20T01:00:00Z", + "episodeFileCount": 16, + "episodeCount": 16, + "totalEpisodeCount": 16, + "sizeOnDisk": 14400629507, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 5, + "monitored": true, + "statistics": { + "previousAiring": "2009-05-12T01:00:00Z", + "episodeFileCount": 24, + "episodeCount": 24, + "totalEpisodeCount": 24, + "sizeOnDisk": 21747635650, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 6, + "monitored": true, + "statistics": { + "previousAiring": "2010-05-18T01:00:00Z", + "episodeFileCount": 21, + "episodeCount": 21, + "totalEpisodeCount": 21, + "sizeOnDisk": 18949838859, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 7, + "monitored": true, + "statistics": { + "previousAiring": "2011-05-24T01:00:00Z", + "episodeFileCount": 23, + "episodeCount": 23, + "totalEpisodeCount": 23, + "sizeOnDisk": 20681073218, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 8, + "monitored": true, + "statistics": { + "previousAiring": "2012-05-22T01:00:00Z", + "episodeFileCount": 22, + "episodeCount": 22, + "totalEpisodeCount": 22, + "sizeOnDisk": 19758317016, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + } + ], + "year": 2004, + "path": "/Plex/Series/House", + "qualityProfileId": 7, + "seasonFolder": true, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 45, + "tvdbId": 73255, + "tvRageId": 3908, + "tvMazeId": 118, + "tmdbId": 1408, + "firstAired": "2004-11-16T00:00:00Z", + "lastAired": "2012-05-21T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "house", + "imdbId": "tt0412142", + "titleSlug": "house", + "rootFolderPath": "/Plex/Series", + "certification": "TV-14", + "genres": [ + "Drama", + "Mystery", + "Suspense" + ], + "tags": [], + "added": "2025-03-20T20:48:28Z", + "ratings": { + "votes": 558656, + "value": 8.7 + }, + "statistics": { + "seasonCount": 8, + "episodeFileCount": 176, + "episodeCount": 176, + "totalEpisodeCount": 181, + "sizeOnDisk": 158560851540, + "releaseGroups": [ + "A-Mole", + "Wit" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 14 + }, + { + "title": "Resident Alien", + "alternateTitles": [], + "sortTitle": "resident alien", + "status": "continuing", + "ended": false, + "overview": "A crash-landed alien named Harry takes on the identity of a small-town Colorado doctor and slowly begins to wrestle with the moral dilemma of his secret mission on Earth.", + "network": "SYFY", + "airTime": "23:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/15/banner.jpg?lastWrite=638781772339226513", + "remoteUrl": "https://artworks.thetvdb.com/banners/series/368166/banners/5fe26dbd0605c.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/15/poster.jpg?lastWrite=638781772339466513", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/368166/posters/61f2d06533a24.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/15/fanart.jpg?lastWrite=638781772339816513", + "remoteUrl": "https://artworks.thetvdb.com/banners/series/368166/backgrounds/600744be89ab1.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/15/clearlogo.png?lastWrite=638781772339996513", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/368166/clearlogo/611c170a14dff.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 2, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 16, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 3, + "monitored": true, + "statistics": { + "episodeFileCount": 8, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 5627058905, + "releaseGroups": [ + "TyHD" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 4, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2021, + "path": "/Plex/Series/Resident Alien", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 44, + "tvdbId": 368166, + "tvRageId": 0, + "tvMazeId": 36947, + "tmdbId": 96580, + "firstAired": "2021-01-27T00:00:00Z", + "lastAired": "2025-08-08T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "residentalien", + "imdbId": "tt8690918", + "titleSlug": "resident-alien", + "rootFolderPath": "/Plex/Series", + "certification": "TV-14", + "genres": [ + "Comedy", + "Drama", + "Mystery", + "Science Fiction" + ], + "tags": [], + "added": "2025-03-21T18:07:13Z", + "ratings": { + "votes": 75419, + "value": 8.1 + }, + "statistics": { + "seasonCount": 4, + "episodeFileCount": 8, + "episodeCount": 8, + "totalEpisodeCount": 44, + "sizeOnDisk": 5627058905, + "releaseGroups": [ + "TyHD" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 15 + }, + { + "title": "Asterix & Obelix: The Big Fight", + "alternateTitles": [ + { + "title": "Asterix und Obelix Der Kampf der Haeuptlinge", + "seasonNumber": -1 + }, + { + "title": "Asterix Et Obélix Le Combat Des Chefs", + "seasonNumber": -1 + }, + { + "title": "Asterix & Obelix: Il duello dei capi", + "seasonNumber": -1 + }, + { + "title": "Asterix and Obelix Der Kampf der Haeuptlinge 2025", + "seasonNumber": -1 + } + ], + "sortTitle": "asterix obelix the big fight", + "status": "ended", + "ended": true, + "overview": "When their druid forgets how to prepare the magic potion, Asterix and Obelix must defend the village as Caesar plots to use a Gallic law against them.", + "previousAiring": "2025-04-30T04:00:00Z", + "network": "Netflix", + "airTime": "00:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/16/banner.jpg?lastWrite=638794330114315219", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/400716/banners/67f0315bbe764.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/16/poster.jpg?lastWrite=638819414384737634", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/400716/posters/67aa24b4688b4.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/16/fanart.jpg?lastWrite=638825036882833527", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/400716/backgrounds/67a847873f803.jpg" + } + ], + "originalLanguage": { + "id": 2, + "name": "French" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-04-30T04:00:00Z", + "episodeFileCount": 5, + "episodeCount": 5, + "totalEpisodeCount": 5, + "sizeOnDisk": 7113642989, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Asterix & Obelix - The Big Fight", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 36, + "tvdbId": 400716, + "tvRageId": 0, + "tvMazeId": 72999, + "tmdbId": 122781, + "firstAired": "2025-04-30T00:00:00Z", + "lastAired": "2025-04-30T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "asterixobelixbigfight", + "imdbId": "tt14164922", + "titleSlug": "asterix-and-obelix-the-big-fight", + "rootFolderPath": "/Plex/Series", + "certification": "10", + "genres": [ + "Animation", + "Children", + "Comedy", + "Family", + "Fantasy" + ], + "tags": [], + "added": "2025-03-26T11:04:06Z", + "ratings": { + "votes": 4156, + "value": 8.0 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 5, + "episodeCount": 5, + "totalEpisodeCount": 5, + "sizeOnDisk": 7113642989, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 16 + }, + { + "title": "From Rock Star to Killer", + "alternateTitles": [ + { + "title": "Vom Rockstar zum Killer Der Fall Bertrand Cantat", + "seasonNumber": -1 + } + ], + "sortTitle": "from rock star to killer", + "status": "ended", + "ended": true, + "overview": "In 2003, rock singer Bertrand Cantat killed his partner, actress Marie Trintignant. This documentary revisits the case that divided a nation.", + "previousAiring": "2025-03-27T08:22:00Z", + "network": "Netflix", + "airTime": "03:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/17/banner.jpg?lastWrite=638795440630516284", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/461727/banners/67e6fe76baa7a.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/17/poster.jpg?lastWrite=638795440631196284", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/461727/posters/67e46fe775df0.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/17/fanart.jpg?lastWrite=638795440632156284", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/461727/backgrounds/67e470c90a468.jpg" + } + ], + "originalLanguage": { + "id": 2, + "name": "French" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-03-27T08:22:00Z", + "episodeFileCount": 3, + "episodeCount": 3, + "totalEpisodeCount": 3, + "sizeOnDisk": 6772410868, + "releaseGroups": [ + "TFA" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/From Rock Star to Killer", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 41, + "tvdbId": 461727, + "tvRageId": 0, + "tvMazeId": 83345, + "tmdbId": 287131, + "firstAired": "2025-03-27T00:00:00Z", + "lastAired": "2025-03-27T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "fromrockstartokiller", + "imdbId": "tt36266938", + "titleSlug": "from-rock-star-to-killer", + "rootFolderPath": "/Plex/Series", + "certification": "16", + "genres": [ + "Crime", + "Documentary", + "Mini-Series" + ], + "tags": [], + "added": "2025-04-06T13:47:42Z", + "ratings": { + "votes": 15, + "value": 7.2 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 3, + "episodeCount": 3, + "totalEpisodeCount": 3, + "sizeOnDisk": 6772410868, + "releaseGroups": [ + "TFA" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 17 + }, + { + "title": "Good American Family", + "alternateTitles": [ + { + "title": "Una buena familia americana", + "seasonNumber": -1 + } + ], + "sortTitle": "good american family", + "status": "ended", + "ended": true, + "overview": "A Midwestern couple adopts what they believe is a little girl with dwarfism. As they begin to raise her alongside their three biological children, they slowly start to believe she may not be who she says she is. As they question her story, they’re confronted with hard questions of their own about the lengths they’re willing to go to defend themselves, falling into a battle that’s fought in the tabloids, the courtroom, and ultimately their marriage.", + "previousAiring": "2025-04-30T04:00:00Z", + "network": "Hulu", + "airTime": "00:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/18/banner.jpg?lastWrite=638805133482532421", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/447905/banners/67fe737bd268a.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/18/poster.jpg?lastWrite=638805133482802421", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/447905/posters/67db01a3d46be.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/18/fanart.jpg?lastWrite=638805133483022421", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/447905/backgrounds/67d3820db9033.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/18/clearlogo.png?lastWrite=638805133483142421", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/447905/clearlogo/67fe7396865e2.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-04-30T04:00:00Z", + "episodeFileCount": 8, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 38489630302, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Good American Family", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 50, + "tvdbId": 447905, + "tvRageId": 0, + "tvMazeId": 79848, + "tmdbId": 207411, + "firstAired": "2025-03-19T00:00:00Z", + "lastAired": "2025-04-30T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "goodamericanfamily", + "imdbId": "tt21441010", + "titleSlug": "good-american-family", + "rootFolderPath": "/Plex/Series", + "certification": "TV-14", + "genres": [ + "Drama", + "Family", + "Mini-Series" + ], + "tags": [], + "added": "2025-04-17T19:02:27Z", + "ratings": { + "votes": 6191, + "value": 6.6 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 8, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 38489630302, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 18 + }, + { + "title": "The Stolen Girl", + "alternateTitles": [], + "sortTitle": "stolen girl", + "status": "ended", + "ended": true, + "overview": "A seemingly ordinary decision turns the world of Elisa, mum to two young kids, upside down when she agrees to let her nine-year-old daughter have a sleepover at her new best friend's house.", + "previousAiring": "2025-04-17T02:00:00Z", + "network": "Disney+", + "airTime": "22:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/19/banner.jpg?lastWrite=638818714598531667", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/440564/banners/67ccd7ae9ce63.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/19/poster.jpg?lastWrite=638818714599251667", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/440564/posters/67ccd719601ba.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/19/fanart.jpg?lastWrite=638818714599481667", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/440564/backgrounds/67ffbb4549473.jpg" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-04-17T02:00:00Z", + "episodeFileCount": 5, + "episodeCount": 5, + "totalEpisodeCount": 5, + "sizeOnDisk": 6760795763, + "releaseGroups": [ + "Amen" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/The Stolen Girl", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 42, + "tvdbId": 440564, + "tvRageId": 0, + "tvMazeId": 69580, + "tmdbId": 233256, + "firstAired": "2025-04-16T00:00:00Z", + "lastAired": "2025-04-16T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "thestolengirl", + "imdbId": "tt28228082", + "titleSlug": "the-stolen-girl", + "rootFolderPath": "/Plex/Series", + "genres": [ + "Drama", + "Mini-Series", + "Mystery", + "Suspense", + "Thriller" + ], + "tags": [], + "added": "2025-05-03T12:17:34Z", + "ratings": { + "votes": 3302, + "value": 6.4 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 5, + "episodeCount": 5, + "totalEpisodeCount": 5, + "sizeOnDisk": 6760795763, + "releaseGroups": [ + "Amen" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 19 + }, + { + "title": "Fate/Grand Order - Absolute Demonic Front: Babylonia", + "alternateTitles": [ + { + "title": "FGO Babylonia", + "sceneSeasonNumber": -1 + }, + { + "title": "Fate Grand Order - Zettai Majuu Sensen Babylonia", + "sceneSeasonNumber": -1 + } + ], + "sortTitle": "fategrand order absolute demonic front babylonia", + "status": "ended", + "ended": true, + "overview": "A.D. 2017\r\nThe last era in which Magecraft still existed. Society was created by human hands, but Mages grasped the truth of the world. Magecraft is comprised of techniques from past humans that cannot be explained by science, while science encompasses the techniques of future humans that Magecraft cannot achieve. Researchers and scholars of both Magecraft and science have been gathered to\r\nmaintain human civilization under the Chaldea Security Organization. But calculations then proved the extinction of humanity in 2019.\r\n\r\nThe cause of this is “realms that cannot be observed” that suddenly appeared in various eras of history, called “Singularities”.\r\nRitsuka Fujimaru, the one Master remaining in Chaldea, has been intervening within these Singularites, alongside the Demi-Servant Mash Kyrielight. He has been attending to the forbidden rituals to resolve or destroy the Singularities: the “Grand Order”.", + "previousAiring": "2021-05-15T14:30:00Z", + "network": "Tokyo MX", + "airTime": "23:30", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/22/banner.jpg?lastWrite=638824258958682459", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/353666/banners/639f45d2e8ed6.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/22/poster.jpg?lastWrite=638824258959132459", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/5d743b20d4c4c.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/22/fanart.jpg?lastWrite=638824258959342459", + "remoteUrl": "https://artworks.thetvdb.com/banners/series/353666/backgrounds/62077692.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/22/clearlogo.png?lastWrite=638824258959522459", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/353666/clearlogo/611d9aaab256e.png" + } + ], + "originalLanguage": { + "id": 8, + "name": "Japanese" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": true, + "statistics": { + "previousAiring": "2021-05-15T14:30:00Z", + "episodeFileCount": 0, + "episodeCount": 10, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2020-03-21T14:30:00Z", + "episodeFileCount": 4, + "episodeCount": 21, + "totalEpisodeCount": 21, + "sizeOnDisk": 2691723413, + "releaseGroups": [ + "AMB3R", + "MGD" + ], + "percentOfEpisodes": 19.047619047619047619047619050 + } + } + ], + "year": 2019, + "path": "/Plex/Series/Fate+Grand Order - Absolute Demonic Front - Babylonia", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": true, + "runtime": 25, + "tvdbId": 353666, + "tvRageId": 0, + "tvMazeId": 43297, + "tmdbId": 90677, + "firstAired": "2019-10-05T00:00:00Z", + "lastAired": "2020-03-21T00:00:00Z", + "seriesType": "anime", + "cleanTitle": "fategrandorderabsolutedemonicfrontbabylonia", + "imdbId": "tt9525238", + "titleSlug": "fategrand-order---absolute-demonic-front-babylonia", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Action", + "Animation", + "Anime", + "Drama" + ], + "tags": [], + "added": "2025-05-09T22:18:09Z", + "ratings": { + "votes": 1119, + "value": 7.2 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 4, + "episodeCount": 31, + "totalEpisodeCount": 31, + "sizeOnDisk": 2691723413, + "releaseGroups": [ + "AMB3R", + "MGD" + ], + "percentOfEpisodes": 12.903225806451612903225806450 + }, + "languageProfileId": 1, + "id": 22 + }, + { + "title": "Fate/Stay Night: Unlimited Blade Works", + "alternateTitles": [ + { + "title": "Fate/Stay Night: Unlimited Blade Works (2014)", + "sceneSeasonNumber": 1 + }, + { + "title": "Fate/Stay Night: Unlimited Blade Works (2015)", + "sceneSeasonNumber": 2 + } + ], + "sortTitle": "fatestay night unlimited blade works", + "status": "ended", + "ended": true, + "overview": "A group of seven mages gets chosen to become masters of seven classes of heroic spirits, in order to fight and win the Holy Grail.", + "previousAiring": "2015-10-07T03:00:00Z", + "network": "Tokyo MX", + "airTime": "12:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/23/banner.jpg?lastWrite=638824259096952471", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/278626-g2.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/23/poster.jpg?lastWrite=638824259097172471", + "remoteUrl": "https://artworks.thetvdb.com/banners/series/278626/posters/5fc09f65da04f.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/23/fanart.jpg?lastWrite=638824259097442471", + "remoteUrl": "https://artworks.thetvdb.com/banners/fanart/original/278626-2.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/23/clearlogo.png?lastWrite=638824259097662471", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/278626/clearlogo/611c106958ed5.png" + } + ], + "originalLanguage": { + "id": 8, + "name": "Japanese" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": true, + "statistics": { + "previousAiring": "2015-10-07T03:00:00Z", + "episodeFileCount": 0, + "episodeCount": 2, + "totalEpisodeCount": 2, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2015-06-27T03:00:00Z", + "episodeFileCount": 0, + "episodeCount": 25, + "totalEpisodeCount": 25, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2014, + "path": "/Plex/Series/Fate+Stay Night - Unlimited Blade Works", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": true, + "runtime": 26, + "tvdbId": 278626, + "tvRageId": 45400, + "tvMazeId": 1946, + "tmdbId": 61415, + "firstAired": "2014-10-12T00:00:00Z", + "lastAired": "2015-06-27T00:00:00Z", + "seriesType": "anime", + "cleanTitle": "fatestaynightunlimitedbladeworks", + "imdbId": "tt3621796", + "titleSlug": "fatestay-night-unlimited-blade-works", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Action", + "Adventure", + "Animation", + "Anime", + "Drama", + "Fantasy", + "Romance" + ], + "tags": [], + "added": "2025-05-09T22:18:27Z", + "ratings": { + "votes": 9857, + "value": 8.0 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 0, + "episodeCount": 27, + "totalEpisodeCount": 27, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + }, + "languageProfileId": 1, + "id": 23 + }, + { + "title": "Fate/Stay Night", + "alternateTitles": [ + { + "title": "Fate Stay Night", + "sceneSeasonNumber": -1 + }, + { + "title": "Fate Stay Night (2006)", + "sceneSeasonNumber": -1 + } + ], + "sortTitle": "fatestay night", + "status": "ended", + "ended": true, + "overview": "Shirou Emiya lost his parents in a fire when he was young and was later adopted by the sorcerer Kiritsugu Emiya. Shirou is drawn into the Holy Grail War summons a female \"Servant\" known as Saber to protect him and obtain the Holy Grail.", + "previousAiring": "2010-01-16T23:25:00Z", + "network": "Teletama", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/24/banner.jpg?lastWrite=638824259251032484", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/79151-g.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/24/poster.jpg?lastWrite=638824259251222484", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/79151-10.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/24/fanart.jpg?lastWrite=638824259251432484", + "remoteUrl": "https://artworks.thetvdb.com/banners/fanart/original/79151-3.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/24/clearlogo.png?lastWrite=638824259251622484", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/79151/clearlogo/611bb70c4cf0c.png" + } + ], + "originalLanguage": { + "id": 8, + "name": "Japanese" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": true, + "statistics": { + "previousAiring": "2010-01-16T23:25:00Z", + "episodeFileCount": 0, + "episodeCount": 4, + "totalEpisodeCount": 4, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2006-06-16T22:00:00Z", + "episodeFileCount": 24, + "episodeCount": 24, + "totalEpisodeCount": 24, + "sizeOnDisk": 12098460904, + "releaseGroups": [], + "percentOfEpisodes": 100 + } + } + ], + "year": 2006, + "path": "/Plex/Series/Fate+Stay Night", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": true, + "runtime": 25, + "tvdbId": 79151, + "tvRageId": 8542, + "tvMazeId": 1945, + "tmdbId": 37858, + "firstAired": "2006-01-07T00:00:00Z", + "lastAired": "2006-06-17T00:00:00Z", + "seriesType": "anime", + "cleanTitle": "fatestaynight", + "imdbId": "tt0774809", + "titleSlug": "fatestay-night", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Action", + "Adventure", + "Animation", + "Anime", + "Drama", + "Fantasy", + "Romance" + ], + "tags": [], + "added": "2025-05-09T22:18:42Z", + "ratings": { + "votes": 6982, + "value": 7.2 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 24, + "episodeCount": 28, + "totalEpisodeCount": 28, + "sizeOnDisk": 12098460904, + "releaseGroups": [], + "percentOfEpisodes": 85.71428571428571428571428571 + }, + "languageProfileId": 1, + "id": 24 + }, + { + "title": "Zero Day", + "alternateTitles": [ + { + "title": "Dia cero", + "seasonNumber": -1 + } + ], + "sortTitle": "zero day", + "status": "ended", + "ended": true, + "overview": "A former U.S. President is called out of retirement to find the source of a deadly cyberattack, only to discover a vast web of lies and conspiracies.", + "previousAiring": "2025-02-20T08:00:00Z", + "network": "Netflix", + "airTime": "03:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/25/banner.jpg?lastWrite=638826757214124449", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/431842/banners/67b7771238d28.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/25/poster.jpg?lastWrite=638826757214694449", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/431842/posters/67b8e6bfd4efb.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/25/fanart.jpg?lastWrite=638826757214904449", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/431842/backgrounds/67bc2d86c3727.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/25/clearlogo.png?lastWrite=638826757215114449", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/431842/clearlogo/67b8cbfc6a04b.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-02-20T08:00:00Z", + "episodeFileCount": 6, + "episodeCount": 6, + "totalEpisodeCount": 6, + "sizeOnDisk": 37032670099, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Zero Day", + "qualityProfileId": 7, + "seasonFolder": true, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 51, + "tvdbId": 431842, + "tvRageId": 0, + "tvMazeId": 65491, + "tmdbId": 216082, + "firstAired": "2025-02-20T00:00:00Z", + "lastAired": "2025-02-20T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "zeroday", + "imdbId": "tt23872886", + "titleSlug": "zero-day", + "rootFolderPath": "/Plex/Series", + "certification": "16+", + "genres": [ + "Drama", + "Mini-Series", + "Thriller" + ], + "tags": [], + "added": "2025-05-12T19:41:58Z", + "ratings": { + "votes": 47067, + "value": 7.0 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 6, + "episodeCount": 6, + "totalEpisodeCount": 6, + "sizeOnDisk": 37032670099, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 100 + }, + "languageProfileId": 1, + "id": 25 + }, + { + "title": "HIP - High Intellectual Potential", + "alternateTitles": [ + { + "title": "ACI Alta Capacidad Intelectual", + "seasonNumber": -1 + }, + { + "title": "HIP: Ermittlerin mit Mords-IQ", + "seasonNumber": -1 + }, + { + "title": "Morgane - Detective geniale", + "seasonNumber": -1 + }, + { + "title": "HPI", + "seasonNumber": -1 + } + ], + "sortTitle": "hip high intellectual potential", + "status": "continuing", + "ended": false, + "overview": "Morgane is 38 years old, has three children, two exes and an IQ of 160; her destiny as a cleaner is turned upside-down when her extraordinary abilities are spotted by the police who offer her a job as a consultant.", + "nextAiring": "2025-06-12T19:00:00Z", + "previousAiring": "2025-05-29T19:00:00Z", + "network": "TF1", + "airTime": "21:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/26/banner.jpg?lastWrite=638831622371717204", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/387368/banners/606db43e70b2a.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/26/poster.jpg?lastWrite=638831622371917204", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/387368/posters/6261c16a6db5d.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/26/fanart.jpg?lastWrite=638831622372157204", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/387368/backgrounds/6261be96cb4e1.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/26/clearlogo.png?lastWrite=638831622372377204", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/387368/clearlogo/63d6c6581e982.png" + } + ], + "originalLanguage": { + "id": 2, + "name": "French" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2021-05-20T19:55:00Z", + "episodeFileCount": 0, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 2, + "monitored": true, + "statistics": { + "previousAiring": "2022-06-16T19:00:00Z", + "episodeFileCount": 0, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 3, + "monitored": true, + "statistics": { + "previousAiring": "2023-06-29T19:00:00Z", + "episodeFileCount": 0, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 4, + "monitored": true, + "statistics": { + "previousAiring": "2024-10-03T19:00:00Z", + "episodeFileCount": 0, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 5, + "monitored": true, + "statistics": { + "nextAiring": "2025-06-12T19:00:00Z", + "previousAiring": "2025-05-29T19:00:00Z", + "episodeFileCount": 2, + "episodeCount": 3, + "totalEpisodeCount": 4, + "sizeOnDisk": 5954161447, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 66.666666666666666666666666670 + } + } + ], + "year": 2021, + "path": "/Plex/Series/HIP - High Intellectual Potential", + "qualityProfileId": 7, + "seasonFolder": true, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 55, + "tvdbId": 387368, + "tvRageId": 0, + "tvMazeId": 54780, + "tmdbId": 112738, + "firstAired": "2021-04-29T00:00:00Z", + "lastAired": "2025-06-12T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "hiphighintellectualpotential", + "imdbId": "tt14060708", + "titleSlug": "hip---high-intellectual-potential", + "rootFolderPath": "/Plex/Series", + "certification": "TP", + "genres": [ + "Comedy", + "Crime" + ], + "tags": [], + "added": "2025-05-18T10:50:32Z", + "ratings": { + "votes": 2994, + "value": 7.6 + }, + "statistics": { + "seasonCount": 5, + "episodeFileCount": 2, + "episodeCount": 35, + "totalEpisodeCount": 36, + "sizeOnDisk": 5954161447, + "releaseGroups": [ + "FW" + ], + "percentOfEpisodes": 5.7142857142857142857142857100 + }, + "languageProfileId": 1, + "id": 26 + }, + { + "title": "Alien: Earth", + "alternateTitles": [], + "sortTitle": "alien earth", + "status": "upcoming", + "ended": false, + "overview": "In the year 2120, the Earth is governed by five corporations: Prodigy, Weyland-Yutani, Lynch, Dynamic and Threshold. In this Corporate Era, cyborgs (humans with both biological and artificial parts) and synthetics (humanoid robots with artificial intelligence) exist alongside humans. But the game is changed when the wunderkind Founder and CEO of Prodigy Corporation unlocks a new technological advancement: hybrids (humanoid robots infused with human consciousness). The first hybrid prototype named “Wendy” marks a new dawn in the race for immortality. After Weyland-Yutani’s spaceship collides into Prodigy City, “Wendy” and the other hybrids encounter mysterious life forms more terrifying than anyone could have ever imagined.", + "nextAiring": "2025-08-12T04:00:00Z", + "network": "FX", + "airTime": "00:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/27/banner.jpg?lastWrite=638841454776556592", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/458912/banners/6798298ec878c.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/27/poster.jpg?lastWrite=638841454776956592", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/458912/posters/67969fb11cc02.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/27/fanart.jpg?lastWrite=638841454777346592", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/458912/backgrounds/6813c85501305.jpg" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "nextAiring": "2025-08-12T04:00:00Z", + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Alien - Earth", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 0, + "tvdbId": 458912, + "tvRageId": 0, + "tvMazeId": 52336, + "tmdbId": 157239, + "firstAired": "2025-08-12T00:00:00Z", + "lastAired": "2025-09-23T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "alienearth", + "imdbId": "tt13623632", + "titleSlug": "alien-earth", + "rootFolderPath": "/Plex/Series", + "genres": [ + "Science Fiction" + ], + "tags": [], + "added": "2025-05-29T19:57:51Z", + "ratings": { + "votes": 0, + "value": 0 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + }, + "languageProfileId": 1, + "id": 27 + }, + { + "title": "Rick and Morty", + "alternateTitles": [ + { + "title": "Rick et Morty", + "seasonNumber": -1 + }, + { + "title": "Rick y Morty", + "seasonNumber": -1 + }, + { + "title": "Rick és Morty", + "seasonNumber": -1 + }, + { + "title": "Rick es Morty", + "seasonNumber": -1 + } + ], + "sortTitle": "rick and morty", + "status": "continuing", + "ended": false, + "overview": "Follows the misadventures of an alcoholic scientist Rick and his overly nervous grandson Morty, who split their time between domestic family life and intergalactic travel. Often finding themselves in a heap of trouble that more often than not is created through their own actions.", + "nextAiring": "2025-06-16T03:00:00Z", + "previousAiring": "2025-06-09T03:00:00Z", + "network": "Adult Swim", + "airTime": "23:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/28/banner.jpg?lastWrite=638841454776436592", + "remoteUrl": "https://artworks.thetvdb.com/banners/graphical/275274-g8.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/28/poster.jpg?lastWrite=638841454776876592", + "remoteUrl": "https://artworks.thetvdb.com/banners/posters/275274-2.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/28/fanart.jpg?lastWrite=638841454777186592", + "remoteUrl": "https://artworks.thetvdb.com/banners/fanart/original/275274-10.jpg" + }, + { + "coverType": "clearlogo", + "url": "/MediaCover/28/clearlogo.png?lastWrite=638841454777506592", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/275274/clearlogo/611b76b134415.png" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 0, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 113, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 1, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 11, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 2, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 3, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 4, + "monitored": false, + "statistics": { + "episodeFileCount": 7, + "episodeCount": 7, + "totalEpisodeCount": 10, + "sizeOnDisk": 3098981602, + "releaseGroups": [ + "CiELOS" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 5, + "monitored": false, + "statistics": { + "episodeFileCount": 7, + "episodeCount": 7, + "totalEpisodeCount": 10, + "sizeOnDisk": 3863023527, + "releaseGroups": [ + "FTMVHD", + "UN4Gi", + "ViVENDi" + ], + "percentOfEpisodes": 100 + } + }, + { + "seasonNumber": 6, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 7, + "monitored": false, + "statistics": { + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + }, + { + "seasonNumber": 8, + "monitored": true, + "statistics": { + "nextAiring": "2025-06-16T03:00:00Z", + "previousAiring": "2025-06-09T03:00:00Z", + "episodeFileCount": 0, + "episodeCount": 3, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2013, + "path": "/Plex/Series/Rick and Morty", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 23, + "tvdbId": 275274, + "tvRageId": 33381, + "tvMazeId": 216, + "tmdbId": 60625, + "firstAired": "2013-12-02T00:00:00Z", + "lastAired": "2025-07-27T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "rickmorty", + "imdbId": "tt2861424", + "titleSlug": "rick-and-morty", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Adventure", + "Animation", + "Comedy", + "Science Fiction" + ], + "tags": [], + "added": "2025-05-29T19:57:51Z", + "ratings": { + "votes": 652992, + "value": 9.1 + }, + "statistics": { + "seasonCount": 8, + "episodeFileCount": 14, + "episodeCount": 17, + "totalEpisodeCount": 194, + "sizeOnDisk": 6962005129, + "releaseGroups": [ + "CiELOS", + "FTMVHD", + "UN4Gi", + "ViVENDi" + ], + "percentOfEpisodes": 82.35294117647058823529411765 + }, + "languageProfileId": 1, + "id": 28 + }, + { + "title": "Dying for Sex", + "alternateTitles": [], + "sortTitle": "dying for sex", + "status": "ended", + "ended": true, + "overview": "After Molly Kochan receives a diagnosis of Stage IV metastatic breast cancer, she leaves her husband and explores the full breadth and complexity of her sexual desires for the first time in her life.", + "previousAiring": "2025-04-04T07:00:00Z", + "network": "FX", + "airTime": "03:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/29/banner.jpg?lastWrite=638843110883509123", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/442867/banners/67ef881472890.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/29/poster.jpg?lastWrite=638843110883989123", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/442867/posters/67c104f746dd2.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/29/fanart.jpg?lastWrite=638843110884279123", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/442867/backgrounds/67c65fe6dfb8c.jpg" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "previousAiring": "2025-04-04T07:00:00Z", + "episodeFileCount": 0, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Dying for Sex", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 32, + "tvdbId": 442867, + "tvRageId": 0, + "tvMazeId": 73213, + "tmdbId": 241405, + "firstAired": "2025-04-04T00:00:00Z", + "lastAired": "2025-04-04T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "dyingforsex", + "imdbId": "tt30252752", + "titleSlug": "dying-for-sex", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Comedy", + "Drama", + "Mini-Series", + "Romance" + ], + "tags": [], + "added": "2025-05-31T17:58:02Z", + "ratings": { + "votes": 6324, + "value": 7.5 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 0, + "episodeCount": 8, + "totalEpisodeCount": 8, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + }, + "languageProfileId": 1, + "id": 29 + }, + { + "title": "Dexter: Resurrection", + "alternateTitles": [], + "sortTitle": "dexter resurrection", + "status": "upcoming", + "ended": false, + "overview": "The fourth entry in the DEXTER franchise, following 'Dexter: New Blood', following Dexter Morgan in New York City after surviving being shot by his son Harrison.", + "nextAiring": "2025-07-14T00:00:00Z", + "network": "Paramount+ with Showtime", + "airTime": "20:00", + "images": [ + { + "coverType": "banner", + "url": "/MediaCover/30/banner.jpg?lastWrite=638844946521148321", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452595/banners/683c7716ad945.jpg" + }, + { + "coverType": "poster", + "url": "/MediaCover/30/poster.jpg?lastWrite=638844946521618321", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452595/posters/683c7f79d3d19.jpg" + }, + { + "coverType": "fanart", + "url": "/MediaCover/30/fanart.jpg?lastWrite=638844946521888321", + "remoteUrl": "https://artworks.thetvdb.com/banners/v4/series/452595/backgrounds/683c858d426f3.jpg" + } + ], + "originalLanguage": { + "id": 1, + "name": "English" + }, + "seasons": [ + { + "seasonNumber": 1, + "monitored": true, + "statistics": { + "nextAiring": "2025-07-14T00:00:00Z", + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + } + } + ], + "year": 2025, + "path": "/Plex/Series/Dexter - Resurrection", + "qualityProfileId": 7, + "seasonFolder": false, + "monitored": true, + "monitorNewItems": "all", + "useSceneNumbering": false, + "runtime": 0, + "tvdbId": 452595, + "tvRageId": 0, + "tvMazeId": 78665, + "tmdbId": 259909, + "firstAired": "2025-07-13T00:00:00Z", + "lastAired": "2025-09-07T00:00:00Z", + "seriesType": "standard", + "cleanTitle": "dexterresurrection", + "imdbId": "tt33043892", + "titleSlug": "dexter-resurrection", + "rootFolderPath": "/Plex/Series", + "certification": "TV-MA", + "genres": [ + "Crime", + "Drama" + ], + "tags": [], + "added": "2025-06-02T20:57:26Z", + "ratings": { + "votes": 0, + "value": 0 + }, + "statistics": { + "seasonCount": 1, + "episodeFileCount": 0, + "episodeCount": 0, + "totalEpisodeCount": 10, + "sizeOnDisk": 0, + "releaseGroups": [], + "percentOfEpisodes": 0 + }, + "languageProfileId": 1, + "id": 30 + } +] \ No newline at end of file