Hey guys,
I know a lot of you have been waiting for this so here it is, the TV API.
We currently have 17 methods available:
GET '/3/tv/:id'
GET '/3/tv/:id/credits'
GET '/3/tv/:id/external_ids'
GET '/3/tv/:id/images'
GET '/3/tv/:id/translations'
GET '/3/tv/:id/season/:season_number'
GET '/3/tv/:id/season/:season_number/credits'
GET '/3/tv/:id/season/:season_number/external_ids'
GET '/3/tv/:id/season/:season_number/images'
GET '/3/tv/:id/season/:season_number/episode/:episode_number'
GET '/3/tv/:id/season/:season_number/episode/:episode_number/credits'
GET '/3/tv/:id/season/:season_number/episode/:episode_number/external_ids'
GET '/3/tv/:id/season/:season_number/episode/:episode_number/images'
GET '/3/tv/on_the_air'
GET '/3/tv/top_rated'
GET '/3/tv/popular'
GET '/3/search/tv'
GET '/3/discover/tv'
And 3 new person credit methods to support TV and external IDs:
GET '/3/person/:id/movie_credits'
GET '/3/person/:id/tv_credits'
GET '/3/person/:id/combined_credits'
GET '/3/person/:id/external_ids'
And also new credit, find and network namespace:
GET '/3/credit/:id'
GET '/3/find/:id'
GET '/3/network/:id'
Functionality wise, they work almost identical to movies or the way you expect things to work on v3. The most notable thing missing right now is getting to the TV credits from the person side of things. I'll be working on that this week.
Understandably, this is a preview release and should be considered a risk. Some data could change depending on the feedback I get and if you roll this out publicly you are assuming that risk. I don't expect it to be like this for long, maybe a few weeks. I'll let everyone know when the design is final.
Now go ahead everyone, test!
Open Tickets
Resolved Tickets
Can't find a movie or TV show? Login to create it.
Want to rate or add this item to a list?
Not a member?
Reply by Travis Bell
on November 22, 2013 at 12:30 PM
I just added the new
/find
method. This is the new (and permanent) way of searching for objects in our database via an external id. You can read more about it here:http://docs.themoviedb.apiary.io/#find
But for example, if you had the TVDB id for Breaking Bad (81189), you can query for that here on TMDb:
Cheers.
Reply by Gudui
on December 2, 2013 at 11:29 AM
Hey
Will it be possible to get youtube trailer from TV series sometimes in the future?
Reply by Travis Bell
on December 2, 2013 at 11:31 AM
Yes, it will. Open tickets for that are here and here.
Reply by Damien Haynes
on December 6, 2013 at 9:01 PM
Hi Travis, will that also take into account trailers at the episode level as well ? Didn't look like that was in scope from those two tickets.
Reply by Travis Bell
on December 7, 2013 at 11:56 AM
Hi Damien,
I hadn't originally planned to have episode videos. Is there really many of those around? I know of lots of show and season trailers but episodes... is there even that content online?
Reply by Damien Haynes
on December 7, 2013 at 4:07 PM
I have have quite a lot of luck with taking a sneak peak for trailers of episodes when im excited about the next episode, I usually do a search on YouTube with string '$(seriestitle) $(season)x$(episode)' and if its a special I use the episode title '$(seriestitle) $(episodetitle)'.
Im not sure if there any other good sources but YouTube definitely is a good one.
Reply by Travis Bell
on December 9, 2013 at 11:27 AM
Hey Damien,
Ok, cool. I've created a new ticket for that.
Reply by Snog
on December 9, 2013 at 3:15 PM
Since I am a developer, I don't normally ask these types of questions but...
Any idea on a time frame for TV Genres?
It's the last thing I need to complete my project.
Reply by john16384
on December 12, 2013 at 10:12 PM
Adding support for this API now. Some feedback and questions:
In /3/tv/{id}:
episode_run_time is an array; I'm mainly interested here in the most common runtime (ie, 45m, 60m.. even if there are "specials" that are much shorter or longer. Will the most common runtime be the first entry in the array? Otherwise there'll be absolutely no way of giving the user any good information about the normal duration of an episode (can't take the minimum, can't take the maximum).
episode_run_time (in TV) vs runtime (in Movie) -- inconsistent spelling
imdb_id: this does not seem to be present for a TV series
banners (banner_path): I'm wondering if these may get added, ala TVDB's banners (a 6:1 ratio image, with a clearly readable title, stylized in a font typically used by the serie)
In /3/tv/{id}/credits:
"Get the cast & crew information about a TV series. Just like the website, we pull this information from the last season of the series." -- I usually don't deal with Seasons directly in my app, but to get all regulars (which I'd like to display right away when selecting the serie) I'd have to do (1 query) X (number of seasons) using the season specific credits method. This would run into the maximum number of queries per second for any series with a fair amount of seasons I think?
Thanks for adding this support, TMDB is by far my favourite API to program against :)
Reply by Travis Bell
on December 13, 2013 at 12:34 AM
Hi john16384,
Not necessarily and I'm not sure how to handle this quite yet. Perhaps just an option to select the "default" which we could say is yes, the first of the array.
Probably won't change this as I made it deliberately more clear that we're talking about the episodes here.
It's on the external_ids method.
I was wondering how long it would take someone to ask about this. You're the first. I haven't explicitly decided against them I just wasn't sure there would be that much demand. Long story short, I don't know yet.
Maybe but this design was 100% deliberate. Even on the website here when showing the cast I only show the last season. This design makes sense to me since lots of shows have both varying actors and other so consistent that as long as the latest season data is complete you should be good to go.
It's our pleasure!
Reply by john16384
on December 13, 2013 at 6:24 AM
Actually I meant the space in the word "runtime" :) It seems to have gotten lost in the post (underscores messed it up :))
Fair enough -- I always liked the stylized banners to show the Serie style + Name. I have it working now with just the Serie title, and the selection screen looks empty without them. I'll probably restyle it to use Backdrops / Posters, maybe coverflow style.
Alright, so does that mean that the last season contains all the regulars, regardless if they were present in the last season? Checking Stargate SG1 suggests they are, so does Charmed and Monk. However, Star Trek TNG seems to only list the last season regulars. Just incomplete I'm guessing then?
I also noticed some cast members can appear twice: Claudia Black on Stargate SG1 is listed twice, with two different character names -- if this is intentional, it sure is better than using a Slash or Comma or whatever to seperate role names, I just need to take into account then.
Thanks for the quick reply. I got it working with Series now, will start on Episode support :)
Reply by john16384
on December 13, 2013 at 4:23 PM
Just finished adding episode support.
I only noticed that the API example is missing the "still_path", but it is present for most of the episodes.
Most "overview"s seem to be like: "Title of Episode" is the Xth episode of the Xth season of "Producer"'s television series "Serie Name". I assume they are intended to be filled with a synopsis of the plot eventually.
Looks good :)
Reply by Travis Bell
on December 13, 2013 at 5:16 PM
Unfortunately, we're only going to have as good of content as we could get on Freebase (that was who we used as an original import). Over time and with more projects using our data, I would expect a lot of our TV data to improve. It's a bit of a chicken and the egg problem right now though. We're seeing usage going up but still, it can take a while.
Thanks!
Reply by jigas
on December 16, 2013 at 8:10 AM
Greetings,
How easy can it be to be able to call
/3/tv/:imdb_id/images?api_key=xx&external_source=imdb_id /3/tv/:imdb_id?api_key=xx&external_source=imdb_id
eg
/3/tv/tt2193021/images?api_key=xx&external_source=imdb_id
big fun of ur work regards
Reply by Travis Bell
on December 16, 2013 at 10:51 AM
How easy? Pretty easy but unfortunately, it's not a precedent I want to set. A system like that doesn't scale easily with multiple sources and trying to make sure we have re-usable cache objects.
The only way we will support external ID lookups is via the find method.
Cheers!