Import from Other Services
Last Updated:
If you’ve been tracking movies, TV, books, games, or podcasts somewhere else, Sofa can import your library directly. You can re-run an import safely later, and Sofa skips anything it already has.
Sofa matches every row in your export against its catalog so your items land with the correct posters, descriptions, and metadata. Items that don’t match are imported as custom items so nothing is dropped.
Note: This is a one-time import, not a live sync. Sofa doesn’t keep pulling updates from these services after the import finishes, and changes you make in Sofa don’t flow back. Once your library is in Sofa, that’s the copy you’ll be editing.
Where to find it
In Sofa, go to Settings → Data Management → Import from Other Services.
How it works
The import runs in five steps:
- Pick your source. Choose the service you’re importing from (Goodreads, Letterboxd, Trakt, etc.) or use the generic CSV/text option.
- Add your file. Drop in the export you downloaded from that service. Sofa tells you what it found — how many items, the date range, a sample of titles.
- Match. Sofa looks up each item against TMDB, iTunes, or IGDB so movies, books, and games land with the right posters and metadata.
- Review. Confirm the matches. You can swap any low-confidence match for an alternate, toggle individual items off, or accept an unmatched item as a custom entry.
- Save. Sofa writes everything into your library. If you don’t like the result, tap Undo — the whole import comes back out.
Sofa shows progress throughout and you can cancel at any step before “Save” without changing your library.
Supported services
When you pick a source in Sofa, the next screen tells you how to download the export from that service — so you don’t have to hunt for it.
Jump to your service:
- Books — Goodreads · Hardcover · StoryGraph · Book Tracker
- Movies & TV — Letterboxd · Trakt · IMDb · TV Time · Movie Tracker
- Other — Apple Reminders · Other formats
Goodreads
Books, with ratings, tags, reviews, and shelves.
Notes:
- The Goodreads GDPR data dump (the ZIP from Account Settings → Privacy) doesn’t include ISBNs, which Sofa needs to match your books. If you upload the ZIP, Sofa will tell you how to grab the standard CSV instead.
- The “Read”, “To Read”, and “Currently Reading” shelves map to Sofa’s Logbook, To Read, and Currently Reading lists.
- Books you’ve re-read end up as separate Logbook entries so each read keeps its own date.
Letterboxd
Films and TV, with ratings, diary entries, your watchlist, and any custom lists you’ve made.
Notes:
- Sofa handles the multi-file ZIP automatically — your
watched.csv,diary.csv,ratings.csv, watchlist, and custom lists all flow in together. - Diary dates are preferred over the “watched on” click-dates so your viewing dates stay accurate.
- Rewatches in your diary become separate Logbook entries.
- Your custom Letterboxd lists are recreated as lists in Sofa with the same names.
Trakt
Movies and TV, with episode-level history.
Notes:
- Episode-by-episode TV history is preserved. Partially-watched shows appear in Enjoying if you’re on Super Sofa.
- On the free tier, episodes are still marked as watched, but show-level progress tracking is a Super Sofa feature.
IMDb
Movies and TV from your IMDb lists. Each list exports separately, so you may need to grab a few files if you want everything across.
TV Time
TV shows you’ve followed, with watched episodes.
Hardcover
Books from Hardcover.
StoryGraph
Books from The StoryGraph, including ratings, tags, and review notes.
Book Tracker
Books from the Book Tracker app.
Movie Tracker
Films from the Movie Tracker app.
Apple Reminders
Useful if you’ve been using a Reminders list as a casual watchlist or to-read list. Sofa reads your Reminders directly with your permission — no export step.
Other formats
If your source isn’t on the list, or you have a hand-built spreadsheet of titles, choose Other in the source picker. Sofa accepts generic CSV files, pasted text, and .txt or .md files — it auto-detects the format and asks you to confirm which column is the title, status, rating, and so on.
For the best results with a hand-built CSV:
- Include the release year for movies and games, and the author for books. This is the single biggest match-accuracy win, especially for short or common titles like Friendship or Hit Man.
- Include an ISBN if you have one. It’s the most reliable way to match a book — Sofa looks it up directly.
- One item per row, one piece of data per column. Don’t pack the year, rating, or genre into the title cell.
- Use clear column headers — Title, Author, Year, Rating, Status, Notes, Date Watched, Date Read. Sofa uses these to figure out what each column means.
- Use plain status words. Things like Watched, To Watch, Watching, Read, Currently Reading, Did Not Finish, Played, Backlog all map cleanly. You can also map values yourself in the Review step.
- Use
YYYY-MM-DDfor dates. It avoids locale ambiguity (Sofa supports other formats too, but this one is the safest). - Save the file as UTF-8 if your titles contain accented characters or non-Latin scripts.
Don’t worry about getting any of this exactly right — Sofa walks you through any column it can’t figure out on its own, and the Review step is your chance to fix anything before it lands in your library.
What gets brought across
| In your source | In Sofa |
|---|---|
| Watched / Read / Played | Logbook, with date completed |
| Watching / Reading / Playing | Currently Watching / Currently Reading / Currently Playing |
| Want to Watch / To Read / Backlog | Watchlist / To Read / Backlog |
| Did Not Finish | Marked as DNF, lands in your Did Not Finish list |
| Ratings | A custom property in Sofa (visible in the item’s Ingredients) |
| Tags / shelves | A tags property, with each tag preserved |
| Notes / reviews | Saved as a note on the item, with basic formatting preserved |
| Custom lists | Recreated in Sofa with the same names |
A few things to know:
- Free tier: ratings are saved as text notes (not a structured property), and TV episode-level progress tracking is Super Sofa only — episodes are still marked watched, but the “Enjoying” surface and per-show tracking unlock with Super Sofa.
- Unmatched items aren’t dropped. If Sofa can’t find an item in TMDB, iTunes, or IGDB — usually because of obscure or regional titles — the item is imported as a custom entry with all the metadata you provided (title, author, description, year, your rating). You can also edit a match by hand in the Review step.
- Re-imports are safe. Re-running the same import skips anything Sofa already has, so you can split a large library across multiple sessions or come back later to import another service.
Undoing an import
Right after an import finishes, the Done screen shows an Undo button. Tapping it removes everything Sofa just added. If you’ve already left the screen, you can still undo from Edit → Undo Import in Sofa’s menu — for the duration of the session.
Tips for a good first import
- Start with one service. If you’re moving from Goodreads and Letterboxd and Trakt, do them one at a time. The Review step is easier to scan when you can focus on one media type.
- Large libraries take time. A 2,000-item import can run 5–15 minutes during the matching step. Sofa is rate-limited by the catalog services it queries; it’ll get there.
- The Review step is your last clean-out moment. Anything you toggle off there is never saved. After Save, the only “undo” is the Undo button.
- Make a backup first. Take a Sofa Backup before your first import. If anything looks off, you can roll back and try again.