Adapter: SIMKL
SIMKL adapter lets CrossWatch sync with SIMKL. It supports watchlist, ratings, and history, including anime.
Connect SIMKL first. Use: SIMKL (Authentication provider).
Be kind to SIMKL’s API. Don’t schedule SIMKL runs more often than every 12 hours. Daily is better.
What it supports
Direction: source or target in a pair (one-way or two-way)
Features:
Watchlist → SIMKL PTW (“Plan To Watch”)
Ratings (1–10)
History (watched movies + watched episodes)
Playlists (not supported)
Delta sync: uses SIMKL activities and watermarks to avoid full downloads
IDs: works best with
simkl,imdb,tmdb,tvdbAnime can also use
mal,anilist,kitsu,anidbwhen available
SIMKL PTW is a status list, not a “save for later” watchlist. Items can leave PTW due to SIMKL status changes.
Watchlist behavior (PTW)
Read: incremental list reads per bucket (
movies,shows,anime)Write: add/remove items to PTW
SIMKL writes mainly use movies/shows payloads. CrossWatch still reads the anime bucket for indexing.
Ratings behavior
Read: incremental ratings feed (movies/shows/anime)
Write: upsert and remove ratings
Writing anime ratings depends on how the source provider represents anime.
History behavior
Read: incremental watched state for movies/shows/anime
Write: mark watched or unwatch
Anime writes can add use_tvdb_anime_seasons=true to help season mapping.
Settings (advanced)
Headers sent to SIMKL
simkl-api-key: <client id>Authorization: Bearer <access token>User-Agent: CrossWatch/3.x (SIMKL)(override withCW_UA)Accept: application/jsonContent-Type: application/json
Delta syncing: date_from and watermarks
SIMKL uses per-feature watermarks stored under:
/config/.cw_state/simkl.watermarks.<pair>.json
For each feature, CrossWatch picks date_from in this order:
Stored watermark
SIMKL_<FEATURE>_DATE_FROMSIMKL_DATE_FROMsimkl.date_from1970-01-01T00:00:00Z
Watermarks only move forward.
Health check
SIMKL health is probed with:
POST /sync/activities
It also acts as an “activities gate” to skip work when nothing changed.
State files (per pair)
All state lives in /config/.cw_state/:
simkl.watermarks.<pair>.jsonsimkl.watchlist.shadow.<pair>.jsonsimkl.watchlist.unresolved.<pair>.jsonsimkl.ratings.shadow.<pair>.jsonsimkl_ratings.unresolved.<pair>.jsonsimkl.history.shadow.<pair>.jsonsimkl_history.unresolved.<pair>.jsonsimkl.show.map.<pair>.json
Deleting these forces rebuilds and usually increases API calls next run.
Last updated