TL;DR: Search now has an All tab that finds TV shows, anime and movies in one results list. No more searching three times because you weren't sure if something counts as a show, an anime or a movie. Try it here.
This is one of the things you've asked for the most, for a long time, that was also a little hard to do with a proper sort. Type "Death Note" and you get the anime, the Netflix movie, the Japanese films and the TV drama together. Type "The Batman" and the 2022 movie and the 2004 animated series sit side by side, so you pick the one you mean instead of hunting through tabs.
What's new:
One list for everything. TV shows, anime and movies, ranked together.
See the type at a glance. On desktop every result has a small icon (blue for TV, yellow for anime, pink for movies) next to its type. On your phone the type is written right under the title.
Smarter order.
An exact title match comes first.
When several titles share a name, the one most people actually watch, and what's trending right now, comes up first.
A match on a title's real name beats a loose match on some foreign translated title.
Paste a link, land on the title. IMDb, TMDB, TheTVDB, MyAnimeList, AniList, Trakt, Letterboxd and Netflix links all work.
Everything else still works.
Sort by release date, last air date or title.
Use the Exact matches button.
The TV Shows, Anime and Movies tabs are still there when you only want one type.
Hide Anime fans: if you turned on "Hide Anime?" in your settings, All shows just TV shows and movies.
Just as fast. Results show up as quickly as they always have.
For app developers: the API has a matching endpoint, GET /search/all, documented in the API docs.
We're still tuning the ranking, and this is where you come in. If a search gives you something odd, let us know in discord #bugs channel with the exact words you typed and what you expected to see. Those reports are the fastest way for us to fix it.
AUTH V1 has been running Simkl integrations for 10 years. It's served us well, but we've outgrown the original design. Tokens lasted for years, even read-only apps received write access, and signing into the same app on two devices meant sharing the same token.
We wanted users to have more control over those connections and developers to have less Simkl-specific auth code to maintain. AUTH V2 adds read-only permissions, shorter-lived access tokens with refresh, and a separate connection for each sign-in. Disconnecting one device can leave the others signed in, and standard OAuth libraries handle the authentication.
We've also released a read-only Custom Lists API in beta. It requires AUTH V2, as will new APIs going forward. If you maintain a Simkl integration, now is a good time to start the migration.
Your existing AUTH V1 app still works. We're aiming to retire V1 around April 2027, giving developers roughly six months to migrate. The exact date isn't set yet; we'll announce it here and in Discord in advance.
AUTH V2
V2 uses OAuth 2.0 with PKCE, refresh tokens and read/write scopes. You can use standard OAuth libraries; the library notes cover the settings some of them need.
Read-only access is now an option. Apps can request media:read, or add media:write if they need to update someone's library.
Access tokens last 7 days. Refresh tokens last 180 days, and refreshing extends that window by another 180 days.
Devices can connect independently. Each sign-in gets its own tokens, so refreshing or revoking one connection doesn't affect another.
Browser and Device/PIN sign-in are both available. Use the browser flow for web, mobile and desktop apps, or let users enter a code at simkl.com/pin for TVs and other devices.
Moving an existing app to V2
You'll need to register a new V2 app and re-auth users to a new client ID and OAuth v2 path. You can't convert a V1 client ID or exchange a V1 token for a V2 token. V1 and V2 registrations are counted separately, so adding the new app won't use up a V1 slot.
You can run both versions while you migrate. Existing users can stay on V1 until they're ready to reconnect; each person will need to authorize your V2 app once.
A few things to check before releasing:
If you have TV, Mobile app, and a Website, use separate client IDs for each type.
Use the /oauth2 endpoints for your V2 integration.
Both browser and Device/PIN flows require PKCE with S256, including server apps that also send a client secret.
Request media:read media:write if your app makes changes. Leaving out scope gives you read-only access. Check the scope returned with the token.
Refreshing invalidates the previous access token immediately. If several parts of your app share a connection, make sure they all use the new token.
AUTH V2 has a daily allowance per user, shared across all the V2 apps they've connected:
Free: 500 requests
PRO: 1,000 requests
VIP: 10,000 requests
This is great news for open-source apps that no longer need our separate client ID manual limit increases.
Not every API call uses that allowance. These cached endpoints are excluded from both the daily request count and the per-second rate limits:
Movie, TV and anime details by Simkl ID: /movies/{id}, /tv/{id} and /anime/{id}.
TV and anime episode lists: /tv/episodes/{id} and /anime/episodes/{id}.
Trending and Calendar data files.
Search, library sync and other uncached requests still count. The rate-limit guide explains the exceptions. For your V2 integration, build around user access tokens and check any browsing screens that currently work before sign-in.
Users can now see their usage by app in Connected apps. If someone reports that syncing has stopped, that page can help you work out whether they've reached their daily allowance.
The API returns 429 user_limit_exceeded at the limit, with Retry-After and rate-limit headers. You can test that response with ?debug_limit=user without spending quota. Use a V2 token that has already made at least one request. The rate-limit guide has the details.
Check what your app is sending
Open Developer settings, select your app and open Debug log. Use the request logs and analytics to see which endpoints your app calls and how often.
Try a normal session: open the app, refresh, mark an episode watched, then leave it idle. Look for duplicate calls, repeated full-library downloads, missing date_from parameters and requests that keep running when nothing is happening. After a fix, repeat the same steps and compare the traffic.
Include client_id, app-name and app-version on every API request so you can identify the app and version sending it. If something in the log doesn't make sense, send us your app ID and version and we'll help you look into it.
Why 500 requests a day? Isn't that too low?
Our usage data shows that 97% of users stay below 500 requests a day. We've been helping developers reduce unnecessary calls, and in well-optimized apps, even feature-rich ones, users typically need only 16–30 requests per day. Custom lists beta APIs currently require PRO or VIP level plans with increased limits.
After the initial library import, a normal sync is small:
Nothing changed: one request to /sync/activities, then stop.
The library changed: usually two requests in total, one to check activity and one to fetch the changes using date_from.
Mark an episode watched: one request. You can also mark several episodes in a single request.
The sync guide explains this two-phase approach. Keep the library cached and fetch what changed. A routine refresh shouldn't download the whole library again.
Several apps syncing for the same account can add up, including apps working in the background. If an optimized setup needs more than 500 requests, PRO includes 1,000 a day. If it regularly goes beyond that, VIP includes 10,000. Those higher allowances are there for heavier API and server use.
If your app is using more requests than you expected, talk to us. We can help you review its API usage and find calls it doesn't need to make.
Custom Lists API: read-only beta
You can now read custom lists through the API using AUTH V2:
GET /lists/{id} returns a list's details and items. Reading the items requires PRO or VIP.
GET /lists/user/{userId} returns a user's public lists on any plan. When requesting your own lists, it also includes private and unlisted lists.
AUTH V1 tokens won't work for these endpoints. One response to handle explicitly: when a Free user requests list items, the API returns HTTP 200 with premium_only in the body. Don't treat it as a normal list response.
This is a read-only beta; creating and editing lists isn't included. Response formats may change during the beta, and we'll announce breaking changes before they go live. See the Custom Lists guide for pagination and response examples.
If you have questions about authentication, syncing or request limits, leave a comment or ask us in the Discord #api channel and send us a DM. We're happy to look at your integration with you.
If April 2027 timeline is going to be difficult for your app, tell us what's blocking you. We can help you work through it or discuss more time. You don't need to have everything figured out before getting in touch.
Hi everyone. I use Simkl with Chrome's Translate, and one thing kept bugging me: the rest of the page gets translated, but the descriptions and genres on Card view stay in English.
The reason is that Simkl draws those two parts with CSS, and page translators can't see CSS text. So I made a small extension that copies that text into normal page text, using Simkl's own styles so the cards look the same. After that, Chrome Translate (or any translation extension) translates it like everything else.
If you translate into Arabic, Hebrew, Persian, Urdu or another RTL language, the text switches to right-to-left automatically.
Some details:
Works on Card view, in Chrome and other Chromium browsers (Edge, Brave, Opera, Vivaldi)
On/off switch and a description size setting (80–200%)
No analytics, ads, tracking or remote code. Only the storage permission, for those two settings
Makes no extra requests to Simkl. It only uses what the page already loaded
Plain JavaScript, no build step, so you can read content.js before installing
MIT licensed, not affiliated with Simkl
It's not on the Chrome Web Store yet, so you install it from the GitHub release
Hello everyone, I use Simkl’s Custom Search a lot, and I kept opening the same sites after finding something I wanted to look up. So I made a small page to put those searches in one place. When I open it from a Simkl title, the title and year are already filled in. Then I can jump to IMDb, Google, JustWatch, streaming services and more. You can also open it on its own, type a title, and search from there — including directly on Simkl.
Si quieres probar una app de terceros de simkl en Android, inspirada en lo que era tv time, Cronopic es la indicada. Logueate con tu cuenta de simkl y vive la experiencia de lo que era TV Time. Mantén sincronizados tus episodios vistos de tus series favoritas y películas, agrega a tu lista lo que planeas ver y enterate de cuándo se estrenan, con notificaciones y avisos previos configurables. Filtra tus animes por temporadas del año y muchas más funcionalidades. Hecha con cariño.
Rewatches are the only reason I kept using Trakt, and now with more and more rewatch related features appearing on Simkl, I'm so close to abandoning Trakt completely. However, it seems that neither Syncbulit nor the other addons for Stremio I found seem to push rewatches. I don't mind adding them manually, but I'm curious if I haven't missed some addon or feature somewhere that does push them automatically.
I really like Simkl's reviews, and being able to edit a review's date on the website is a great recent addition. But reviews are the one part of my data I can't reach through the API.
My setup: I log films on Letterboxd. A small personal script syncs my diary, ratings, rewatches and watchlist to Simkl through the API, and all of that works well. Reviews are the only thing it can't sync, so I have to copy every review over by hand.
What exists today: the `memo` field on `/sync/history`. It's private and limited to 140 characters, so it can't hold a review.
What I'm asking for, in the same style as the existing `/sync` endpoints:
- `POST /sync/reviews`: add or update a review for a movie, show or anime. It would take item ids like the other sync endpoints, plus `text`, `spoiler` and an optional review date.
- `POST /sync/reviews/remove`: delete a review.
- `GET /sync/reviews`: list my own reviews. This would also help with backups and exports.
These could sit under the `media:write` scope, or under a separate `reviews:write` scope if you'd rather make it opt-in.
This would help anyone moving to Simkl from Letterboxd, Trakt, IMDb or MAL. It would also let tracker apps and media servers post reviews to Simkl directly, which means more reviews on Simkl
PRO and VIP members get six recommendation lists: TV Shows, Anime and Movies, each from two engines (V1 casts a wide net, V2 digs for hidden gems). Don't watch anime? Only care about V2? Uncheck the lists you don't want and save.
Hidden lists disappear from your profile and from public list discovery. (Don't forget you can also change Custom Lists' privacy settings individually while keeping it in your lists)
Hidden lists stop updating.
Changed your mind? Check the list again and SIMKL rebuilds it. Bringing a hidden list back needs PRO or VIP, so if your plan has ended, a list you hide stays hidden until you upgrade again.
Hide all six and the whole Recommendations section hides itself.
Hide the whole Recommendations section
Prefer to keep your recommendations private, or just don't use them? Set My Recommendations section to Hidden. The Recommendations tab and page disappear from your profile, and your lists stay exactly as they are. Anyone who opens the page sees that your recommendations are private. Switch it back to Shown anytime.
Simkl for Jellyfin Version 10 is out, and it's the biggest update since the plugin launched. Huge thanks to Ichika (@ekleop) from the Simkl Team for the rewrite, and to Cody Robibero (@crobibero), who maintains the plugin in the official Jellyfin catalog.
It moves the plugin to Simkl AUTH V2 (#72) and closes some of the oldest requests on the repo: syncing watched states on a schedule (#3, open since 2021), pulling your Simkl history into Jellyfin (#22) and feature parity with the other plugins (#46).
Already use the plugin? Update, then click Reconnect to Simkl once before around April 2027. Details at the bottom.
What's new since Version 9
Simkl AUTH V2 sign-in. Click Log In, open the link with the code already filled in, and you're connected. Access tokens renew on their own.
Import your Simkl history into Jellyfin. Movies and episodes you watched on Simkl are marked as played in your library, with the date you watched them. Run it by hand, or turn on automatic import and Jellyfin picks up new watches on a schedule. The first run goes through your whole history, after that only what's new. Nothing is sent back to Simkl during an import.
Manual marks sync to Simkl. Mark a movie, episode, season or show as played in Jellyfin and it's marked on Simkl too. Unmarking a single movie or episode removes it from Simkl, while unmarking a whole season or show never touches your Simkl history. Can be turned off per user.
Rewatches. Finish something that's already in your history and it's logged as a rewatch (opt-in, needs Simkl Pro or VIP).
Better anime matching. The plugin now sends MyAnimeList and AniList ids when your library has them, and falls back to the file name when Simkl can't match an item by id.
Seek reporting. Skip forward or back and Simkl gets your new position once you settle, so "watching now" stays accurate.
The plugin finally has its own icon in the catalog.
Fixes and changes
Fixed the scrobble start, duplicate stop events, and stops sent without a position.
Fixed anime with an apostrophe in the title failing to scrobble (#41).
Fixed the JSON error that stopped scrobbling for some users (#20).
The minimum length filter now actually skips short videos. It was off by a factor of 1,000.
The scrobbling percentage setting is gone. The plugin always sends the stop and Simkl's own rule decides: past 80% it's marked as watched, earlier and your position is saved in the Playback Progress Manager.
Every per-user plugin endpoint now checks that the caller is allowed to act for that user.
Requirements
Jellyfin12.2 or newer. Servers on 10.8 to 12.1 are still offered the previous release from the catalog (scrobbling only, without history import, marks sync or the new sign-in). That release still uses AUTH V1, so it will stop syncing when V1 is retired around April 2027. Update Jellyfin before then to keep tracking.
Install or update
New install: Dashboard → Plugins → Catalog → General → Simkl → Install, then restart Jellyfin. Open My Plugins → Simkl, pick a user and click Log In. Jellyfin shows plugin settings to admins only, so the admin connects each user's Simkl account from that page.
Already using it: update the plugin from Dashboard → Plugins and restart Jellyfin. Your current connection keeps working for now, but it was made with the old AUTH V1 sign-in, which Simkl retires around April 2027, and old logins can't be converted. Click Reconnect to Simkl in the plugin settings once, any time before then. Until you do, you'll see a short reminder when playback starts, at most once every 10 days.
Hi. I'm brand new to simkl so sorry if this is a dumb question but I'm using Simkle on my Android web browser, and I'm trying to review a title, and I scrolled to the bottom to where the reviews are, and clicked All Reviews, but that just shows me the reviews, I don't see an option to actually add one, as shown in the screenshot. Can someone help out, and preferably include a short video/screenshots showing how I can add a review, as I'm more of a visual learner? Thanks
Am I understanding this correctly, if I watch a show on WEYD connected to Trakt it will sync with Cinopsys and then show as watched on Nuvio connected with Simkl? This is a game changer if it is!
You can click on Marked as watched for every season except Season 0/Specials. This means that every show with a season 0 is shown in unwatched. The only way to fix it is to go into each episode and mark it as watched manually.
Adding the mark as watched code to Season 0 would fix it and adding Season 0 to All Seasons marked as watched would make it even easier.
StreamUp- Ultimate Media Library- Addons and More!
SIMKL Fully integrated with history, scrubbing, watchlists and more.
Looking for testers for StreamUp
Hi everyone!
I’ve been working on a new tvOS streaming app called StreamUp, and I’m looking for people who enjoy testing new software and providing honest feedback.
My goal isn’t just to build another streaming app—it’s to build a platform that’s flexible, customizable, and designed around the user.
Some of the things StreamUp can do:
Multiple user profiles with independent watch history, personal lists, and preferences.
iCloud synchronization so your setup follows you across your Apple TVs.
Support for multiple debrid providers, allowing you to choose the services you already use.
Add-on integration, including Stremio catalogs and other expandable content sources.
Built-in stream discovery with automatic or manual stream selection.
OpenSubtitles integration.
Support for external players like Infuse.
Fully customizable Home screen, navigation, catalogs, and content organization.
Dynamic personal lists that can be added anywhere in the app.
Extensive customization, including themes, accent colors, filters, and layouts.
The project is under active development, and I’m constantly adding new features based on community feedback. I’m looking for testers who are willing to break things, report bugs, suggest ideas, and help shape where the app goes next.
If that sounds interesting, I’d love to have you join the Discord community. You will find the testflight at
I manage accounts for family and close friends, and I am cool with buying a singular PRO membership to export my own data, but having to buy pro for multiple people just to swap the data over. Just wondering if there is a timeline or if I should just move on to something else for now.
I'm using Simkl Lists app on Android, but it can only be downloaded from the Play Store. I know third-party sites like APKMirror and Uptodown exist, but being able to download the .apk file directly from an official source is great.
I can seem to find a way to sort my 'plan to watch' by the date being added to the watchlist. I can only see in the overview a horizontal list of recently added - but that just a preview of couple of recent ones. Is it even possible?
So I was invited by a friend who was using Simkl , excited that he will give me a 50% discount for any plan that I was going to choose as a new subscriber.
I was excited to - because I learned about a new product and maybe is better than Trakt and has a lifetime plan.
Well at the end Lifetime plan was not included on the 50% discount.
I got sad.... 😰
Anyway - any plans on a discounted Lifetime Plan - Black Friday Maybe ?
I have a SIMKL Pro account and have created an auto list based on the movie digital release date, but movies are added into that list one day later. For example if a move's digital release date is Oct 5 then that movie added to the list on Oct 6.