cinemagoer
Cinemagoer is a Python library for querying IMDb movie data. As of April 2026, it shifted to working exclusively with IMDb's freely distributed datasets rather than scraping the live website, due to WAF restrictions. Users must download IMDb TSV files, import them into a local database, and query through the library's API.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | cinemagoer/cinemagoer |
| Owner | cinemagoer |
| Primary language | HTML |
| License | GPL-2.0 — OSI-approved |
| Stars | 1.3k |
| Forks | 376 |
| Open issues | 6 |
| Latest release | 2026.06.27 (2026-06-27) |
| Last updated | 2026-06-27 |
| Source | https://github.com/cinemagoer/cinemagoer |
What cinemagoer is
A Python 3 package that provides SQLAlchemy-backed database abstraction for IMDb datasets, supporting multiple database backends. The library parses IMDb's official downloadable TSV.GZ files via the s32cinemagoer.py import tool and exposes a query API for movies, people, and company data. Recent architectural shift away from web scraping toward offline dataset handling.
Get the cinemagoer source
Clone the repository and explore it locally.
git clone https://github.com/cinemagoer/cinemagoer.gitcd cinemagoer# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Manual data pipeline: download ~15GB+ IMDb TSV files, run s32cinemagoer.py import, then initialize Cinemagoer with database URI. Budget time for initial ETL.
- Database choice impacts performance; SQLite suitable for development, consider PostgreSQL/MySQL for production workloads.
- Data freshness tied to IMDb's release schedule; no automatic or incremental updates—plan periodic re-imports if needed.
- GPL-2.0 copyleft requires any modifications or integrations to remain open-source; internal commercial forks require legal review.
- Dependency on SQLAlchemy and a backing database adds operational footprint; monitor database schema and compatibility across library upgrades.
When to avoid it — and what to weigh
- Real-Time IMDb Web Scraping Required — Project scope explicitly needs live IMDb website content. Official project no longer supports this; redirect to cinemagoerng for page-scraping needs.
- Proprietary/Closed-Source Software — GPL-2.0 license requires derivative works to be open-source. If commercial closed-source product is required, license incompatibility is a blocker.
- Minimal Latency Data Updates — If application requires sub-hourly IMDb updates, the offline dataset model (requiring manual re-import) is unsuitable.
- Minimal Dependencies or Embedded Scenarios — Requires SQLAlchemy, database backend setup, and manual TSV dataset download/import—not zero-dependency or plug-and-play.
License & commercial use
GPL-2.0 (GNU General Public License v2.0). Copyleft license: any modification or derivative work must be distributed under GPL-2.0 and source code made available. Not permissive for closed-source commercial products without separate licensing agreement.
Commercial use of Cinemagoer itself is technically permitted under GPL-2.0, but only if the product/service is also open-source and GPL-2.0 compliant. Building a closed-source commercial application on top of Cinemagoer is not allowed without an exception license. Additionally, IMDb data is subject to IMDb's separate terms—review DISCLAIMER.txt for non-commercial use restrictions on the dataset itself.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
No details provided on input validation, SQL injection prevention, or authentication mechanisms. Database credentials and TSV file integrity depend on user configuration. IMDb dataset licensing terms and data privacy obligations require review before handling user data or publishing results. No published security audit or CVE history available in the data.
Alternatives to consider
cinemagoerng
Official sibling project for live IMDb web-page parsing; required if real-time website scraping is mandatory. Requires caller to provide HTTP fetch function.
IMDb Official APIs / Alternative Data Services
Unknown: data does not specify if IMDb offers official commercial APIs or if third-party services (e.g., OMDB, TMDB) are viable alternatives.
Custom Web Scraper + Local DB
Roll-your-own scraper with permissive license (MIT, Apache 2.0) if full control, non-copyleft licensing, or closed-source use is required. Higher development cost but avoids GPL compliance.
Build on cinemagoer with DEV.co software developers
Cinemagoer provides a straightforward Python API for offline IMDb dataset queries. Our team can help architect your database pipeline, evaluate licensing constraints, and design scalable integration. Contact us to discuss your use case.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
cinemagoer FAQ
Can I use Cinemagoer in a closed-source commercial product?
How do I get real-time IMDb data with this library?
What databases are supported?
How often are IMDb datasets updated?
Work with a software development agency
From first prototype to production, DEV.co delivers software development services around tools like cinemagoer. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source databases and beyond.
Ready to integrate IMDb data into your application?
Cinemagoer provides a straightforward Python API for offline IMDb dataset queries. Our team can help architect your database pipeline, evaluate licensing constraints, and design scalable integration. Contact us to discuss your use case.