Cinemagoer (previously known as IMDbPY) is a Python package for retrieving and managing IMDb data about movies, people and companies from IMDb non-commercial downloadable datasets.
This project and its authors are not affiliated in any way to Internet Movie Database Inc.; see the DISCLAIMER.txt file for details about data licenses.
Revamp notice
Starting on April 2026, the scope of this project shifted significantly due to the introduction of a WAF in front of the IMDb website. From that day we can no longer guarantee that the package will work as expected with IMDb data (from a technical and legal standpoints), and we limited the scope of Cinemagoer to the handling of the dataset that is freely distributed by IMDb.
If you still need IMDb web-page parsing, see cinemagoerng. It is focused on parsing IMDb web pages, but requires you to provide the function used to fetch those pages.
- written in Python 3
- platform-independent
- simple and complete API
- released under the terms of the GPL 2 license
Cinemagoer powers many other software and has been used in various research papers. Curious about that?
Whenever possible, please use the latest version from the repository:
pip install git+https://github.com/cinemagoer/cinemagoer
But if you want, you can also install the latest release from PyPI:
pip install cinemagoer
Here's an example that demonstrates how to use Cinemagoer:
Note
Cinemagoer reads data from a local database populated from IMDb datasets. Before running Python examples:
- Download the
*.tsv.gzfiles from https://datasets.imdbws.com/ (or rundownload-from-s3) - Import them with
s32cinemagoer.py - Open the populated database with Cinemagoer
SQLite is used in examples for simplicity, but any SQLAlchemy-supported database can be used.
s32cinemagoer.py /path/to/imdb-tsv-files/ sqlite:///cinemagoer.dbfrom imdb import Cinemagoer
# Open the SQLite database populated with s32cinemagoer.py.
ia = Cinemagoer('s3', uri='sqlite:///cinemagoer.db')
# get a movie
movie = ia.get_movie('0133093')
# print the names of the directors of the movie
print('Directors:')
for director in movie['directors']:
print(director['name'])
# print the genres of the movie
print('Genres:')
for genre in movie['genres']:
print(genre)
# search for a person name
people = ia.search_person('Mel Gibson')
for person in people:
print(person.personID, person['name'])Please refer to the support page on the project homepage and to the the online documentation on Read The Docs.
The sources are available on GitHub.
Visit the CONTRIBUTOR_GUIDE.rst to learn how you can contribute to the Cinemagoer package.
Copyright (C) 2004-2026 Davide Alberani <da@mimante.net> et al.
Cinemagoer is released under the GPL license, version 2 or later. Read the included LICENSE.txt file for details.
NOTE: For a list of persons who share the copyright over specific portions of code, see the CONTRIBUTORS.txt file.
NOTE: See also the recommendations in the DISCLAIMER.txt file.