Skills letterboxd-watchlist
Scrape a public Letterboxd user's watchlist into a CSV/JSONL list of titles and film URLs without logging in. Use when a user asks to export, scrape, or mirror a Letterboxd watchlist, or to build watch-next queues.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/0xnuminous/letterboxd-watchlist" ~/.claude/skills/clawdbot-skills-letterboxd-watchlist && rm -rf "$T"
manifest:
skills/0xnuminous/letterboxd-watchlist/SKILL.mdsource content
Letterboxd Watchlist Scraper
Use the bundled script to scrape a public Letterboxd watchlist (no auth). Always ask the user for the Letterboxd username if they did not provide one.
Script
scripts/scrape_watchlist.py
Basic usage
uv run scripts/scrape_watchlist.py <username> --out watchlist.csv
Robust mode (recommended)
uv run scripts/scrape_watchlist.py <username> --out watchlist.jsonl --delay-ms 300 --timeout 30 --retries 2
Output formats
→--out *.csvtitle,link
→ one JSON object per line:--out *.jsonl{ "title": "…", "link": "…" }
Notes / gotchas
- Letterboxd usernames are case-insensitive, but must be exact.
- The script scrapes paginated pages:
./watchlist/page/<n>/ - Stop condition: first page with no
poster entries.data-target-link="/film/..." - The scraper validates username format (
) and uses retries + timeout.[A-Za-z0-9_-]+ - Default crawl delay is 250ms/page to be polite and reduce transient failures.
- This is best-effort HTML scraping; if Letterboxd changes markup, adjust the regex in the script.
Scope boundary
- This skill only scrapes a public Letterboxd watchlist and writes CSV/JSONL output.
- Do not read local folders, scan libraries, or perform unrelated follow-up actions unless explicitly requested by the user.