Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api.simkl.org/llms.txt

Use this file to discover all available pages before exploring further.

The Sync API keeps a user’s library in step with Simkl across every device and app β€” watch history, watchlists (Watching / Plan to Watch / Hold / Dropped / Completed), per-item ratings, and paused playbacks. This page is a reference index. The strategy and walkthroughs live in the Sync guide:

Sync guide β€” full walkthrough

Two-phase model end-to-end β€” Phase 1 sequential pull, Phase 2 /sync/activities + date_from delta loop, deletion reconciliation, when to actually run sync, useful query params, and a Node + Python reference implementation.

Common request parameters

Every Sync endpoint shares the same auth + identification surface. See Headers and required parameters for the full reference.
ParamWhereNotes
client_idURL queryYour app’s client_id.
app-nameURL queryLowercase identifier (e.g. my-app-name).
app-versionURL queryApp version string (e.g. 1.0).
User-Agentheader<app-name>/<app-version>.
AuthorizationheaderBearer <access_token> β€” required for every Sync endpoint.

Supported ID keys

Every Sync write endpoint matches items by the ids object. See the full key list (with types and examples) in Standard media objects β†’ Supported ID keys.
Anime works under either shows[] or anime[]. All Sync write endpoints accept movies[], shows[], anime[], and episodes[] as top-level arrays. Anime entries are resolved by ids regardless of which wrapper you use β€” match the field to your data type when known, fall back to shows[] when you only have TMDB / TVDB IDs. Caveat: not_found.shows carries any unresolved anime entries too (no separate not_found.anime bucket). See Anime in shows[] or anime[].

Endpoints

Activities

GET /sync/activities β€” last-modified timestamps per category. The β€œis anything new?” gate.

All items

GET /sync/all-items/{type}/{status} β€” both segments optional. Library reads (full or delta).

Add to history

POST /sync/history β€” mark items watched.

Remove history

POST /sync/history/remove β€” un-mark watched.

Add to watchlist

POST /sync/add-to-list β€” move between watchlist statuses.

Mark watched

POST /sync/watched β€” bulk legacy β€œwatched” write.

Rate items

POST /sync/ratings β€” 1–10 user rating per item.

Remove ratings

POST /sync/ratings/remove β€” clear user-set ratings.

Filter ratings

GET /sync/ratings/{type}/{rating} β€” list rated items filtered by type and one or more rating values.

Get playbacks

GET /sync/playback β€” list saved paused playbacks (optionally narrow with /{type} where {type} is episodes or movies).

Delete playback

DELETE /sync/playback/{id} β€” clear a single saved session.