Skip to main content

Yamtrack

Self-hosted media tracker for movies, TV, anime, manga, games, books, and more.

CSV Bulk Import

To bulk-add media, create a CSV and import it via Django shell. Titles are auto-resolved via TMDB — no IDs needed. Minimal CSV format:
"media_id","source","media_type","title","image","season_number","episode_number","score","progress","status","start_date","end_date","notes","progressed_at"
"","","tv","The Mandalorian","","","","","","Completed","","","",""
"","","movie","Inception","","","","9.0","","Completed","","","",""
  • media_type (required): tv, movie, anime, manga, game, book, comic
  • status (required): Completed, In progress, Planning, Paused, Dropped
  • source: auto-detected if blank (e.g. tmdb for tv/movie)
  • score: optional, 0-10
Import command:
docker exec yamtrack python3 /yamtrack/manage.py shell -c "
import app.forms  # required: force submodule import for shell context
from users.models import User
from integrations.imports.yamtrack import importer
u = User.objects.get(username='augustin')
with open('/yamtrack/db/import.csv', 'rb') as f:
    counts, warnings = importer(f, u, 'new')
    print('Imported:', counts)
    if warnings: print('Warnings:', warnings)
"
Place the CSV at yamtrack/db/import.csv (mapped to /yamtrack/db/ in container).

References