DEV.co
Open-Source Databases · cinemagoer

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.

Source: GitHub — github.com/cinemagoer/cinemagoer
1.3k
GitHub stars
376
Forks
HTML
Primary language
GPL-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorycinemagoer/cinemagoer
Ownercinemagoer
Primary languageHTML
LicenseGPL-2.0 — OSI-approved
Stars1.3k
Forks376
Open issues6
Latest release2026.06.27 (2026-06-27)
Last updated2026-06-27
Sourcehttps://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.

Quickstart

Get the cinemagoer source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/cinemagoer/cinemagoer.gitcd cinemagoer# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Offline IMDb Dataset Research

Academic and research projects requiring bulk IMDb data analysis without real-time web scraping or rate limiting concerns. Download once, query repeatedly from a local database.

Movie/Media Application Backend

Building movie discovery, recommendation, or catalog applications where you control the data refresh cycle and can tolerate non-real-time IMDb snapshots.

Data Migration & ETL Workflows

Extracting, transforming, and moving IMDb data into proprietary systems or data warehouses using the standardized import pipeline.

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.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related 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?
No, not without a separate commercial license exception. GPL-2.0 requires any derivative work to be open-source. Additionally, IMDb data licensing (see DISCLAIMER.txt) may further restrict commercial use of the dataset itself.
How do I get real-time IMDb data with this library?
You cannot. As of April 2026, Cinemagoer only works with offline IMDb downloadable datasets. For live web scraping, use the sister project cinemagoerng instead.
What databases are supported?
Any database supported by SQLAlchemy (PostgreSQL, MySQL, SQLite, Oracle, etc.). Examples use SQLite for simplicity; production deployments typically use PostgreSQL or MySQL.
How often are IMDb datasets updated?
Unknown from provided data. Depends on IMDb's release schedule. Manual re-import is required; no automatic update mechanism is described.

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.