For the complete documentation index, see llms.txt. This page is also available as Markdown.

AniList

Sync anime watchlists, ratings and watch history with AniList.

Sync anime watchlists, ratings, and watched history with AniList. AniList can be the source or destination of a one-way sync. It can also participate in compatible two-way syncs.

What it supports

  • Watchlist: Add and remove anime movies and series from Planning.

  • Ratings: Add, update, and remove title ratings.

  • History: Read and update watched anime movies and episode progress, including supported removals.

  • Connection profiles: Select the AniList account used by the pair.

Anime-only sync is always enabled and locked for AniList watchlist, ratings, and history pairs. Non-anime items are excluded. Manga, playback position, and resume syncing are unsupported.

Prerequisite: connect AniList

Connect your account under Settings → Connections → AniList. Save the connection before creating a sync pair.

Guide: AniList.

How matching works

AniList identifies anime with AniList IDs. It can also resolve MyAnimeList IDs. Other providers may use IMDb, TMDb, or TVDB IDs. CrossWatch uses Anime ID Mapping to bridge these IDs and translate episode numbering.

  • Existing AniList IDs can identify titles directly.

  • MyAnimeList IDs can be resolved through AniList.

  • Anime ID Mapping can enrich titles with IDs understood by the destination provider.

  • Episode mapping translates seasons and episodes into AniList progress. It also maps them back when AniList is the source.

  • Custom mappings can correct title matches and episode ranges in either direction.

With anime-only sync enabled, unmatched items are skipped instead of falling back to a title search. Reverse sync needs IDs and episode coordinates that the destination can use. An AniList ID alone is insufficient for every provider.

Enable global Anime ID Mapping before syncing history. History reads, additions, and removals require the mapping service to be enabled and available.

For watchlist and ratings, enable the pair's anime mapping option when matching across different ID systems.

Guide: Anime ID Mapping.

Watchlist

AniList's watchlist contains anime titles marked Planning. Watching, completed, paused, dropped, and repeating entries are outside this watchlist.

Adding a title sets its status to Planning. If the title already has another status, a watchlist addition can move it back to Planning.

Removing a title deletes its AniList list entry. This also removes attached information, including its rating and progress. Review watchlist removals carefully when the title also has ratings or history.

Ratings

Ratings apply to anime movies and series, not individual episodes or seasons. CrossWatch reads ratings on a 1–10 scale and converts writes to AniList's score format.

Removing a rating clears the score without deleting the list entry. Rating writes do not explicitly change the existing watch status or progress.

History to AniList

AniList stores one watched episode count per anime title. It does not store a separate event for every episode.

  • Episodes map to the appropriate AniList title and episode number, including different season or cour splits.

  • Adding history advances progress to the highest selected episode. It does not lower existing progress. Completed titles are left alone.

  • Selecting episode 5 marks episodes 1 through 5 watched in AniList.

  • Reaching a finished title's known final episode marks it Completed. Anime movies use the same completion logic.

  • Source watch dates fill a missing start date and set the completion date. When unavailable, CrossWatch uses the current date.

CrossWatch groups episode additions by AniList title within each write batch and updates progress together. A title spanning several batches may still need more than one update.

Use source watch status

For SIMKL → AniList history pairs, enable Use source watch status. It carries SIMKL's dropped or on-hold status when advancing episode progress. SIMKL's on-hold status becomes Paused in AniList.

Completed progress takes precedence. This option accompanies history writes. A status change alone creates no separate history change.

Removing history

Enable Remove in the pair's History settings to allow supported removals. AniList can reduce progress only from the watched range's end.

For example, with progress at episode 10:

  • Removing episodes 8, 9, and 10 reduces progress to 7.

  • Removing episode 8 alone leaves a gap, so CrossWatch reports it as unresolved.

When some watched episodes remain, the title becomes Watching. Removing all watched episodes, or resetting a movie to unwatched, sets progress to zero and the status to Paused. The completion date is cleared.

History removal preserves the list entry, rating, notes, start date, and repeat count. A completed series with an unknown episode total cannot be safely reduced. CrossWatch reports it as unresolved.

History from AniList

CrossWatch expands AniList progress into watched episodes. It maps them to the destination provider. For completed titles, it also considers the known episode total. Watched movies are exported as movie history.

This supports reverse history sync to compatible providers, including SIMKL and Floppy, when required title IDs and episode mappings are available.

These are derived watched states, not individual playback records. CrossWatch uses the completion date when available. Otherwise, it uses the list entry's update or creation time. Episodes from the same title can therefore share a timestamp.

Rewatches and Specials (Season 0) are unsupported by AniList history sync. Existing repeat information is not synchronized as separate watch events. The episode count cannot represent gaps.

Snapshot model

AniList sync reads the current lists and builds snapshots for enabled features. Watchlist uses the Planning list. Ratings and history read relevant state across the anime library. These reads do not use an incremental change feed.

An Interactive Sync review and its pre-apply recheck can both read AniList. Proposed episode counts do not directly correspond to API request counts because history writes are grouped by title.

Shadow state

CrossWatch keeps local watchlist state in anilist_watchlist_shadow.json. It records resolved AniList entries and source IDs. It also remembers ignored items to avoid repeatedly attempting unmatched additions.

This state stabilizes matches between runs. It supplements the live Planning snapshot. It is not a backup of the full AniList library.

Rate limits and token lifecycle

CrossWatch paces AniList GraphQL requests and uses shared retry handling for rate limits and temporary failures. Large syncs can take longer while requests wait. Interactive Sync shows request activity.

AniList authentication does not use automatic refresh tokens in CrossWatch. If the access token expires or is revoked, reconnect the selected account under Settings → Connections → AniList and save it again.

Best practices

  • Enable Anime ID Mapping and check a few known titles before a large sync.

  • Start with one-way sync. Enable two-way sync only after validating mappings and results.

  • Use Interactive Sync to review proposed changes, especially watchlist deletions and history removals.

  • Remember that adding a later episode marks preceding episodes watched in AniList.

  • Use custom mappings for missing titles, split seasons, or incorrect episode numbering.

Last updated

Was this helpful?