Skip to main content

A Python service for querying IMDb data

Reason this release was yanked:

has a BUG in release_date parsing FIXED IN v0.4.2

Project description

Build Status PyPI Version Python Versions PyPI Downloads

imdbinfo

Your personal gateway to IMDb data. Search for movies, series and people and get structured information in seconds.

Features

  • 🔍 Search movies,series, miniseries and people by name or title
  • 🎬 Detailed movie info including cast, crew, ratings and more
  • 👥 Detailed person info with biography, filmography and images
  • 📺 TV series and miniseries support with seasons and episodes
  • 📅 Release dates and box office information
  • 🌍 International titles and alternate titles
  • 📸 Poster images and backdrops
  • 📊 Ratings from IMDb and other sources
  • 🗂️ Full filmography for actors, directors and writers
  • 📝 Typed Pydantic models for predictable responses
  • No API keys required

Installation

pip install imdbinfo

Quick Start

from imdbinfo.services import search_title, get_movie, get_name, get_season_episodes

# Search for a title
results = search_title("The Matrix")
for movie in results.titles:
    print(f"{movie.title} ({movie.year}) - {movie.imdb_id}")

# Get movie details
movie = get_movie("0133093")  # or 'tt0133093'
print(movie.title, movie.year, movie.rating)

# Get movie kind:
print(movie.kind)  # movie, tvSeries, tvMiniSeries, tvEpisode, video
print(movie.is_series())  # False

# Get person details
person = get_name("nm0000206")  # or '0000206' 
print(person.name, person.birth_date)

Working with Series and Episodes

The movie object provides helpful methods to identify its type:

  • movie.is_series() — Returns True if the movie is a series.
  • movie.is_episode() — Returns True if the movie is an episode.

Depending on the type, you can access additional information:

  • For series: use movie.info_series to get series details.
  • For episodes: use movie.info_episode to get episode details.

Example: Working with Series and Episodes

from imdbinfo.services import get_movie, get_season_episodes

# Fetch a TV series as a Movie object
walking_dead_serie = get_movie("tt1520211")  # Walking Dead

# Check if the object is a series
print(walking_dead_serie.is_series())  # True

# Access series-specific information
print(f"Series Info: {walking_dead_serie.info_series}")

# Retrieve episodes for the series season 1
walking_dead_episodes = get_season_episodes(walking_dead_serie.imdb_id, season=1)

# Print details for the first 3 episodes from the season 1
for episode_info in walking_dead_episodes[:3]:
    print(episode_info)

# Fetch a single episode as a Movie object and check its type
episode_detail = get_movie(episode_info.imdb_id)
print("Is Episode:", episode_detail.is_episode())  # True

# Access episode-specific information: series imdbid, season and episode number ...
print(f"Episode Info: {episode_detail.info_episode}")

⭐⭐New: All episodes in a series⭐⭐

You can now retrieve all episodes in a series with a single call:

from imdbinfo.services import get_all_episodes
# Fetch all episodes for a series
all_episodes = get_all_episodes("tt1520211")  # Walking Dead
for episode in all_episodes:
    print(f"Title: {episode.title} - ({episode.imdbId})")
    print(f"Plot: {episode.plot[:100]}...")
    print(f"Release Date: {episode.release_date}")
    print(f"Rating: {episode.rating}")
    print(f"Duration: {episode.duration/60}min")
    print("" + "="*50)

📝 For more examples see the examples folder.

💡 Looking for a ready-to-use API based on this package? Check out qdMovieAPI — a fast and simple way to access IMDb data via REST!

Why choose imdbinfo?

  • Easy to use Python API
  • Returns clean structured data
  • Powered by requests and lxml
  • Uses Pydantic for type safety
  • No external dependencies or API keys required
  • Ideal for quick scripts and data analysis

Disclaimer

This project and its authors are not affiliated in any way with IMDb Inc. or its affiliates. For more information, please refer to the DISCLAIMER file.

License

imdbinfo is released under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Open an issue or pull request on GitHub.

If you find this project useful, please consider giving it a ⭐ on GitHub!

Please read our Contributing Guidelines and Code of Conduct before contributing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imdbinfo-0.4.1.tar.gz (604.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imdbinfo-0.4.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file imdbinfo-0.4.1.tar.gz.

File metadata

  • Download URL: imdbinfo-0.4.1.tar.gz
  • Upload date:
  • Size: 604.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for imdbinfo-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9a663070a5e33bbd9d59fdb10b39f7853c84ce5057a17c0f7bc391c1e13a7055
MD5 829a9020f65b3d539a28a67c2c9993f6
BLAKE2b-256 c29fee73a62bc4b8aff089f05aea6e7772a996cfba8cf7371e9180ff969cca0c

See more details on using hashes here.

File details

Details for the file imdbinfo-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: imdbinfo-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for imdbinfo-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0fe63fc0f049cfbd6b843cfbd8d414f354db52589c9460eb730301cd8a1a60f1
MD5 3f35a6eba38466a9074532fbc2c31ea8
BLAKE2b-256 4481f9eb89a117491d9f947a47590555d8a4917a7be502d6c0a749908f95a750

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page