Adapter: AniList

Anime specific adapter

AniList sync is built for anime watchlists. It syncs AniList’s Planning list and tries to keep IDs usable elsewhere.

circle-exclamation

What it supports

  • Feature: Watchlist

  • List used: AniList “Planning” (ANIME only, no manga)

  • Writes: add and remove

  • Sync model: present-state snapshot

Prerequisite: connect AniList

Set up AniList in Settings → Authentication first. Use this guide: AniList (Authentication provider).

How matching works (bridging)

Most providers prefer IMDb/TMDb IDs. AniList prefers AniList/MAL IDs.

CrossWatch tries these steps when it needs an AniList ID:

  1. Use an existing anilist ID.

  2. Else use a mal ID and resolve it to AniList.

  3. Else do a title search and require a strong match.

circle-info

Good metadata helps. Add TMDb in Settings → Metadata.

Limitations you should expect

  • TMDb anime coverage is incomplete.

  • Some titles will map wrong or not at all.

  • Unmappable items can cause duplicates across providers.

Snapshot model (why it behaves “all-or-nothing”)

AniList watchlist is treated as a full snapshot:

  • No watermarks.

  • No date_from.

  • Each run re-reads the full Planning list.

Shadow state (stability across runs)

CrossWatch keeps a local mapping file to avoid re-guessing every run:

/config/.cw_state/anilist_watchlist_shadow.json

It is used to:

  • reuse stable mappings

  • avoid retrying known no-match titles

  • keep multi-provider sync paths stable

chevron-rightWhat gets stored in the shadow filehashtag
  • AniList IDs, optional MAL IDs

  • AniList list entry IDs

  • source IDs from the originating provider

  • ignored markers and ignore reasons (for “not anime / no match”)

Rate limits and token lifecycle

  • Run daily for normal usage.

  • Avoid rapid re-runs while debugging.

  • AniList tokens are valid for 1 year.

  • AniList has no refresh token flow in CrossWatch.

  • Reconnect yearly in Authentication to get a new token.

Best practices

  • Use separate pairs for anime vs movies/shows.

  • Whitelist libraries to keep non-anime out of the pair.

  • Start one-way. Validate matches. Then go bidirectional.

Last updated