Skip to main content
GET
PlexGO

Authorizations

X-Plex-Token
string
header
required

The token which identifies the user accessing the PMS. This can be either:

  • A traditional access token obtained from plex.tv
  • A JWT token obtained through the JWT authentication flow

JWT tokens provide better security with:

  • Short-lived tokens (7 days expiration)
  • Public-key cryptography (ED25519)
  • Better clock synchronization
  • Individual device revocation capability

Headers

accepts
enum<string>
default:application/xml

Indicates the client accepts the indicated media types

Available options:
application/json,
application/xml
X-Plex-Client-Identifier
string
required

An opaque identifier unique to the client

Example:

"abc123"

X-Plex-Product
string

The name of the client product

Example:

"Plex for Roku"

X-Plex-Version
string

The version of the client application

Example:

"2.4.1"

X-Plex-Platform
string

The platform of the client

Example:

"Roku"

X-Plex-Platform-Version
string

The version of the platform

Example:

"4.3 build 1057"

X-Plex-Device
string

A relatively friendly name for the client device

Example:

"Roku 3"

X-Plex-Model
string

A potentially less friendly identifier for the device model

Example:

"4200X"

X-Plex-Device-Vendor
string

The device vendor

Example:

"Roku"

X-Plex-Device-Name
string

A friendly name for the client

Example:

"Living Room TV"

X-Plex-Marketplace
string

The marketplace on which the client application is distributed

Example:

"googlePlay"

Path Parameters

sectionId
integer
required

Section identifier

Query Parameters

type
integer

The metadata type to filter on

sort
integer

The metadata type to filter on

mediaQuery
object

A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.

The query supports:

  • Fields: integer, boolean, tag, string, date, language
  • Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)
  • Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)
  • Sorting: sort parameter with :desc, :nullsLast modifiers
  • Grouping: group parameter
  • Limits: limit parameter

Examples:

  • Object format: {type: 4, sourceType: 2, title: "24"}type=4&sourceType=2&title=24
  • String format: type=4&sourceType=2&title==24 - type = 4 AND sourceType = 2 AND title = "24"
  • Complex: push=1&index=1&or=1&rating=2&pop=1&duration=10 - (index = 1 OR rating = 2) AND duration = 10

See API Info section for detailed information on building media queries.

A querystring-based filtering language used to select subsets of media. When provided as an object, properties are serialized as a querystring using form style with explode.

Only the defined properties below are allowed. The object serializes to a querystring format like: type=4&sourceType=2&sort=duration:desc,index

Example:

Response

200 - application/json

OK

MediaContainer
object

MediaContainer is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable. Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination) The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the parentTitle attribute may appear on the MediaContainer rather than being repeated on each track.