Skip to content

Get episode details for a Sonarr series

GET
/arr/library/episodes
curl --request GET \
--url 'https://example.com/api/v1/arr/library/episodes?instanceId=1&seriesId=1'

Lazy-loads episode-level data for a specific series in a Sonarr instance. Returns episodes with quality, custom format scores, and cutoff progress.

This endpoint is designed for on-demand loading when a series row is expanded in the library view. Sonarr instances only.

Results are cached server-side for 5 minutes per series.

instanceId
required
integer

Arr instance ID (must be a Sonarr instance)

seriesId
required
integer

Sonarr series ID

Episode details with quality and score data

Media typeapplication/json
object
episodes
required

Episode details with quality and score data (Sonarr-only in current phase)

Array<object>
object
id
required

Sonarr episode ID

integer
episodeNumber
required

Episode number within the season

integer
seasonNumber
required

Season number

integer
title
required

Episode title

string
hasFile
required

Whether the episode has a downloaded file

boolean
monitored
required

Whether the episode is monitored

boolean
qualityName

Quality of the downloaded file

string
fileName

File name of the downloaded file

string
size

File size in bytes

integer
customFormats
required

Custom formats matched on the file

Array<object>
object
id
required

Custom format ID

integer
name
required

Custom format name

string
customFormatScore
required

Total custom format score

integer
scoreBreakdown
required

Per-custom-format score breakdown

Array<object>
object
name
required

Custom format name

string
score
required

Score assigned by the quality profile

integer
cutoffScore
required

Profile cutoff score threshold

integer
progress
required

Score progress toward cutoff (0-1+)

number
cutoffMet
required

Whether the cutoff score has been met

boolean
Examplegenerated
{
"episodes": [
{
"id": 1,
"episodeNumber": 1,
"seasonNumber": 1,
"title": "example",
"hasFile": true,
"monitored": true,
"qualityName": "example",
"fileName": "example",
"size": 1,
"customFormats": [
{
"id": 1,
"name": "example"
}
],
"customFormatScore": 1,
"scoreBreakdown": [
{
"name": "example",
"score": 1
}
],
"cutoffScore": 1,
"progress": 1,
"cutoffMet": true
}
]
}

Invalid parameters or not a Sonarr instance

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Instance not found

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Failed to fetch episode details

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}