Skip to content

cinemagoer/cinemagoer

Repository files navigation

PyPI version. Supported Python versions. Project license.

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.

Main features

  • 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?

Installation

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

Example

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:

  1. Download the *.tsv.gz files from https://datasets.imdbws.com/ (or run download-from-s3)
  2. Import them with s32cinemagoer.py
  3. 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.db
from 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'])

Getting help

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.

Contribute

Visit the CONTRIBUTOR_GUIDE.rst to learn how you can contribute to the Cinemagoer package.

License

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.

About

Cinemagoer is a Python package useful to retrieve and manage the data of the IMDb (to which we are not affiliated in any way) movie database about movies, people and characters

Topics

Resources

License

Stars

1.3k stars

Watchers

51 watching

Forks

Packages

 
 
 

Contributors