Get episode details for a Sonarr series
const url = 'https://example.com/api/v1/arr/library/episodes?instanceId=1&seriesId=1';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Arr instance ID (must be a Sonarr instance)
Sonarr series ID
Responses
Section titled “Responses”Episode details with quality and score data
object
Episode details with quality and score data (Sonarr-only in current phase)
object
Sonarr episode ID
Episode number within the season
Season number
Episode title
Whether the episode has a downloaded file
Whether the episode is monitored
Quality of the downloaded file
File name of the downloaded file
File size in bytes
Custom formats matched on the file
object
Custom format ID
Custom format name
Total custom format score
Per-custom-format score breakdown
object
Custom format name
Score assigned by the quality profile
Profile cutoff score threshold
Score progress toward cutoff (0-1+)
Whether the cutoff score has been met
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
object
Error message
Examplegenerated
{ "error": "example"}Instance not found
object
Error message
Examplegenerated
{ "error": "example"}Failed to fetch episode details
object
Error message
Examplegenerated
{ "error": "example"}