Guides .md

Quick scripts

Write a short script against your own FlickList account without building an app around it. Python examples run as plain python3 script.py (with the requests package installed); the JavaScript uses top-level await, so save it as script.mjs and run node script.mjs.

1. Create an API key#

Go to Settings → Apps on flicklist.tv and create a key for yourself. A personal script only needs the read scope, since it's reading your own account, not changing anyone's data. See Authentication for how the key attaches to a request.

2. Call the endpoint you need#

Here's a ratings export, one of the more common personal scripts. GET /v3/sync/ratings returns every rating on the account: movies, shows, seasons, and episodes together, each as a flat object with title, year, media_type, rating, rated_at, and an ids block.

curl -H "Authorization: Bearer $API_KEY" \
  "https://flicklist.tv/api/v3/sync/ratings"

3. Write the result to a file#

import csv

with open("ratings.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["title", "year", "type", "rating", "tmdb_id"])
    for item in ratings:
        writer.writerow([
            item["title"],
            item["year"],
            item["media_type"],
            item["rating"],
            item["ids"]["tmdb"],
        ])

print(f"Wrote {len(ratings)} ratings to ratings.csv")

Ratings run 0.5 to 10.0 in half-point steps. Filter on media_type ("movie" or "tv") if you only want one kind, and use season_number and episode_number to tell show, season, and episode ratings apart.