Skip to main content

A lightweight Python library for The V3 and V4 TMDb APIs.

Project description

Welcome to TMDbAPIs Documentation!

GitHub release (latest by date) Build Testing Build Coverage GitHub commits since latest release (by date) for a branch PyPI Downloads

Wiki Discord Reddit GitHub Sponsors Sponsor or Donate

Overview

Unofficial Python bindings for the TMDb API. The goal is to make interaction with the API as easy as possible while emulating the endpoints as much as possible

Installation & Documentation

pip install tmdbapis

Documentation can be found at Read the Docs.

Using the Object API

Getting a TMDbAPIs Instance

To create a TMDbAPIs Object you need your V3 API Key, which can be found following this guide.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"

tmdb = TMDbAPIs(apikey)

Authenticating V3 API Token

To authenticate your TMDb V3 API Token you can either authenticate your TMDb V4 Token or use the authenticate() method.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"

tmdb = TMDbAPIs(apikey)
tmdb.authenticate(username, password)

Saving a V3 API Authenticated Session

To save your authenticated session use the session_id Attribute.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"

tmdb = TMDbAPIs(apikey)
tmdb.authenticate(username, password)
with open("session_id.txt", "w") as text_file:
    print(tmdb.session_id, file=text_file)

To load the authenticated session use the session_id Parameter of the TMDbAPIs constructor.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"

session_id = None
with open("session_id.txt") as text_file:
    session_id = text_file.readline()

tmdb = TMDbAPIs(apikey, session_id=session_id)

Adding TMDb V4 API Read Access Token

To gain read access to TMDb V4’s API just provide you’re TMDb V4 Access Token either using the v4_access_token Parameter of the TMDbAPIs constructor or by using the v4_access_token() method.

To gain read access to TMDb V4’s API need your TMDb V4 Access Token, which can be found following this guide.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"
v4_access_token = "sohsnrfiemrsdvsavvt4h426GWEGW434gSgSdnjhcyuwbBYHBOSIYCBWgyNTYxNTY4OGQ5NTJjZCIsInN1YiI6IjVkMzM5ZmI0MmY4ZDAfdfdgegeGGregerfge34345BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIvfdvsdfveregrgqgfsfghjhOR0shmZZ_ZekFiuyl7o56921C0"

tmdb = TMDbAPIs(apikey, v4_access_token=v4_access_token)

Authenticating TMDb V4 API Token

To authenticate your TMDB V4 Read Access Token it is a multi step process.

  1. Add your TMDb V4 API Read Access Token.

  2. Authenticate the URL returned from v4_authenticate().

  3. Once the URL has been authenticated you must approve it by running v4_approved().

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"
v4_access_token = "sohsnrfiemrsdvsavvt4h426GWEGW434gSgSdnjhcyuwbBYHBOSIYCBWgyNTYxNTY4OGQ5NTJjZCIsInN1YiI6IjVkMzM5ZmI0MmY4ZDAfdfdgegeGGregerfge34345BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIvfdvsdfveregrgqgfsfghjhOR0shmZZ_ZekFiuyl7o56921C0"

tmdb = TMDbAPIs(apikey, v4_access_token=v4_access_token)

print(tmdb.v4_authenticate())
input("Navigate to the URL and then hit enter when Authenticated")
tmdb.v4_approved()

Saving a V4 API Authenticated Token

To save your authenticated token use the v4_access_token Attribute.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"
v4_access_token = "sohsnrfiemrsdvsavvt4h426GWEGW434gSgSdnjhcyuwbBYHBOSIYCBWgyNTYxNTY4OGQ5NTJjZCIsInN1YiI6IjVkMzM5ZmI0MmY4ZDAfdfdgegeGGregerfge34345BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIvfdvsdfveregrgqgfsfghjhOR0shmZZ_ZekFiuyl7o56921C0"

tmdb = TMDbAPIs(apikey, v4_access_token=v4_access_token)

print(tmdb.v4_authenticate())
input("Navigate to the URL and then hit enter when Authenticated")
tmdb.v4_approved()
with open("access_token.txt", "w") as text_file:
    print(tmdb.v4_access_token, file=text_file)

To load the authenticated token use the v4_access_token Parameter of the TMDbAPIs constructor or the v4_access_token() method.

from tmdbapis import TMDbAPIs

apikey = "0010843563404748808d3fc9c562c05e"

v4_access_token = None
with open("access_token.txt") as text_file:
    v4_access_token = text_file.readline()

tmdb = TMDbAPIs(apikey, v4_access_token=v4_access_token)

Usage & Contributions

  • Source is available on the Github Project Page.

  • Contributors to TMDbAPIs own their own contributions and may distribute that code under the MIT license.

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

tmdbapis-1.2.30.tar.gz (60.4 kB view details)

Uploaded Source

Built Distribution

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

tmdbapis-1.2.30-py3-none-any.whl (58.1 kB view details)

Uploaded Python 3

File details

Details for the file tmdbapis-1.2.30.tar.gz.

File metadata

  • Download URL: tmdbapis-1.2.30.tar.gz
  • Upload date:
  • Size: 60.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tmdbapis-1.2.30.tar.gz
Algorithm Hash digest
SHA256 1672091a34a8af482b5530a39fbd2b708094d35d4887f7d69eec0a8a4faf9708
MD5 8dc31d25a4d0826cff1eadadbf4e990d
BLAKE2b-256 c84adcfd5b7e9c9f76888697e297c4566297a9e60fcaa8562e9fae680f659d3d

See more details on using hashes here.

File details

Details for the file tmdbapis-1.2.30-py3-none-any.whl.

File metadata

  • Download URL: tmdbapis-1.2.30-py3-none-any.whl
  • Upload date:
  • Size: 58.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tmdbapis-1.2.30-py3-none-any.whl
Algorithm Hash digest
SHA256 8b70642922f87c4af809c44f3a66a3e8a05a6d8a8c108ed2664a3eec45e959f3
MD5 c05b80f817ae63c31cc7128d373833b7
BLAKE2b-256 9b5e4036d147620083298355059776f13de4d79afed56398f33bb096fac7ea98

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