Custom Lists are user-curated collections of titles — themed groupings like “Best 90s sci-fi”, “Watched with my kids”, or “Recommended by Anna” — created by users in the simkl.com web UI at simkl.com/lists/. They are distinct from the five-status Watchlist (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.
watching, plantowatch, hold, dropped, completed) that the API has always exposed. A title can be on the user’s Watchlist with a status AND on one or more Custom Lists at the same time, independently.
What to use today
For “fetch the user’s library” use cases, the Watchlist sync endpoints already cover what most apps need — every movie / show / anime the user has tracked, with status, ratings, watched-episode counts, last-watched timestamps, and rewatch sessions.GET /sync/all-items
Full library snapshot. See the Sync guide for two-phase fetch and
date_from semantics.POST /sync/add-to-list
Move items between the five Watchlist statuses.
GET /sync/activities
Per-bucket timestamps for cheap “is there anything new?” polling.
POST /sync/history
Record watch events — single episode, whole season, or whole show.
simkl.com/<user>/ — organized by status bucket rather than by user-defined list, but the underlying items are the same.
When V2 Beta ships
When Custom Lists become available via the public API, we’ll publish endpoints to:- List the user’s Custom Lists with metadata (name, description, public/private, item count).
- Read a specific Custom List’s items.
- Create, update, and delete Custom Lists.
- Add and remove items within a Custom List.
- Read public Custom Lists by user or list slug — the same lists currently visible in the web UI at
simkl.com/<user>/lists/<list-slug>.
Common questions
Why are simkl.com/lists/ pages public but I can't fetch them?
Why are simkl.com/lists/ pages public but I can't fetch them?
The web UI calls internal endpoints that are part of Simkl’s V2 Beta backend. They aren’t documented or stable, and they’re tied to Simkl’s own session cookies rather than OAuth tokens. Don’t scrape them — they’ll break under you without notice, and we may rate-limit or block clients that hit them. Wait for the public API.
Can I store list-like grouping using existing endpoints?
Can I store list-like grouping using existing endpoints?
Not on the Simkl side. The only grouping primitive the public API exposes today is the five-status Watchlist. If your app needs custom grouping right now, store the grouping client-side (your own DB keyed by Simkl ID) and overlay it on top of
/sync/all-items data. When the Custom Lists API ships, you’ll be able to migrate that data into real Simkl Custom Lists.Will my Watchlist data carry over when Custom Lists ship?
Will my Watchlist data carry over when Custom Lists ship?
Yes. The Watchlist endpoints (
/sync/all-items, /sync/add-to-list, /sync/history, …) will continue to work unchanged. Custom Lists are a separate, additive concept — a title can be on the user’s Watchlist with a status (e.g. completed) AND on one or more Custom Lists at the same time, independently.Can I follow another user's Custom List?
Can I follow another user's Custom List?
Public Custom Lists are viewable in the web UI at
simkl.com/<user>/lists/<list-slug>, but there’s no API for them yet. Public-list read access is planned to ship alongside the rest of the Custom Lists API.Will Custom Lists count against my rate limit?
Will Custom Lists count against my rate limit?
Once shipped, yes — they’ll use the same rate-limit pool as the other
/sync/* endpoints. Plan your polling accordingly: a Custom-Lists-heavy app should batch reads where possible and use /sync/activities (or its eventual Custom-Lists equivalent) to detect change rather than polling list contents on a fixed cadence.Reference
Sync guide
Two-phase model,
date_from semantics, deletion reconciliation.Watchlist statuses
The five status values, per-type rules, and the legacy
notinteresting → dropped rename.Mark as watched
Simple “the user finished this” recipes.
Rewatches
Separate sessions for items the user already finished.