Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including perplexed with all npm packages installed. Try it out:

var perplexed = require("perplexed")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

perplexed v4.5.0

Plex API Client

Plex Media Server HTTP API Client

This library makes it easier to use the Plex Media Server HTTP API.

This library was written to be used to create fully featured PMS clients, which would allow users to login with a Plex account and select an available server.

It also provides quite a few helper methods in the Library class so you don't have to manually construct the API paths yourself.

Note: This library only support music libraries at the moment, but there is no reason it couldn't support other library types as well.


First add the library to your project

$ yarn add perplexed

Then create a new client instance. This describes the client that is making the request. You can find more about these options on the node-plex-api README.

const {Client} = require('perplexed')

const client = new Client({
  identifier: 'f5941591-ef73-45e1-99c0-8f3a56941617',
  product: 'Node.js App',
  version: '1.0.0',
  device: 'linux',
  deviceName: 'Node.js App',
  platform: 'Node.js',
  platformVersion: '7.2.0',

Now you can create an account instance.

const {Account} = require('perplexed')

const account = new Account(client)

account.authenticate(username, password).then(() => {
  // we now have an auth token

Now you can create an server connection.

const {ServerConnection} = require('perplexed')

const uri = ''
const serverConnection = new ServerConnection(uri, account)

Now use this connection to create a Library, which allows you to do awesome stuff.

const {Library} = require('perplexed')

const library = new Library(serverConnection)

// like get all the playlists in a library
library.playlists().then((playlists) => {
  // do something with playlists
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free