Serials Currently Watching
Endpoint
Section titled “Endpoint”GET /api/public/:username/serials/currently-watchingReturns the TV series the user has watched at least one episode of, but hasn’t fully watched yet, ordered by most recent watch activity. Series the user has explicitly marked as fully watched are excluded, even if newer episodes exist.
Path params
Section titled “Path params”| Param | Type | Required | Description |
|---|---|---|---|
username | string | yes | Interis username to resolve |
Query params
Section titled “Query params”| Param | Type | Default | Max |
|---|---|---|---|
limit | number | 10 | 30 |
Response
Section titled “Response”[ { "tmdbId": 1396, "title": "Breaking Bad", "posterPath": "/gg40uwtwFcYRL5O4YKwtqqMK5AY.jpg", "backdropPath": "/tsRy63Mu5cu8etL1X7ZLyf7UP1M.jpg", "firstAirYear": 2008, "numberOfSeasons": 5, "numberOfEpisodes": 62, "watchedEpisodesCount": 14, "progressPercent": 23, "lastWatchedAt": "2026-07-01T12:00:00.000Z", "currentEpisode": { "seasonNumber": 1, "episodeNumber": 4, "name": "Episode 4" } }]- Ordered by
lastWatchedAtdescending — most recently watched series first. progressPercentiswatchedEpisodesCount / numberOfEpisodes, rounded to the nearest whole percent.currentEpisodeis the first unwatched episode in chronological order (Up Next). It can benullif the locally cachednumberOfEpisodesis behind the show’s true episode count on TMDB.numberOfEpisodesexcludes season 0 (Specials).watchedEpisodesCountandprogressPercentare computed the same way, so the fraction is always consistent.numberOfEpisodes/numberOfSeasonsreflect the last time this series was cached locally and can lag TMDB briefly for currently-airing shows.
Empty state behavior
Section titled “Empty state behavior”Returns [] if the user has no series in progress (nothing started, or everything is either finished or not yet begun).
Error behavior
Section titled “Error behavior”404when the user does not exist.429when the public rate limit is exceeded.500for unexpected server errors.
Examples
Section titled “Examples”const username = 'your_username';const res = await fetch(`https://api.interis.gorkemkaryol.dev/api/public/${username}/serials/currently-watching`);
if (!res.ok) throw new Error(`Currently Watching request failed: ${res.status}`);
const currentlyWatching = await res.json();for (const series of currentlyWatching) { console.log(`${series.title}: ${series.progressPercent}% (${series.watchedEpisodesCount}/${series.numberOfEpisodes})`);}curl "https://api.interis.gorkemkaryol.dev/api/public/your_username/serials/currently-watching?limit=5"