UNPKG

kat-wrapper

Version:

KAT (Kickass) api wrapper with mirror fallback and advanced search parameters.

173 lines (132 loc) 4.37 kB
### Kat-wrapper KAT (Kickass Torrent) api wrapper with mirror fallback and advanced search parameters. #### Simple search ``` var kat = require('kat-wrapper'); kat.search('test').then(function (data) { console.log(data); }).catch(function (error) { console.log(error); }); ``` #### Advanced search ``` kat.search({ query: 'Charlie Chaplin', category: 'movies', min_seeds: '10', uploader: 'ettv', sort_by: 'seeders', order: 'desc', verified: 1, language: 'en' }).then(function (data) { console.log(data); }).catch(function (error) { console.log(error); }); ``` *Output example:* ##### response: ``` page: 2 response_time: 743 results: Array[25] total_pages: 824 total_results: 20578 ``` *Use example:* We'll display the magnet link for the most seeded 'Charlie Chaplin' movie. ``` var kat = require('kat-wrapper'); kat.search({ query: 'Charlie Chaplin', sort_by: 'seeders' }).then(function (response) { console.log(response.results[0].magnet); }).catch(function (error) { console.log('an error occured'); }); ``` #### Parameters KAT search requires *at least 1* of the following queries: `query, category, min_seeds, uploader, safety_filter, verified, language, age` Every other parameter is optionnal. -- - `query`: search terms. * as shown on the above examples, it can be passed simply as a string: `search('string')` if you don't use any other parameter. - `category`: possible values: tv|movies|anime|applications|books|games|music|xxx|other * Subcategories can also be used in the `category` parameter, but I won't list them. - `min_seeds`: a number, integer. Can be contained in a string. * The torrent must be seeded by at least `min_seeds` people. - `uploader`: a KickassTorrent's username. * The torrent was uploaded by `uploader`. - `imdb`: IMDB id - *movies only* * You can pass the entire id or just the figures: 'tt2561572' or '2561572'. - `tvrage`: TVRage id - *tv only* - `sort_by`: possible values: seeders|leechers|time_add|files_count - `order`: possible values: asc|desc - `safety_filter`: 0 or 1. (1=true, 0=false) * This option turns off all the pornographic content. - `verified`: 0 or 1 (1=true, 0=false) * The torrent has been identified as 'not fake' by the community - `language`: langcode or language ID (see below) - *only for Movie or TV* * The spoken language. Example: `en` or `2`. - `age`: possible values: hour|24h|week|month|year * The torrent has been uploaded in the last hour,day,week,month,year. - `page`: integer. * KAT uses 25 results max per page, navigate between pages (1 to X) #### Errors - Regular HTTP request errors. - Regular Javascript errors. - `Missing a mandatory parameter`: you made an error somewhere. - `No data`: this happens when the server sent back a statusCode > 400 or if the something went wrong with the request, but the server answered. - `No results`: 0 results found. Catch this error to warn your user there were no results for its request, or to know when you reached last page. #### Languages About the language parameter: - English: 'en' (id:2) - Albanian: 'sq' (id:42) - Arabic: 'ar' (id:7) - Basque: 'eu' (id:44) - Bengali: 'bn' (id:46) - Brazilian: 'pt-br' (id:39) - Bulgarian: 'bg' (id:37) - Cantonese: 'yue' (id:45) - Catalan: 'ca' (id:47) - Chinese: 'zh' (id:10) - Croatian: 'hr' (id:34) - Czech: 'cs' (id:32) - Danish: 'da' (id:26) - Dutch: 'nl' (id:8) - Filipino: 'tl' (id:11) - Finnish: 'fi' (id:31) - French: 'fr' (id:5) - German: 'de' (id:4) - Greek: 'el' (id:30) - Hebrew: 'he' (id:25) - Hindi: 'hi' (id:6) - Hungarian: 'hu' (id:27) - Italian: 'it' (id:3) - Japanese: 'ja' (id:15) - Kannada: 'kn' (id:49) - Korean: 'ko' (id:16) - Lithuanian: 'lt' (id:43) - Malayalam: 'ml' (id:21) - Mandarin: 'cmn' (id:23) - Nepali: 'ne' (id:48) - Norwegian: 'no' (id:19) - Persian: 'fa' (id:33) - Polish: 'pl' (id:9) - Portuguese: 'pt' (id:17) - Punjabi: 'pa' (id:35) - Romanian: 'ro' (id:18) - Russian: 'ru' (id:12) - Serbian: 'sr' (id:28) - Slovenian: 'sl' (id:36) - Spanish (latin america): '' (id:41) //no langcode, use ID. - Spanish: 'es' (id:14) - Swedish: 'sv' (id:20) - Tamil: 'ta' (id:13) - Telugu: 'te' (id:22) - Thai: 'th' (id:24) - Turkish: 'tr' (id:29) - Ukrainian: 'uk' (id:40) - Vietnamese: 'vi' (id:38)