Radarr/Radarr · warning · UnsupportedFeedException
Empty feed, cannot check if feed is parsable.
Error message
Empty feed, cannot check if feed is parsable.
What it means
TorrentRssSettingsDetector.GetGenericTorrentRssParserSettings throws an UnsupportedFeedException when the feed, parsed as a generic TorrentRssParser, yields zero <item> entries (FirstOrDefault returns null). Without at least one item the detector cannot inspect enclosure/size/seeders fields to decide the parser configuration, so generic detection fails.
Source
Thrown at src/NzbDrone.Core/Indexers/TorrentRss/TorrentRssSettingsDetector.cs:119
{
_logger.Trace(ex, "Feed wasn't parsable by Ezrss Parser");
return null;
}
}
private TorrentRssIndexerParserSettings GetGenericTorrentRssParserSettings(IndexerResponse response, TorrentRssIndexerSettings indexerSettings)
{
var parser = new TorrentRssParser
{
UseEnclosureUrl = true,
UseEnclosureLength = true,
ParseSeedersInDescription = true
};
var item = parser.GetItems(response).FirstOrDefault();
if (item == null)
{
throw new UnsupportedFeedException("Empty feed, cannot check if feed is parsable.");
}
var settings = new TorrentRssIndexerParserSettings()
{
UseEnclosureUrl = true,
UseEnclosureLength = true,
ParseSeedersInDescription = true
};
if (item.Element("enclosure") == null)
{
parser.UseEnclosureUrl = settings.UseEnclosureUrl = false;
}
var releases = ParseResponse(parser, response);
ValidateReleases(releases, indexerSettings);
if (!releases.Any(v => v.Seeders.HasValue))View on GitHub (pinned to ca451608dc)
Solutions
- Open the configured feed URL and confirm it actually contains <item> entries right now.
- If the feed is temporarily empty, retry detection later when there are uploads.
- Correct the feed URL so it returns items (not an empty channel or a non-torrent RSS feed).
- Verify the URL does not require auth/cookies that the detection request omitted.
- Use a Torznab/Newznab endpoint via Jackett instead of raw torrent RSS for more reliable parsing.
Defensive patterns
Strategy: validation
Validate before calling
// Before detection, confirm the feed is non-empty
var sample = XDocument.Parse(response.Content).Descendants("item").FirstOrDefault();
if (sample == null)
throw new UnsupportedFeedException("Feed has no items; cannot detect settings."); Type guard
null
Try / catch
try { var settings = detector.Detect(indexerSettings); }
catch (UnsupportedFeedException ex) when (ex.Message.Contains("Empty feed"))
{ logger.Warn("Feed empty now; retry detection later."); } Prevention
- Retry detection when the feed has active uploads
- Point at a feed URL/category that returns items
- Verify no auth is required that detection omits
When it happens
Trigger: The feed URL returns valid RSS with an empty <channel> (no <item>), a valid feed for a different (empty) category, or a feed that the XML parser reduced to zero items due to namespace mismatch.
Common situations: The feed is genuinely empty right now (no recent uploads) but will populate later; the configured URL/filter returns no items; the feed is paginated and the first page is empty; a copy-paste error points at an unrelated RSS endpoint with no torrent items.
Related errors
- Could not parse feed from {0}
- Could not parse IndexerResponse into XML.
- Unable to parse indexer: {ex.Message}
- Feed contains releases without title.
- Failed to find a valid download url in the feed.
AI-assisted analysis of Radarr/Radarr@ca451608dc (2026-08-13).
Data as JSON: /api/errors/94bb2717a271e9e9.
Report an issue: GitHub.