Skip to main content

A python script that syncs user watchlist and ratings for Movies, TV Shows and Episodes both ways between Trakt and TMDB.

Project description

TMDB-Trakt-Syncer

This Python script syncs user watchlist and ratings for Movies, TV Shows, and Episodes both ways between Trakt and TMDB. Data already set will not be overwritten. Ratings and watchlist sync are both optional. The user will be prompted to enter their settings and api keys on first run.

The script is compatible on any operating system that supports Python v3.6 or later, including Windows, Linux, Mac, and ChromeOS. If you're interested in syncing ratings between Trakt, Plex, IMDB, and TMDB, I recommend the following projects: PlexTraktSync, IMDB-Trakt-Syncer, and TMDB-Trakt-Syncer. See below for my other recommended projects.

Installation Instructions:

  1. Install Python (v3.6 or later). During installation, tick the box for adding Python to your PATH variable.
  2. Install the script by running python -m pip install TMDBTraktSyncer in command line.
  3. Login to Trakt and create a new API application named TMDbTraktSyncer. In the "Redirect uri" field, enter urn:ietf:wg:oauth:2.0:oob, then save the application.
  4. Login to TMDB and create a new API application. Choose "Developer" and accept the terms. Fill out the application form as follows:
    • Type of use: Personal
    • Application name: TMDB-Trakt-Sync
    • Application URL: https://github.com/RileyXX/TMDB-Trakt-Syncer
    • Application summary: Use TMDB API and Trakt API to sync user watchlists and ratings between platforms.
    • Fill in the rest of the fields as desired and submit the form. Your API keys will be generated instantly.
  5. Run the script by running TMDBTraktSyncer in the command line.
  6. Follow the prompts during the first run. You will need to enter your Trakt client ID and client secret from step 3, as well as your tmdb_v4_token from step 4. Please note that these details are saved insecurely as credentials.txt in the same folder as the script.
  7. Setup is complete. The script will continue running and syncing your ratings. You can monitor its progress in the command line. See below for setting up automation.

Installing the Script:

python -m pip install TMDBTraktSyncer

Run in your operating system's native command line.

Running the Script:

TMDBTraktSyncer

Run in your operating system's native command line.

Updating the Script:

python -m pip install TMDBTraktSyncer --upgrade

Run in your operating system's native command line.

Uninstalling the Script:

python -m pip uninstall TMDBTraktSyncer

Run in your operating system's native command line.

Installing a Specific Version:

python -m pip install TMDBTraktSyncer==VERSION_NUMBER

Replace VERSION_NUMBER with your desired version (e.g. 1.0.1) and run in your operating system's native command line.

Alternative Manual Installation Method (without pip install):

  1. Install Python (v3.6 or later). During installation, tick the box for adding Python to your PATH variable.
  2. Download the latest .zip from the releases page and extract it to the desired directory.
  3. Login to Trakt and create a new API application named TMDBTraktSyncer. In the "Redirect uri" field, enter urn:ietf:wg:oauth:2.0:oob, then save the application.
  4. Login to TMDB and create a new API application. Choose "Developer" and accept the terms. Fill out the application form as follows:
    • Type of use: Personal
    • Application name: TMDB-Trakt-Sync
    • Application URL: https://github.com/RileyXX/TMDB-Trakt-Syncer
    • Application summary: Use TMDB API and Trakt API to sync user watchlists and ratings between platforms.
    • Fill in the rest of the fields as desired and submit the form. Your API keys will be generated instantly.
  5. Run TMDBTraktSyncer.py or open the terminal and navigate to the folder where TMDBTraktSyncer.py is located, then run TMDBTraktSyncer.py in the terminal.
  6. Follow the prompts during the first run. You will need to enter your Trakt client ID and client secret from step 3, as well as your tmdb_v4_token from step 4. Please note that these details are saved insecurely as credentials.txt in the same folder as the script.
  7. Setup is complete. The script will continue running and syncing your ratings. You can monitor its progress in the command line. See below for setting up automation.

For Setting Up Automation See the Following Wiki Pages:

  • Setup Automation for:
  • Python Script to Update all Packages with Pip (Windows, Linux, Mac, ChromeOS, etc.) Link #1

