Radarr/Radarr · error · ImportListException
Radarr API call resulted in an unexpected StatusCode [{0}]
Error message
Radarr API call resulted in an unexpected StatusCode [{0}] What it means
Thrown by RadarrList2Parser.PreProcess when the Radarr list API (the Radarr-hosted list service, e.g. TMDB/imdb-derived curated lists) responds with a non-200 status. It is an ImportListException carrying the ImportListResponse. This is the upstream RadarrAPI gateway check before JSON is parsed into TmdbId list movies.
Source
Thrown at src/NzbDrone.Core/ImportLists/RadarrList2/RadarrList2Parser.cs:39
return movies;
}
var jsonResponse = JsonConvert.DeserializeObject<List<MovieResource>>(importResponse.Content);
// no movies were return
if (jsonResponse == null)
{
return movies;
}
return jsonResponse.SelectList(m => new ImportListMovie { TmdbId = m.TmdbId });
}
protected virtual bool PreProcess(ImportListResponse listResponse)
{
if (listResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
{
throw new ImportListException(listResponse,
"Radarr API call resulted in an unexpected StatusCode [{0}]",
listResponse.HttpResponse.StatusCode);
}
if (listResponse.HttpResponse.Headers.ContentType != null &&
listResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
listResponse.HttpRequest.Headers.Accept != null &&
!listResponse.HttpRequest.Headers.Accept.Contains("text/json"))
{
throw new ImportListException(listResponse,
"Radarr API responded with html content. Site is likely blocked or unavailable.");
}
return true;
}
}
}
View on GitHub (pinned to ca451608dc)
Solutions
- Confirm the list id in Settings > Import Lists matches a valid RadarrAPI list (check the list provider docs).
- Retry the sync after a short wait if the RadarrAPI is having a transient issue.
- Disable the list if it has been removed upstream.
- Inspect the logged status code (the [{0}] placeholder) to narrow the cause.
Defensive patterns
Strategy: try-catch
Validate before calling
var resp = await httpClient.GetAsync(request);
if (resp.HttpResponse.StatusCode != HttpStatusCode.OK) { /* fix list id or wait for RadarrAPI to recover */ } Type guard
static bool IsListStatusError(Exception ex) => ex is ImportListException ile && ile.Response?.HttpResponse?.StatusCode != HttpStatusCode.OK;
Try / catch
try { parser.ParseResponse(importResponse); }
catch (ImportListException ex) { importListStatusService.RecordFailure(definition, ex.Message); } Prevention
- Confirm the list id is valid on the RadarrAPI.
- Retry transient RadarrAPI outages; disable lists removed upstream.
When it happens
Trigger: listResponse.HttpResponse.StatusCode != HttpStatusCode.OK on a RadarrList2 fetch — e.g. 404 for an unknown list id/route, 5xx if the RadarrAPI service is degraded, or 429 throttling.
Common situations: The configured list id does not exist on the RadarrAPI (typo), the RadarrAPI backend is down, or a transient outage during a sync. Also when a curated list was removed upstream.
Related errors
- List API call resulted in an unexpected StatusCode [{0}]
- Plex API call resulted in an unexpected StatusCode [{0}]
- List API call resulted in an unexpected StatusCode [{0}]
- Radarr API responded with html content. Site is likely block
- Request resulted in an unexpected StatusCode [{0}]
AI-assisted analysis of Radarr/Radarr@ca451608dc (2026-08-13).
Data as JSON: /api/errors/168f1d16a3adab9e.
Report an issue: GitHub.