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"const res = await fetch('https://flicklist.tv/api/v3/sync/ratings', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const ratings = await res.json();import requests
r = requests.get(
"https://flicklist.tv/api/v3/sync/ratings",
headers={"Authorization": f"Bearer {api_key}"},
)
ratings = r.json()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.