Troubleshooting, Known Issues, Workarounds & Future Outlook:

  • If any of your details change (passwords, logins, API keys, etc.), simply open credentials.txt, modify your details, save it and then run the script again. Alternatively, delete credentials.txt to reset the script and it will prompt you to enter your new details on the next run.
  • Add support for review/comment sync Issue #1

Screenshot:

Demo

Sponsorships, Donations, and Custom Projects:

If you find my scripts helpful, you can become a sponsor and support my projects! If you need help with a project, open an issue, and I'll do my best to assist you. For other inquiries and custom projects, you can contact me on Twitter.

More Donation Options:

  • Cashapp: $rileyxx
  • Venmo: @rileyxx
  • Bitcoin: bc1qrjevwqv49z8y77len3azqfghxrjmrjvhy5zqau
  • Amazon Wishlist: Link ↗

Also Posted on:


License: MIT

Other Recommended Projects:

Project Name Description
PlexTraktSync A script that syncs user watch history and ratings between Trakt and Plex (without needing a PlexPass or Trakt VIP subscription).
IMDB-Trakt-Syncer A script that syncs user watchlist, ratings, and reviews both ways between Trakt and IMDB.
TMDB-Trakt-Syncer A script that syncs user watchlist and ratings both ways between Trakt and TMDB.
PlexPreferNonForcedSubs A script that sets all movies and shows in your local Plex library to English non-forced subtitles by default.
Casvt / AudioSubChanger A script with advanced options for changing audio & subtitle tracks in Plex.
Casvt / PlexAutoDelete A script for automatically deleting watched content from Plex.
universal-trakt-scrobbler An extension that automatically scrobbles TV shows and Movies from several streaming services to Trakt.
Netflix-to-Trakt-Import A tool to import your Netflix viewing history into Trakt.
trakt-tv-backup A command-line tool for backing up your Trakt.tv data.
blacktwin / JBOPS A collection of scripts and tools for enhancing and automating tasks in Plex.
Casvt / Plex-scripts A collection of useful scripts for Plex automation and management.
trakt---letterboxd-import A tool to import your Letterboxd ratings and watchlist into Trakt.
TraktRater A tool to help users transfer user episode, show, and movie user ratings and watchlists from multiple media database sites around the web.
TvTimeToTrakt A tool to sync your TV Time watch history with Trakt.tv.
Plex Media Server A media server software to organize and stream your personal media collection.
Radarr A movie collection manager and downloader for various platforms.
Sonarr A TV show collection manager and downloader for various platforms.
Jackett A proxy server that provides API support for various torrent trackers commonly used with Radarr and Sonarr.
qBittorrent A free and open-source BitTorrent client.
AirVPN A VPN client with port forwarding support. Great VPN for torrents.
Overseerr A request management and media discovery tool for your home media server.
FlareSolverr A reverse proxy solution to bypass Cloudflare protection and access websites commonly used with Jackett.
youtube-dl A command-line program to download videos from YouTube and other sites.

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

tmdbtraktsyncer-1.7.1.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

TMDBTraktSyncer-1.7.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file tmdbtraktsyncer-1.7.1.tar.gz.

File metadata

  • Download URL: tmdbtraktsyncer-1.7.1.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.0

File hashes

Hashes for tmdbtraktsyncer-1.7.1.tar.gz
Algorithm Hash digest
SHA256 a47eb4d20ec62184086fd1277e25aedff7b6532f35dd4b6c8e5da3c151ba6fd7
MD5 4cbd6a09becc9bf630b799b2dd320b44
BLAKE2b-256 c3f2327b8c8ca3c5e26eb925bc26f51e2fb4cdf41e90b8891e3b87c430ad0e2a

See more details on using hashes here.

File details

Details for the file TMDBTraktSyncer-1.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for TMDBTraktSyncer-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5382bc90019d6aa307d4d2dbf97af93cec84acc8789ddcdfc57721a1a75295d
MD5 282225888c81f7428331dd18e1e45c74
BLAKE2b-256 db4bb2e756d639aebfbc1158e0eb093a27860c29548179aa76d9d3fb90ca4909

See more details on using hashes here.

Supported by

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