Jackett/Jackett · error · Exception
Indexer API call returned an error [{jsonResponse.Error}]
Error message
Indexer API call returned an error [{jsonResponse.Error}] What it means
Thrown in BroadcastheNetParser.ParseResponse when the BTN JSON-RPC response's top-level Error field is non-null. The BTN API uses JSON-RPC 2.0, where errors are returned as an error object rather than an HTTP status code.
Source
Thrown at src/Jackett.Common/Indexers/Definitions/BroadcasTheNet.cs:251
{
private readonly string _siteLink;
private readonly TorznabCapabilitiesCategories _categories;
public BroadcastheNetParser(string siteLink, TorznabCapabilitiesCategories categories)
{
_siteLink = siteLink;
_categories = categories;
}
public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
{
var releases = new List<ReleaseInfo>();
var jsonResponse = JsonConvert.DeserializeObject<BroadcastheNetResponse>(indexerResponse.Content);
if (jsonResponse.Error != null)
{
throw new Exception($"Indexer API call returned an error [{jsonResponse.Error}]");
}
if (jsonResponse.Result?.Torrents?.Values == null)
{
return releases;
}
foreach (var btnResult in jsonResponse.Result.Torrents.Values)
{
var descriptions = new List<string>();
if (btnResult.Series.IsNotNullOrWhiteSpace())
{
descriptions.Add("Series: " + btnResult.Series);
}
if (btnResult.GroupName.IsNotNullOrWhiteSpace())
{View on GitHub (pinned to adff194147)
Solutions
- Check the bracketed error text: 'API key not found' -> regenerate key; 'rate limit' -> slow down queries; IP ban -> rotate IP / VPN.
- Update the API key in the indexer config.
- If the error is transient, reduce search frequency or rely on Jackett's cache.
- Consult https://btn.trackerstatus.info/ for BTN-side outages.
Defensive patterns
Strategy: try-catch
Try / catch
try { var releases = parser.ParseResponse(indexerResponse); }
catch (Exception e) when (e.Message.Contains("Indexer API call returned an error"))
{
// parse the bracketed text: invalid key -> reconfigure; rate limit -> back off
logger.Warn("BTN API error: {0}", e.Message);
} Prevention
- Respect the 5s request delay to avoid rate-limit errors.
- Keep the API key current; revoke/rotate promptly if leaked.
- Monitor btn.trackerstatus.info for outages.
When it happens
Trigger: Any BTN API call (search/manual) where the server reports an error: invalid API key, rate limit exceeded, malformed method parameters, banned IP, or an internal BTN server error.
Common situations: API key revoked after setup; hitting the BTN rate limit (5s request delay enforced); IP banned; passing a tvdbId/parameter BTN does not accept; BTN performing maintenance.
Related errors
- no results found, please report this bug
- Error while parsing json: + response.ContentString
- Time zone: {time_zone} is not defined.
- Parse error
- Error parsing category!
AI-assisted analysis of Jackett/Jackett@adff194147 (2026-08-13).
Data as JSON: /api/errors/ded55e9721b46276.
Report an issue: GitHub.