Jellyfin plugin

Your Jellyfin diary,
on Letterboxd.

LetterboxdSync logs every film you watch in Jellyfin straight to your Letterboxd diary. Real-time, multi-user, and quietly resilient to the rough edges of scraping Letterboxd.

Manifest URL https://raw.githubusercontent.com/builtbyproxy/jellyfin-plugin-letterboxd/main/manifest.json
Latest v1.11.3 May 14, 2026 What's new

Everything you'd expect. And a few you wouldn't.

Built as a replacement for an older plugin that broke when Letterboxd deprecated its legacy endpoint. This one targets the current JSON API, falls back to scraping when it has to, and hides the scraping stitches from you.

Watch it. Log it.

Real-time on playback, with a daily sweep for anything missed.

  • Real-time

    Diary entry within seconds of credits rolling.

  • Daily catch-up

    Scheduled sweep picks up offline or skipped watches.

  • TMDb matching

    Matched by ID, so foreign and messy titles just work.

Stars, likes, reviews, watchlist.

All the context around a watch moves between both platforms.

  • Ratings as stars, both ways

    Jellyfin 0-10 maps onto Letterboxd 0.5-5, and ratings flow back too. Films you rated on Letterboxd seed your Jellyfin user rating, even ones you never logged a watch for.

  • Favorites as likes

    Hearted on Letterboxd when favorited in Jellyfin.

  • Watchlist as playlist

    Each user's Letterboxd watchlist mirrors into a Jellyfin playlist daily. Films missing from the library get auto-requested through Jellyseerr, attributed to the right user.

  • Reviews from the dashboard

    Write in Jellyfin, post straight to Letterboxd with rating, spoiler tag, and rewatch flag.

Built for a home server.

Multi-user, resilient, and transparent about what it did.

  • Multi-user

    Each Jellyfin user links their own Letterboxd account, with a per-user dashboard and Run Sync Now button. No admin access needed.

  • Smart catch-up

    Already-synced films short-circuit locally with no Letterboxd hit. Previously-failed items retry first when rate limits ease.

  • Cloudflare resilient

    Official API first, scraping fallback, automatic retry.

  • Self-healing auth

    Stale cookies trigger an automatic re-login and retry.

  • Logs in the dashboard

    Filter by user or text, copy or download. Review text, passwords, and cookies are never logged, so support requests are safe to share.

Install

Two paths. Use the plugin repository for automatic updates, or install manually from a release.

Manual install

  1. Install the File Transformation plugin first, required for the Letterboxd sidebar link.
  2. Download the latest LetterboxdSync ZIP from Releases.
  3. Extract LetterboxdSync.dll and HtmlAgilityPack.dll into your Jellyfin plugins directory.
  4. Restart Jellyfin.
Browse all releases →
Jellyfin10.11 or newer
RequiresA Letterboxd account
LicenseMIT

Setup in under a minute

Once the plugin is installed, each user links their own Letterboxd account from the Jellyfin dashboard.

  1. 1

    Open the plugin page

    Go to Dashboard → Plugins → Letterboxd Sync, then switch to the Settings tab.

  2. 2

    Add an account

    Click + Add Account, pick a Jellyfin user, and enter their Letterboxd credentials. Check Enabled.

  3. 3

    Watch a movie

    That's it. Finish a film in Jellyfin and check your Letterboxd diary. A daily scheduled sync catches anything missed.

Seeing Cloudflare 403s?

Log into Letterboxd in your browser, grab the Cookie header from DevTools, and paste it into the plugin's Raw Cookies field. The plugin will use the official API first and only fall back to scraping when needed.