Get paused playback sessions for one type
Returns the user’s saved paused playbacks — created by /scrobble/pause or /scrobble/stop with progress < 80%. The {type} segment is optional:
| Path | Returns |
|---|---|
GET /sync/playback | All paused playbacks (episodes + movies). |
GET /sync/playback/episodes | TV/anime episode playbacks only. |
GET /sync/playback/movies | Movie playbacks only. |
The response shape is identical across the three forms; only the included items differ. Resume a session by calling /scrobble/start with the same item.
Query parameters
| Param | Effect | Default |
|---|---|---|
date_from | Only sessions with paused_at >= date_from. | — |
date_to | Only sessions with paused_at < date_to. | — |
hide_watched | Exclude items already watched after the pause was created. | true |
limit | Max items returned (1–10000). | 10000 |
Item shape
{
"id": 12345,
"progress": 42.2,
"paused_at": "2024-04-30T22:13:00Z",
"type": "episode",
"episode": {
"season": 1,
"number": 3,
"title": "Chapter Three: Holly Jolly",
"tvdb_season": 1,
"tvdb_number": 3
},
"show": {
"title": "Stranger Things",
"year": 2016,
"ids": {
"simkl": 39687,
"imdb": "tt4574334",
"tvdb": 305288
}
}
}
Note:
progressis a percentage (0-100) — same scale as the scrobble endpoints. The example values shown above (75,45.5,42.2) are real outputs from the API.
Members can browse and clean these up at simkl.com/my/history/playback-progress-manager.
Retention by plan
- Free — 7 days · PRO — 30 days · VIP — 90 days
Sessions persist until they’re manually removed via DELETE /sync/playback/{id}, replaced by the next scrobble update on the same title, or aged out per the plan retention window above. They are not auto-deleted on paused_at expiry — you’ll see the same session in the response indefinitely until one of those three things happens.
Scrobble guide — full walkthrough
Real-time playback tracking — /start, /pause, /stop lifecycle, paused-playback resumption across devices, when scrobble auto-completes, and the difference between /scrobble/checkin (fire-and-forget) and /scrobble/start (active tracking).
Authorizations
Preferred form: your client_id as a URL query parameter on every request. Self-describing in logs and curl commands. See Headers and required parameters.
OAuth 2.0 or PIN-flow access_token. Required for endpoints that read or modify the user's library, scrobble session, ratings, settings, or playbacks. See Authentication.
Headers
Descriptive identifier for your app, ideally name/version. Examples: PlexMediaServer/1.43.1.10540, kodi-simkl/0.9.2, MyApp/2.4.1 (https://myapp.com).
Path Parameters
episodes or movies to filter by item type. To get all paused playbacks of both kinds, call GET /sync/playback. Strictness; drop the segment from the URL to call without it.
movies, episodes Query Parameters
Slice your result to the first N items. Default: 10000
When true, hides items already watched after the pause was created.
true, false Filter sessions from this date
Filter sessions until this date
Your client_id from your Simkl developer settings. Required on every request.
Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.
Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.
Response
OK
Internal playback session ID. Use to delete via DELETE /sync/playback/{id}.
Saved progress percentage 0–100.
Standard movie object. See the Standard Media Objects guide.
Standard show object. May include nested seasons/episodes for partial sync.
Standard anime object. Like Show, but may include anime_type. Episode numbering follows AniDB.
Episode reference. Use season + number, or ids.