An n8n community node for Plex Media Server. Read your libraries, see what's playing right now, search across your server, and fetch metadata — all from your workflows.
✅ Verified community node — installable directly from the n8n node panel (self-hosted and n8n Cloud).
This is a verified community node: in n8n click + (Add node), search for Plex, and add it — no manual install needed.
Manual install (older n8n, or as an unverified package)
Go to Settings → Community Nodes → Install and enter n8n-nodes-plex.
The node authenticates with an X-Plex-Token.
- Find your token — see Plex's guide: Finding an authentication token.
- In n8n create a Plex API credential:
- Base URL — your server, e.g.
http://plex:32400(no trailing slash). - X-Plex-Token — the token from step 1.
- Base URL — your server, e.g.
The credential's Test button calls /library/sections to verify the token.
| Resource | Operations |
|---|---|
| Server | Get Info, Get Identity, Get Media Providers, Get Preferences, Set Preference, Optimize Database, Clean Bundles |
| Library | Get Libraries, Get Library, Get Items, Get Recently Added, Get Collections, Scan, Empty Trash, Analyze |
| Media | Get Metadata, Get Related, Get Similar, Refresh, Rate, Mark Played, Mark Unplayed, Delete |
| Session | Get Active, Get History, Terminate |
| Search | Search |
| Hub | Get Global, Get Continue Watching, Get Promoted, Get Section Hubs |
| Playlist | Get Many, Get, Get Items, Delete |
| Butler | Get Tasks, Run All Tasks, Run Task, Stop All Tasks |
| Updater | Get Status, Check For Updates, Apply Update |
Read operations return each element of the Plex MediaContainer (Metadata,
Directory, Hub, Setting, …) as a separate n8n item. Write/action
operations (Scan, Rate, Terminate, Set Preference, Apply Update, …) return
{ "success": true }.
⚠️ Some operations are destructive or administrative (Media → Delete, Library → Empty Trash, Session → Terminate, Updater → Apply Update). Use them deliberately.
"What's playing on Plex right now?"
- Add the Plex node with the Plex API credential.
- Set Resource =
Session, Operation =Get Active. - Execute. Each current stream is returned as an item, e.g.:
{
"title": "Interstellar",
"type": "movie",
"year": 2014,
"User": { "title": "jdoe", "id": "123456789" },
"Player": { "product": "Plex Web", "state": "playing", "address": "192.0.2.50" },
"Session": { "id": "abcdef", "bandwidth": 5212, "location": "lan" }
}A common follow-up: connect a Discord or Telegram node to be notified whenever someone starts watching something.
To list your libraries first, use Library → Get Libraries; take the key
of a section and feed it into Library → Get Items (Library Section ID)
to page through its content.
Tested against Plex Media Server API 1.x. Node.js 20+.