trakt-api
v0.4.1
Published
Trakt API v2 client
Downloads
8
Readme
Trakt.tv API v2
Node.js client for the Trakt.tv API.
Work in progress!
Installation
$ npm i trakt-api
Quick example
var Trakt = require('trakt-api');
var trakt = Trakt(API_KEY[, OPTIONS]);
// Promises...
trakt.show('manhattan', { extended : 'full' }).then(function(show) {
console.log('%j', show);
}).catch(function(err) {
console.warn('oh noes', err);
});
// ...or regular callbacks
trakt.show('manhattan', { extended : 'full' }, function(err, show) {
if (err) return console.warn('oh noes', err);
console.log('%j', show);
});
Constructor
var trakt = Trakt(API_KEY : String [, OPTIONS : Object]);
API_KEY
is the Client ID value listed on your application's page. You need to create a new application before you can use this API.OPTIONS
is an optional object that may contain the following properties:
extended : String // default "extended" level (default: 'min') logLevel : String // log level (default: 'info') poolSize : Number // HTTP request pool size (default: 5) timeout : Number // HTTP timeout in ms (default: 30000) ```
API methods
Most API methods are generated from endpoints.json
, although not all are implemented yet (see below). API methods generally have required and optional arguments. Required arguments are enforced and will cause an error to be thrown if not defined.
Most API methods also accept an optional OPTIONS
object. There's one valid option for now:
extended
: use an extended information level
However, this option doesn't apply to all API methods. Refer to the Trakt API documentation.
Promises versus callbacks
If you don't like promises, or just prefer old school callbacks, pass a function as last argument. Otherwise, all methods return a promise. See the example above.
Methods currently implemented
Please refer to the API documentation for more information on each method.
trakt.search(QUERY:String[, TYPE:String][, YEAR:Number][, CALLBACK])
trakt.searchAll(QUERY:String[, YEAR:Number][, CALLBACK])
trakt.searchShow(QUERY:String[, YEAR:Number][, CALLBACK])
trakt.searchMovie(QUERY:String[, YEAR:Number][, CALLBACK])
trakt.searchEpisode(QUERY:String[, YEAR:Number][, CALLBACK])
trakt.searchPerson(QUERY:String[, YEAR:Number][, CALLBACK])
trakt.calendarMyShowsNew([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.calendarMyShowsPremieres([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.calendarMyMovies([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.calendarAllShows([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.calendarAllShowsNews([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.calendarAllShowsPremieres([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.calendarAllMovies([START_DATE][, DAYS][, OPTIONS][, CALLBACK])
trakt.moviePopular([OPTIONS][, CALLBACK])
trakt.movieTrending([OPTIONS][, CALLBACK])
trakt.movieUpdates([START_DATE][, OPTIONS][, CALLBACK])
trakt.movie(ID[, OPTIONS][, CALLBACK])
trakt.movieAliases(ID[, OPTIONS][, CALLBACK])
trakt.movieReleases(ID[, COUNTRY][, OPTIONS][, CALLBACK])
trakt.movieTranslations(ID[, LANGUAGE][, OPTIONS][, CALLBACK])
trakt.movieComments(ID[, OPTIONS][, CALLBACK])
trakt.moviePeople(ID[, OPTIONS][, CALLBACK])
trakt.movieRatings(ID[, OPTIONS][, CALLBACK])
trakt.movieRelated(ID[, OPTIONS][, CALLBACK])
trakt.movieStats(ID[, OPTIONS][, CALLBACK])
trakt.movieWatching(ID[, OPTIONS][, CALLBACK])
trakt.showPopular([OPTIONS][, CALLBACK])
trakt.showTrending([OPTIONS][, CALLBACK])
trakt.showUpdates([START_DATE][, OPTIONS][, CALLBACK])
trakt.show(ID[, OPTIONS][, CALLBACK])
trakt.showAliases(ID[, OPTIONS][, CALLBACK])
trakt.showTranslations(ID[, LANGUAGE][, OPTIONS][, CALLBACK])
trakt.showComments(ID[, OPTIONS][, CALLBACK])
trakt.showProgressCollection(ID[, OPTIONS][, CALLBACK])
trakt.showProgressWatched(ID[, OPTIONS][, CALLBACK])
trakt.showPeople(ID[, OPTIONS][, CALLBACK])
trakt.showRatings(ID[, OPTIONS][, CALLBACK])
trakt.showRelated(ID[, OPTIONS][, CALLBACK])
trakt.showStats(ID[, OPTIONS][, CALLBACK])
trakt.showWatching(ID[, OPTIONS][, CALLBACK])
trakt.showSeasons(ID[, OPTIONS][, CALLBACK])
trakt.season(ID, SEASON[, OPTIONS][, CALLBACK])
trakt.seasonComments(ID, SEASON[, OPTIONS][, CALLBACK])
trakt.seasonRatings(ID, SEASON[, OPTIONS][, CALLBACK])
trakt.seasonStats(ID, SEASON[, OPTIONS][, CALLBACK])
trakt.seasonWatching(ID, SEASON[, OPTIONS][, CALLBACK])
trakt.episode(ID, SEASON, EPISODE[, OPTIONS][, CALLBACK])
trakt.episodeComments(ID, SEASON, EPISODE[, OPTIONS][, CALLBACK])
trakt.episodeRatings(ID, SEASON, EPISODE[, OPTIONS][, CALLBACK])
trakt.episodeStats(ID, SEASON, EPISODE[, OPTIONS][, CALLBACK])
trakt.episodeWatching(ID, SEASON, EPISODE[, OPTIONS][, CALLBACK])
trakt.userHistory(USERNAME[, TYPE][, ID][, CALLBACK])
trakt.userWatching(USERNAME[, CALLBACK])