Turn Your Trakt History Into Real Stremio Recommendations

By the AI Streams team · 2026-06-14

If you already scrobble to Trakt, you have been quietly building the single most valuable dataset in your entire setup, and almost nothing uses it. Trakt knows every film you finished, every series you abandoned three episodes in, every late-night documentary binge. That history is the exact raw material a good recommendation engine needs. Yet in most Stremio setups, connecting Trakt does one thing: it drops your watchlist in as a catalog row. Useful, but it is a fraction of the payoff. This post is about the rest of it.

What Trakt actually is, and why connecting it matters

Trakt is a watch-tracking service. It sits across your devices and apps and records what you watch, automatically (scrobbling) or by hand. Over time it becomes a complete log of your taste: not what you said you liked, but what you actually sat through to the end.

That distinction is the whole point. Star ratings lie. Watchlists are aspirational and full of prestige titles you will never start. Finished watch history is honest. It is the difference between what you tell people you watch and what you put on at 11pm on a Tuesday. Any recommendation system that ignores it is guessing.

So connecting Trakt matters for one reason above all others: it hands a discovery engine ground truth about you. The question is whether the engine on the other end does anything intelligent with it.

Two very different things people mean by "Trakt + Stremio"

This is where almost every guide stops short, so let us be precise. There are two completely different integrations hiding under the same phrase.

(a) Trakt as a catalog row

The common one. You connect Trakt, and your watchlist (and sometimes your collection or lists) appears as a row in Stremio's Discover section. You browse it like any other catalog.

This is genuinely handy. It means the things you bookmarked from your phone show up on your TV. But notice what it does not do: it shows you only what you already chose. It is a bookmark folder with posters. Your watch history, the valuable part, sits there doing nothing. The row has no opinion about what you should watch next; it just mirrors a list you built by hand.

(b) Trakt history feeding AI recommendations

The one nobody covers, and the reason AI Streams exists. Here your Trakt watched history becomes the input signal for personalized recommendations. The system reads what you finished, infers the shape of your taste from it, and surfaces unseen titles that fit, while filtering out everything you have already seen.

That second integration is the actual payoff of years of scrobbling. A watchlist row is storage. History-fed recommendations are discovery. AI Streams does the catalog row too, because it is convenient, but the catalog row is not the headline. The headline is that your history finally does work for you.

How your watch history becomes a recommendation

Here is the honest mechanism, because the difference between this and a generic "AI picks" gimmick is entirely in the plumbing.

When you connect Trakt, AI Streams pulls your watched history through the Trakt API. That history feeds two systems.

AI Picks

AI Picks is the personalized recommendation row. It is LLM-ranked, but the part that matters is what the model is allowed to choose from. The recommendations are grounded on a pgvector index of roughly 10,000 popular titles. The model is not free-associating titles from memory; it is selecting and ranking against a real, indexed catalog.

This solves the single most annoying failure mode of naive "ask an LLM for movie recommendations" setups: hallucinated results. A model improvising from memory will happily invent a film that does not exist, or hand you an IMDB ID that points at the wrong thing entirely. Because AI Picks is grounded against a real index, you do not get hallucinated IDs and you do not get recommendations for things that were never made. Every pick resolves to a real title with real metadata.

So your Trakt history shapes what the model reaches for, and the index keeps it honest. The result is a row that reflects what you have actually watched rather than what is broadly trending. If you have ever watched three Denis Villeneuve films in a row and then watched a recommendation engine keep serving you the same week's blockbuster, you know exactly the gap this closes.

The taste profile

The second system is quieter and, over time, more powerful. AI Streams builds a taste profile from your behavior, and your Trakt history is a primary input.

The mechanism is embeddings. Every title in the index is represented as a vector, a mathematical fingerprint of its themes, tone, and shape. When AI Streams reads what you finished on Trakt, it embeds those titles and accumulates them into a profile vector that represents your taste as a region in that same space. Finding recommendations then becomes a nearest-neighbor search: which unseen titles sit closest to the things you have actually watched.

