Jackett/Jackett · error · Exception

Got No Torrents Found! Make sure your IPTorrents profile con

Error message

Got No Torrents Found! Make sure your IPTorrents profile config contain proper default category settings.

What it means

Thrown by IPTorrents.PerformQuery when no explicit search term or IMDb ID is provided and the page contains the literal text 'No Torrents Found!'. With no query filter, IPTorrents should always show the default browse list; seeing the empty-state message means the account's default category profile on the website is misconfigured (empty or invalid categories), so the browse page renders nothing.

Source

Thrown at src/Jackett.Common/Indexers/Definitions/IPTorrents.cs:332

            if (query.Limit > 0 && query.Offset > 0)
            {
                var page = query.Offset / query.Limit + 1;
                qc.Add("p", page.ToString());
            }

            var searchUrl = SearchUrl + "?" + qc.GetQueryString();
            var response = await RequestWithCookiesAndRetryAsync(searchUrl, referer: SearchUrl, headers: headers);
            var results = response.ContentString;

            if (results == null || !results.Contains("/lout.php"))
            {
                throw new Exception("The user is not logged in. It is possible that the cookie has expired or you made a mistake when copying it. Please check the settings.");
            }

            if (string.IsNullOrWhiteSpace(query.ImdbID) && string.IsNullOrWhiteSpace(query.SearchTerm) && results.Contains("No Torrents Found!"))
            {
                throw new Exception("Got No Torrents Found! Make sure your IPTorrents profile config contain proper default category settings.");
            }

            char[] delimiters = { ',', ' ', '/', ')', '(', '.', ';', '[', ']', '"', '|', ':' };

            try
            {
                var parser = new HtmlParser();
                using var doc = parser.ParseDocument(results);

                var headerColumns = doc.QuerySelectorAll("table[id=\"torrents\"] > thead > tr > th").Select(x => x.TextContent.Trim()).ToList();
                var sizeIndex = FindColumnIndexOrDefault(headerColumns, "Sort by size", 5);
                var filesIndex = FindColumnIndexOrDefault(headerColumns, "Sort by files");

                var rows = doc.QuerySelectorAll("table[id=\"torrents\"] > tbody > tr");
                foreach (var row in rows)
                {
                    var qTitleLink = row.QuerySelector("a.hv");
                    if (qTitleLink == null) // no results

View on GitHub (pinned to adff194147)

Solutions

  1. Log in to IPTorrents, go to Settings, and set at least one valid default category for the browse page.
  2. Wait one minute for the site cache to refresh after changing category settings.
  3. Re-test the indexer in Jackett with a specific search term to confirm results return.
  4. If searching works but empty queries do not, the default category config is confirmed as the cause.
Defensive patterns

Strategy: validation

Try / catch

try
{
    var releases = await indexer.PerformQuery(query);
}
catch (Exception ex) when (ex.Message.Contains("No Torrents Found"))
{
    // Only fires for empty/default queries — account's default categories are wrong
    logger.Error("IPTorrents default category issue: {Message}", ex.Message);
    // Instruct user to fix website profile settings
}

Prevention

When it happens

Trigger: A manual/empty TorznabQuery hits IPTorrents, and the account's website-side 'default categories' setting is empty or references nonexistent categories, so the browse page shows 'No Torrents Found!' instead of torrents.

Common situations: The IPTorrents profile's default category list was cleared or never set; categories were renamed/removed by the site; the user's account class restricts certain categories and the default set only includes restricted ones.

Related errors


AI-assisted analysis of Jackett/Jackett@adff194147 (2026-08-13). Data as JSON: /api/errors/689eddef51d891a2. Report an issue: GitHub.