cinemagoer
Retrieve data from IMDb.
Decision gist · record as of 2026-08-14
Yes, if you need offline IMDb data access and are willing to manage a local database. The package is actively maintained, has low install friction, and offers a clean API for dataset queries. Not suitable if you need real-time web scraping of IMDb pages. GPLv2 copyleft licensing requires derivative works to be open-source.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- You must first download IMDb TSV datasets from https://datasets.imdbws.com/, import them using s32cinemagoer.py into a SQLAlchemy-supported database, and provide the database URI to Cinemagoer.
- Low install friction with a pure-Python wheel and only two runtime dependencies (lxml, sqlalchemy).
- Actively maintained with a recent release (48 days old) and ongoing repository activity.
License · maintenance · safety
copyleft license (copyleft) — Released under GPLv2, a copyleft license. Any derivative work or distribution must also be licensed under GPLv2 or later and include source code availability.
last release 2026-06-27 (48 days) · last repo commit 2026-07-23 · 1,323 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,615 downloads/mo, #14,610 on PyPI
Alternatives
Verify before relying
pip install cinemagoer
from cinemagoer import Cinemagoer
ia = Cinemagoer('s3', uri='sqlite:///cinemagoer.db')
movie = ia.get_movie('0133093')
for director in movie['directors']:
print(director['name'])- Whether the WAF introduced in April 2026 affects any remaining functionality beyond the documented dataset-only scope.
- Performance characteristics and scalability limits for large IMDb dataset queries.
- Compatibility details with specific SQLAlchemy database backends beyond SQLite.
What it is and what it does
Cinemagoer is a Python library for querying IMDb movie, actor, director, and company data from locally-hosted databases populated with IMDb's freely distributed TSV datasets. It is not a web scraper—as of April 2026, the project explicitly shifted away from IMDb website parsing due to WAF restrictions and now focuses solely on handling the official downloadable datasets. The library uses SQLAlchemy as its database abstraction layer, supporting any SQLAlchemy-compatible database backend.
You populate a local database by downloading IMDb's TSV files and importing them with s32cinemagoer.py, then query that database through Cinemagoer's API. The library offers a simple interface for retrieving movies by ID, searching for people by name, and accessing related metadata like cast, crew, genres, and character information. It requires Python 3.10 or later and depends on lxml and sqlalchemy.
Use it for
- Build a film discovery application using local IMDb data without relying on external APIs.
- Conduct film research or analysis by querying actor filmographies, director credits, and genre classifications.
- Create a personal movie database application with cast and crew information for offline use.
- Develop a command-line tool to search and display movie details, actor profiles, and production credits.
- Integrate IMDb metadata into a media management or cataloging system using a local database.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need offline IMDb data access and are willing to manage a local database.
The package is actively maintained, has low install friction, and offers a clean API for dataset queries. Not suitable if you need real-time web scraping of IMDb pages. GPLv2 copyleft licensing requires derivative works to be open-source.
Install
cinemagoer on PyPI
Before you install
Low install friction with a pure-Python wheel and only two runtime dependencies (lxml, sqlalchemy). Actively maintained with a recent release (48 days old) and ongoing repository activity.
You must first download IMDb TSV datasets from https://datasets.imdbws.com/, import them using s32cinemagoer.py into a SQLAlchemy-supported database, and provide the database URI to Cinemagoer.
License in practice
Released under GPLv2, a copyleft license. Any derivative work or distribution must also be licensed under GPLv2 or later and include source code availability.
Quickstart
pip install cinemagoer
from cinemagoer import Cinemagoer
ia = Cinemagoer('s3', uri='sqlite:///cinemagoer.db')
movie = ia.get_movie('0133093')
for director in movie['directors']:
print(director['name'])
Verify before relying
- Whether the WAF introduced in April 2026 affects any remaining functionality beyond the documented dataset-only scope.
- Performance characteristics and scalability limits for large IMDb dataset queries.
- Compatibility details with specific SQLAlchemy database backends beyond SQLite.
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packageslxmlsqlalchemy |
| Maintenance | Actively maintained 48 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,615 / month, #14,610 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)Natural Language :: EnglishNatural Language :: ItalianNatural Language :: TurkishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Database :: Front-EndsTopic :: Software Development :: Libraries :: Python Modules |
Evidence: cinemagoer-2026.6.27-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “imdb data retrieval python”
- cinemagoerCinemagoer retrieves and queries movie, actor, director, and company…
- trec-car-toolsProvides Python and Java bindings to read TREC Complex Answer…
- ecmwf-datastores-clientPython client for the ECMWF Data Stores Service API, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also tensorflow-datasets · guessit · django-activity-stream · astroquery · eventregistry · ir-datasets · bokeh · color-matcher · xraydb · django-modelcluster