The important property here is that it drifts. Your taste is not frozen, and neither is the profile. As your Trakt history grows, the profile shifts with it. Recommendations a month from now reflect a month more of watching. That is the difference between a system that learned you once and one that keeps learning.

It also means the profile captures things you would struggle to put into words. You might not be able to articulate why you keep finishing slow, dialogue-heavy character studies but bounce off plot-driven thrillers. The embeddings do not need you to. They read the pattern straight out of your finished history and act on it. This is why history-fed recommendations tend to feel like they "get" you in a way that genre filters never quite do: genre is a label somebody stuck on a title, while the profile is the actual shape of what you watch.

If you want the deeper version of how the profile is assembled and how it changes over time, the taste profiles writeup covers it. For the wider picture of how all the discovery pieces fit together, the pillar discovery guide is the place to start.

Two-way sync, so the loop closes

The connection runs in both directions, which is what makes the whole thing self-reinforcing.

History flows in from Trakt to power recommendations. And as you watch, your activity keeps Trakt current, which in turn refreshes the signal AI Streams reads next time. Mark something watched, and it stops getting recommended to you, because the system knows you are done with it. Add something to your watchlist, and it shows up where you expect it.

The practical effect is that the system gets out of your way. You are not pruning a list of suggestions for things you already saw, because finished titles drop out automatically. The more you watch with Trakt connected, the sharper the recommendations get, with no manual maintenance on your part. That is the loop closing: watch, sync, refine, repeat.

Setting it up, honestly

This is genuinely a few minutes, and there is nothing to install beyond the addon itself.

  1. Head to /configure. This is where you build your AI Streams setup.
  2. Connect Trakt. You will hit a standard OAuth flow: AI Streams sends you to Trakt, you approve access, and Trakt sends you back. You are authorizing read access to your watched history and watchlist. You are never handing over your Trakt password, and AI Streams never sees it, which is the entire point of OAuth.
  3. Pick your AI provider. On the free tier you bring your own AI key (Gemini or OpenAI). This is what powers the LLM ranking step. If you would rather not manage a key, the Pro tier handles the AI side for you.
  4. Finish configuring and install. Order your catalogs, then install the addon into Stremio.

Once that is done, give it a little time and a little watch history to chew on. The catalog row appears immediately. The history-fed recommendations get meaningfully better the more finished titles the profile has to work with, so a brand-new Trakt account will see less of the magic than one with a few hundred watches behind it.

One honest caveat: if your Trakt history is thin, the early recommendations lean more on the popular index and less on you. That is expected. The system needs signal before it can be personal. Keep scrobbling and it converges.

Trakt and MDBList together

A quick note for the list-curators. AI Streams also supports MDBList, which lets you pull in community-built and personal lists as catalog rows alongside your Trakt data.

These solve different problems and are better together. Trakt is your personal signal: history that drives recommendations tuned to you. MDBList is curated signal: lists somebody built deliberately, whether that is a public "best A24 horror" collection or your own themed list. Run both, and you get the AI-driven row that learns from what you finish plus hand-curated rows for when you want a specific, deliberate set of titles. One is the engine learning your taste; the other is editorial taste you opted into.

For where both of these sit in the full addon stack, see the addon ecosystem rundown.

The bottom line

If you already scrobble to Trakt, you have done the hard part. You just have not been getting paid for it. Connecting Trakt to a setup that only shows your watchlist as a row is leaving the valuable half on the table.

The payoff is wiring that history into recommendations: AI Picks grounded on a real index so nothing is hallucinated, and a taste profile built from embeddings of what you actually finished, pointing you at the nearest unseen titles. Two-way sync keeps the loop tight, so it sharpens as you watch.

Connect Trakt at /configure. It is free with your own AI key, or $4/mo on Pro if you would rather skip key management. Either way, your years of scrobbling finally start recommending.

Try AI Streams free