#web-scraping #letterboxd #filmaffinity #chaser-oxide

app fa-to-letterboxd

A simple webscraping tool to convert a FilmAffinity profile to Letterboxd's import format

3 unstable releases

Uses new Rust 2024

0.2.0 Mar 25, 2026
0.1.1 Jan 22, 2026
0.1.0 Jan 22, 2026

#813 in Command line utilities

GPL-2.0-or-later

22KB
267 lines

fa-to-letterboxd

A simple webscraping tool to convert a FilmAffinity profile to Letterboxd's import format. Inspired by fa-scraper.

Requirements

  • Rust (in case you want to install using cargo).

Installation

Using cargo

  • Simply run:
cargo install fa-to-letterboxd

Using pre-compiled binaries

  • Go to the latest release.
  • Select your platform (Windows, macOS, different Linux architectures/libc implementations).
  • Download and extract the executable.

Usage

  • Go to your FilmAffinity profile and copy your user ID number from the link.

image

  • Run the program, specifying at least user ID (-u). Wait for it to complete. By default, it'll fetch up to 1000 pages of content. If by any case, you have more, add -p <page_count>. For the full list of flags, run filmaffinity-to-letterboxd -h. If using a pre-compiled binary, remember to add ./ right next to the program's name on UNIX or appending .exe to the program's name if using Windows.
filmaffinity-to-letterboxd -u <user_id>
./filmaffinity-to-letterboxd -u <user_id>
filmaffinity-to-letterboxd.exe -u <user_id>

[!WARNING] The app will delay the next request after processing all data by a random integral range of [1, 3]. Although as far as testing goes, no delay hasn't caused any issues, better to be safe than sorry. To disable it, add -d to the flags.

image
  • Once you have your file ready (by default, saved as fa-to-letterboxd-result.csv), head to Letterboxd's Import page and upload it by clicking "SELECT A FILE". It'll take a while to process it all.

image

image

  • When finished, you'll be redirected to a page where you can confirm the export. To reduce the number of entries on screen, click "Hide successful matches".

image

image

[!WARNING] When importing, not all entries will get exported. This may be due to an entry having a different name in Letterboxd or outright not being there (series or individual chapters from series are usually the ones missing). You can try and search movies for each missing match. TODO: Add some sort of table for title conversions/pattern matching. Maybe ignoring anything that's not a film and storing a separate .csv for those will work, too.

image

image

Dependencies

~25–36MB
~562K SLoC