better-trakt
v0.9.1
Published
A Trakt.tv client with native Typescript support and quality of life features
Downloads
259
Maintainers
Readme
Better Trakt
A Trakt.tv client with native Typescript support and quality of life features
Features
- 🖵 Browser & Node.js support
- 🔒 No auth lock-in
- 👥 Able to handle > 1 user [^1]
- 🌲 Tree Shakable
- 🌐 Trakt specific http errors
- 🏗️ Built with TypeScript
[^1]: This really shouldn't need be a "feature," but all the other SDKs can only handle 1 user at a time so it is.
Install
# npm
npm install better-trakt
# Yarn
yarn add better-trakt
# pnpm
pnpm add better-trakt
Usage
import { Trakt } from 'better-trakt';
const client = new Trakt({
clientId: 'client id',
clientSecret: 'client secret',
});
// get every movie a user has watched
const watchedMovies = await client.users.watchedMovies({ userId: '1234', accessToken: 'abcd123' });
// get the summary for the show with the trakt id of "1"
const show1 = await client.shows.summary('1');
More examples in the examples folder.
Compatibility
✅: Full Support | 🚧: Partial Support | ❌: No Support
Runtimes
| Runtime | Supported | | ------- | :-------: | | Node.js | ✅ | | Browser | ✅[^2] |
[^2]: See Axios's supported browsers, might also require a transpiler like babel, esbuild, etc.
Trakt Api
(All namespaces are planned, this is just what's currently supported.)
| Namespace | Supported | | ------------------------ | :-------: | | Authentication - OAuth | ❌ | | Authentication - Devices | ❌ | | Calendars | ❌ | | Checkin | ❌ | | Certifications | ✅ | | Comments | ❌ | | Countries | ✅ | | Genres | ✅ | | Languages | ✅ | | Lists | ✅ | | Movies | ✅ | | Networks | ✅ | | People | ❌ | | Recommendations | ❌ | | Scrobble | ❌ | | Search | ❌ | | Shows | ✅ | | Seasons | ❌ | | Episodes | ❌ | | Sync | ❌ | | Users | 🚧 |
Docs
Docs for the latest release can be found at https://getaugur.github.io/better-trakt/. For a more complete understanding of the api in general please visit https://trakt.docs.apiary.io/.
Getting Images
As described in the offical docs, you need to use 3rd party APIs. Listed below are some libraries we recommend using, all of which have typescript support:
- moviedb-promise
- omdb (has some issues)
⚠️ Alpha Notice
Until beter-trakt
reaches 1.0
, there may be breaking changes in new minor versions.