#api-bindings #plex


Library for communication with Plex server. Work in progress, not ready for any use. See github for details.

11 releases

0.0.11 Jun 2, 2023
0.0.10 May 19, 2023
0.0.9 Mar 30, 2023
0.0.5 Jan 6, 2023
0.0.0 Jan 10, 2019

#58 in Video

Download history 3/week @ 2023-06-07 11/week @ 2023-06-14 20/week @ 2023-06-21 23/week @ 2023-06-28 8/week @ 2023-07-05 4/week @ 2023-07-12 9/week @ 2023-07-19 6/week @ 2023-07-26 3/week @ 2023-08-02 17/week @ 2023-08-09 18/week @ 2023-08-16 20/week @ 2023-08-23 7/week @ 2023-08-30 25/week @ 2023-09-06 21/week @ 2023-09-13 5/week @ 2023-09-20

58 downloads per month
Used in plex-cli



crates tests status codecov Join the chat at https://gitter.im/plex-api-rs/community

Work in progress

At the moment library provides some basic functionality and can be used with caution. Breaking changes are expected with every release at this stage.

Huge thanks to @Mossop for all his contributions.

My goal (not sure, when I would be able to achieve it, or even if I'll achieve it) is to create an API, similar to python-plexapi. Actually, my final goal is to rewrite my plexiglas project into Rust from Python :) And to "simplify" the task I've decided to have a separate project with the API.

Any help is welcome. And just in case: I'm far from being an expert in Rust, so if you know how to do things in proper, Rust-way — feel free to create an issue (or, better, pull-request) to correct the code.

Library status

  • MyPlex access
    • Authentication using Token, Login+Password or Login+Password+OTP
    • Listing known devices and connecting to them via MyPlex object
    • Requesting Claim Token
    • Changing privacy settings
    • Controling webhooks
    • Link Codes support
    • Sharing: accepting/rejecting friendship, inviting somebody, sharing a server
    • Working with Plex announcements
    • Switching to another Plex Home user
    • Watchlist
    • Creating/changing managed users
    • ???
  • Player access
    • Connecting to the player (directly or via server)
    • Doing anything useful
  • Basic server access
    • Navigating the libraries
    • Downloading media
    • Transcoding
    • Managing the server preferences
  • Advanced server access
    • Managing the libraries
    • Changing items' metadata
    • Changing items' preferences (e.g. metadata language)
    • Listening for the server's events/alers
    • Server stats reading
    • Managing optimized versions of media
    • ???

Supported plex versions

The codebase is regularly tested against three different PMS versions. The exact list of the releases is generated automatically on a daily basis, to keep up with all the recent PMS versions. We take every other minor release from the latest 5 minor releases. At the moment the following versions are tested:



Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

You can find the contribution documentation in the CONTRIBUTING.md file.


~1M SLoC