Skip to content
Node.js SDK for Plex Media Server API 📟
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitattributes
.gitignore
LICENSE
README.md
package-lock.json
package.json
pavie.js

README.md

pavie

Node.js SDK for the Plex Media Server API.

Tested on Plex Media Server v1.16.3.

License: MIT npm version Install size

Summary

Metadata

Tv Shows

Synchronize

Playlists

History

Images

Install

$ npm install pavie

Usage

const Pavie = require("pavie")

const pavie = new Pavie({ username: "USERNAME", password: "PASSWORD" })

pavie
  .signin()
  .then(user => {
    console.log(user)
  })
  .catch(err => {
    console.error(err)
  })

Documentation

signin()

Authenticate user to Plex server. This is the first method to call, this instantiate your server and your token for the others methods !

Return user <object> if authentification is successfull.

getResources()

Get the list of resources with connection settings. Conection : [name, protocol, address, port, uri, local, relay, IPv6].

getUser()

Get user info. Return: [id, uuid, username, title, email, thumb, authToken, certificateVersion, rememberExpiresAt].

getIdentity()

Get basic info about the Plex server. Return: [machineIdentifier, version]

getActions()

Get the list actions availables. ie : platform, platformVersion, updatedAt, version, machineIdentifier, myPlexUsername. Return : [activities, butler, channels, clients, devices, diagnostics, hubs, library, livetv, media, player, playlists, resources, search, server, ...].

getServers()

Get a list of servers. Return: [name, host, address, port, machineIdentifier, version].

Metadata

getMetadata([id])

Return all info about a media.

  • id <number> Identifiant

getMetadataChildren([id], [options])

Return all children metadata for a specified media. ie: Return seasons metadata for a specified Tv Show.

  • id <number> Identifiant
  • options <object>
    • excludeAllLeaves <number>, default: 1

getRelated([id], [options])

Return a list of related media.

  • id <number> Identifiant
  • options <object>
    • excludeFields <string>, default: summary
    • includeExternalMetadata <number>, default: 1
    • asyncAugmentMetadata <number>, default: 1

getSimilar([id])

Return a list of similar media.

  • id <number> Identifiant

search([query], [options])

Global search of media.

  • query <string>
  • options <object>
    • includeCollections <number>, default: 1
    • sectionId <number>
    • limit <number>, ie: 30

Tv Shows

getTvShows([options])

Return tv shows.

  • options <object>
    • unwatchedLeaves <number>, default: 0
    • sort <string>, ie: rating:desc

getSeasons([options])

Return tv shows seasons.

  • options <object>
    • includeCollections <number>, default: 1
    • sort <string>, ie: rating:desc

getEpisodes([options])

Return tv shows episodes.

  • options <object>
    • includeCollections <number>, default: 1
    • sort <string>, ie: rating:desc

Synchronize

getSynchronize()

Get synchronize info.

synchronize([accounntId])

Synchronize Plex and Trakt.tv.

Playlists

getPlaylists()

Get all playlists.

getPlaylist([ratingKey])

Get playlist basic info.

  • ratingKey <string> | <number> Identifiant

getPlaylistFiles([ratingKey])

Get playlist video files.

  • ratingKey <string> | <number> Identifiant

addPlaylist([data])

Add new playlist.

  • data <object>
    • uri <string> Path to a list of video files, ie : server://2c59cf8256eccd8629081638e98e27bf8349c3e7/com.plexapp.plugins.library/library/metadata/26082
    • title <string> Title of the playlist
    • smart <number> Default: 0
    • type <string> Default: video

updatePlaylist([ratingKey], [data])

Update existing playlist.

  • ratingKey <string> | <number> Identifiant
  • data <object>
    • title <string> Title
    • summary <string> Description

updatePlaylistFiles([ratingKey], [uri])

Add files to an existing playlist.

  • ratingKey <string> | <number> Identifiant
  • uri <string> Path to a list of video files, ie: server://2c59cf8256eccd8629081638e98e27bf8349c3e7/com.plexapp.plugins.library/library/metadata/26082

removePlaylist([ratingKey])

Remove existing playlist.

  • ratingKey <string> | <number> Identifiant

History

getHistory(options)

Get the history of a TV Shows.

  • options <object>

    • metadataItemID <number> Identifiant
    • sort <string> Order by, default : viewed:desc

Images

getImage([url], [options])

Return an image.

  • url <string> Path to the image
  • options <object>
    • width <number>, default: 170
    • height <number>, default: 96
    • minSize <number>, default: 1
    • upscale <number>, default: 1
    • opacity <number>, ie: 30
    • background <hexadecimal>, ie: 36383b
    • format <string>, ie: png
    • blur <number>, ie: 56
You can’t perform that action at this time.