Jackett: Question: Aggregate result and json response.

Created on 8 Jan 2017  路  18Comments  路  Source: Jackett/Jackett

I was wondering is jackett supports a way to search on all trackers at the same time by just passing the apikey.

In cardigann i can do: torznab/aggregate/api?apikey=123&format=json&q=solsidan&t=search

How can i get the response from jackett as json, even if i add o=json format=json or in the accept header it still returns xml.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Enhancement

Most helpful comment

Thak you @chibidev for the patch.
In the latest pre-release you now can use "all" as indexers in torznab/potato urls:
http://127.0.0.1:9117/torznab/all?apikey=&cat=5040,5030

Please test if it's working for you.

All 18 comments

Though about adding a grouping feature some while ago. That way you would be able to create groups, add trackers to it and use it on the various APIs.

Regarding the JSON part: it's simply not implemented. Seems like nobody needed it.

I have worked around the issue by logging in to the site then do a manual search with all indexers. It would still be nice if jackett supported this.

I'd also appreciate some sort of "aggregate" torznab feed that searches all indexers.

It would be even better if you could create manual groups like you said, or filters on what type of indexers (public vs private, etc.). Then in tools such as Sonarr, wouldn't have to update the links anytime a new indexer is added in Jackett.

Certainly there should be some predefined groups "all", and the tracker types are obvious.
Personally I wouldn't use this feature as I would loss control about which tracker should be used for search/rss.

This would be very useful! It would be great to have "aggregate" torznab feeds based on torznab categories, for example one feed for audio or similar.

Started with cardigann but development died and came to jackett. Overall its working very well, better in some ways also. Except it's missing this one feature. That is being able to search all trackers via one link.

I'd love this too

I personally consider an aggregated feeds a bad idea due to the lost details/control.
For the "I don't want to add all indexers one by one to sonarr/radarr" I consider an automatic syncing feature which would configure the trackers automatically in sonarr/radarr once they're added/removed to Jackett the better option.

@kaso17 That makes no sense imo. Ofc it should be supported by the api. I dont care what providers the returned the data as long as i get the torrent i need. You can still target one and one provider as before. If i knew C# id send a pr in a heart beat.

@kaso17 has correctly identified the problem "I don't want to add all indexers one by one to sonarr/radarr"
People probably don't care about the exact solution. Retaining detailed control would be a nice to have.
An API on Jackett might be the best solution and a consumer of that API on sonarr/radarr would be best, but of course that requires buy-in from two projects.

There is definitely pros and cons.
Loosing of some detail might not bother some and might not be an issue in some cases.
"Automatic syncing" is a great idea for a feature but it definitely would be a much larger undertaking.

@ajslater there is definitely way more projects then just sonarr/radarr that would require co-operation.

Long term there's likely a better solution. It doesn't make sense for so many projects working to support trackers when jackett can just hand it.

For right now it seems to me it would be easier to implement an aggregated feed. If users want to use it or not its up to them.

sonarr & radarr (and others) neglect their own indexers quite a bit, there's too much else for them to work on. They really should just use Jackett.

Thak you @chibidev for the patch.
In the latest pre-release you now can use "all" as indexers in torznab/potato urls:
http://127.0.0.1:9117/torznab/all?apikey=&cat=5040,5030

Please test if it's working for you.

http://127.0.0.1:9117/torznab/all?apikey=&cat=5040,5030/api?t=caps&apikey=f29c85fu45abh4tvmm275zb7lmajhj2i

Apr 30, 2017 02:52:13 PM    Error   

Error Unhandled exception: Message = Input string was not in a correct format. Data = System.Collections.ListDictionaryInternal InnerException = TargetSite = Void Throw() StackTrace = at System.Number.StringToNumber (System.String str, System.Globalization.NumberStyles options, System.Number+NumberBuffer& number, System.Globalization.NumberFormatInfo info, System.Boolean parseDecimal) [0x0005e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Number.ParseInt32 (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) [0x00014] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Int32.Parse (System.String s) [0x00007] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Linq.Enumerable+WhereSelectArrayIterator`2[TSource,TResult].MoveNext () [0x0004d] in <2392cff65f724abaaed9de072f62bc4a>:0 at System.Linq.Buffer`1[TElement]..ctor (System.Collections.Generic.IEnumerable`1[T] source) [0x00087] in <2392cff65f724abaaed9de072f62bc4a>:0 at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00011] in <2392cff65f724abaaed9de072f62bc4a>:0 at Jackett.Models.TorznabQuery.FromHttpQuery (System.Collections.Specialized.NameValueCollection query) [0x000b8] in <91bdecbddea54fdca6098f7a08c34952>:0 at Jackett.Controllers.TorznabController+<Call>c__async0.MoveNext () [0x00058] in <91bdecbddea54fdca6098f7a08c34952>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Threading.Tasks.TaskHelpersExtensions+<CastToObject>d__3`1[T].MoveNext () [0x00063] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Tracing.ITraceWriterExtensions+<TraceBeginEndAsyncCore>d__18`1[TResult].MoveNext () [0x000e5] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Controllers.ApiControllerActionInvoker+<InvokeActionAsyncCore>d__0.MoveNext () [0x000c7] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Tracing.ITraceWriterExtensions+<TraceBeginEndAsyncCore>d__18`1[TResult].MoveNext () [0x000e5] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Filters.ActionFilterAttribute+<CallOnActionExecutedAsync>d__5.MoveNext () [0x0009d] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Filters.ActionFilterAttribute+<CallOnActionExecutedAsync>d__5.MoveNext () [0x001f6] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Filters.ActionFilterAttribute+<ExecuteActionFilterAsyncCore>d__0.MoveNext () [0x0011b] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Controllers.ActionFilterResult+<ExecuteAsync>d__2.MoveNext () [0x001f1] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Tracing.Tracers.HttpControllerTracer+<ExecuteAsyncCore>d__5.MoveNext () [0x0008b] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Tracing.ITraceWriterExtensions+<TraceBeginEndAsyncCore>d__18`1[TResult].MoveNext () [0x000e5] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__1.MoveNext () [0x0018d] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__1.MoveNext () [0x0030d] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.Tracing.ITraceWriterExtensions+<TraceBeginEndAsyncCore>d__18`1[TResult].MoveNext () [0x000e5] in <f99f496cb0d249c1a945c1fcabce1695>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 at System.Web.Http.HttpServer+<SendAsync>d__0.MoveNext () [0x00187] in <f99f496cb0d249c1a945c1fcabce1695>:0 HelpLink = Source = mscorlib HResult = -2146233033

@kaso17 Regarding setting up indexers in Radarr automatically, hit me up on discord (or something else) if you want to discuss how we would best implement that.

This works for me...
Jackett all
http://xxx.myqnapcloud.com:9117/torznab/all

Was this page helpful?
0 / 5 - 0 ratings