Quick start
The first thing to do is to import imdb and call the imdb.IMDb
function to get an access object through which IMDb data can be retrieved:
>>> import imdb
>>> ia = imdb.Cinemagoer()
By default this will fetch the data from the IMDb web server but there are other options. See the access systems document for more information.
Searching
You can use the search_movie method
of the access object to search for movies with a given (or similar) title.
For example, to search for movies with titles like “matrix”:
>>> movies = ia.search_movie('matrix')
>>> movies[0]
<Movie id:0133093[http] title:_The Matrix (1999)_>
Similarly, you can search for people and companies using
the search_person and
the search_company methods:
>>> people = ia.search_person('angelina')
>>> people[0]
<Person id:0001401[http] name:_Jolie, Angelina_>
>>> companies = ia.search_company('rko')
>>> companies[0]
<Company id:0226417[http] name:_RKO_>
As the examples indicate, the results are lists of
Movie, Person, or
Company objects. These behave like
dictionaries, i.e. they can be queried by giving the key of the data
you want to obtain:
>>> movies[0]['title']
'The Matrix'
>>> people[0]['name']
'Angelina Jolie'
>>> companies[0]['name']
'RKO'
Movie, person, and company objects have id attributes which -when fetched through the IMDb web server- store the IMDb id of the object:
>>> movies[0].movieID
'0133093'
>>> people[0].personID
'0001401'
>>> companies[0].companyID
'0226417'
Retrieving
If you know the IMDb id of a movie, you can use
the get_movie method to retrieve its data.
For example, the movie “The Untouchables” by Brian De Palma has the id
“0094226”:
>>> movie = ia.get_movie('0094226')
>>> movie
<Movie id:0094226[http] title:_The Untouchables (1987)_>
Similarly, the get_person and
the get_company methods can be used
for retrieving Person and
Company data:
>>> person = ia.get_person('0000206')
>>> person['name']
'Keanu Reeves'
>>> person['birth date']
'1964-9-2'
>>> company = ia.get_company('0017902')
>>> company['name']
'Pixar Animation Studios'
Keywords
You can search for keywords similar to the one provided:
>>> keywords = ia.search_keyword('dystopia')
>>> keywords
['dystopia', 'dystopian-future', ..., 'dystopic-future']
And movies that match a given keyword:
>>> movies = ia.get_keyword('dystopia')
>>> len(movies)
50
>>> movies[0]
<Movie id:1677720[http] title:_Ready Player One (2018)_>
Top / bottom movies
It’s possible to retrieve the list of top 250 and bottom 100 movies:
>>> top = ia.get_top250_movies()
>>> top[0]
<Movie id:0111161[http] title:_The Shawshank Redemption (1994)_>
>>> bottom = ia.get_bottom100_movies()
>>> bottom[0]
<Movie id:4458206[http] title:_Code Name: K.O.Z. (2015)_>
The get_top250_tv, get_popular100_movies, get_popular100_movies and get_top250_indian_movies methods are also available.
Exceptions
Any error related to Cinemagoer can be caught by checking for
the imdb.IMDbError exception:
from imdb import Cinemagoer, IMDbError
try:
ia = Cinemagoer()
people = ia.search_person('Mel Gibson')
except IMDbError as e:
print(e)