PlexAPI
Python bindings for the Plex API.
Decision gist · record as of 2026-08-14
Yes. PlexAPI is actively maintained, has no known vulnerabilities, installs cleanly with minimal dependencies, and supports current Python versions. It's well-suited for anyone needing to automate Plex server operations or build custom integrations. The BSD-3-Clause license is permissive. The only gotcha is that you need network access to a running Plex Server and a valid auth token to use it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; you must have network access to a running Plex Server instance and a valid authentication token.
- Low install friction with a single runtime dependency (requests).
- Active maintenance: last commit 2026-08-04, 1289 repository stars, and release within 35 days.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, provided you retain the license notice.
last release 2026-07-10 (35 days) · last repo commit 2026-08-04 · 1,289 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 408,596 downloads/mo, #6,876 on PyPI
Alternatives
Verify before relying
pip install plexapi
from plexapi.server import PlexServer
baseurl = 'http://plexserver:32400'
token = 'your_auth_token'
plex = PlexServer(baseurl, token)
movies = plex.library.section('Movies')
for video in movies.search(unwatched=True):
print(video.title)- Whether optional dependencies for alert and JWT features are stable and well-maintained.
- Compatibility with all current Plex Server versions and whether breaking changes are documented.
What it is and what it does
PlexAPI is an unofficial Python wrapper around the Plex media server API, letting you automate interactions with Plex servers from Python code. It depends only on requests and works with Python 3.10 and later. You can use it to navigate and search libraries, perform server maintenance tasks like scanning and analyzing, remotely control playback on connected clients (including Sonos speakers with appropriate setup), and subscribe to server notifications.
The library is designed to match the capabilities of the official Plex Web Client. It reads XML documents from the Plex server and exposes them as Python objects with camelCase naming to match the underlying API structure. The project has been maintained since 2014, is actively developed, and has no known security vulnerabilities.
Use it for
- Automatically find and list unwatched content in your Plex library for batch operations or reporting.
- Build a custom remote control interface to play media on specific Plex clients from a Python application.
- Automate library maintenance tasks like scanning for new media, analyzing metadata, or emptying trash.
- Create integrations that respond to Plex server events by listening to notifications.
- Query and manage playlists, ratings, and playback state across your Plex server programmatically.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PlexAPI is actively maintained, has no known vulnerabilities, installs cleanly with minimal dependencies, and supports current Python versions. It's well-suited for anyone needing to automate Plex server operations or build custom integrations. The BSD-3-Clause license is permissive. The only gotcha is that you need network access to a running Plex Server and a valid auth token to use it.
Install
plexapi on PyPI
Before you install
Low install friction with a single runtime dependency (requests). Active maintenance: last commit 2026-08-04, 1289 repository stars, and release within 35 days. Requires Python 3.10 or later.
Requires Python 3.10 or later; you must have network access to a running Plex Server instance and a valid authentication token.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, provided you retain the license notice.
Quickstart
pip install plexapi
from plexapi.server import PlexServer
baseurl = 'http://plexserver:32400'
token = 'your_auth_token'
plex = PlexServer(baseurl, token)
movies = plex.library.section('Movies')
for video in movies.search(unwatched=True):
print(video.title)
Verify before relying
- Whether optional dependencies for alert and JWT features are stable and well-maintained.
- Compatibility with all current Plex Server versions and whether breaking changes are documented.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerequests |
| Maintenance | Actively maintained 35 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 408,596 / month, #6,876 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Operating System :: OS IndependentProgramming Language :: Python :: 3 |
Evidence: plexapi-4.18.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “plex server control python”
- PlexAPIUnofficial Python bindings for the Plex API that let you…
- plexwebsocketAsync library that connects to Plex media servers over websockets and…
- plexauthHandles authorization flow to obtain tokens from Plex.tv via external…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also plexwebsocket · plexauth · aiopyarr · roonapi · pyforked-daapd · casttube · sonos-websocket · ytmusicapi · python-vlc · pyps4-2ndscreen