Get Devices

When accessing and logging into a Plex Media server, the device used to access the server is added to the list of authorized devices. This list can be reviewed from the Plex Server's administration site.

While devices can be removed the authorized from device list, the information about the device is still kept within the Plex database, and can be retrieved using this API command.

URL

GET http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}

Parameters

NameDescription
ip_addressThe IP address of the Plex Media server.
plex_tokenThe Plex token.

Return Status

HTTP CodeDescription
200Success - The request was successful.
401Unauthorized - The Plex token provided was not valid.

Response

XML string value that lists the devices that have accessed the Plex server. An example of the XML returned from the request is shown below:

<?xml version="1.0" encoding="UTF-8"?>
<MediaContainer size="14" identifier="com.plexapp.system.devices">
    <Device id="1" name="Plex Web (Firefox)" platform="" clientIdentifier="lj0nrqk60o" createdAt="1451188204" />
    <Device id="2" name="Desktop" platform="" clientIdentifier="B6632D4A-5062-4DC8-8F86-2899DACFD446" createdAt="1451189307" />
    <Device id="3" name="Galaxy Note4" platform="Android" clientIdentifier="a782fec64e323ab1-com-plexapp-android" createdAt="1451191966" />
    <Device id="4" name="Roku 3" platform="" clientIdentifier="Plex8E6532043338" createdAt="1451238531" />
    <Device id="5" name="Bob iPhone" platform="" clientIdentifier="49C59058-DBB3-409B-BC22-28FF407D983D" createdAt="1451531416" />
    <Device id="6" name="Dell Laptop" platform="" clientIdentifier="957B7AA1-C4AC-44A4-992C-53F085465B69" createdAt="1456073615" />
    <Device id="7" name="Plex Web (Firefox)" platform="" clientIdentifier="63tn6wik38f" createdAt="1456185758" />
    <Device id="8" name="iPhone" platform="iOS" clientIdentifier="ADE7CA5E-A691-45EF-9B2C-A480EA640A02" createdAt="1460595679" />
    <Device id="9" name="RasPlex" platform="" clientIdentifier="0CA903BF-54E5-44EC-93AC-BA90195C877C" createdAt="1463245049" />
    <Device id="10" name="Tom iPhone" platform="" clientIdentifier="D7ECC0B2-8700-480C-B699-88EB22335402" createdAt="1463245782" />
    <Device id="11" name="Plex Web (Chrome)" platform="" clientIdentifier="9igq5fdtymk9c7okomkfx647vi" createdAt="1463254301" />
    <Device id="12" name="Plex Web (Chrome)" platform="" clientIdentifier="72n3ja6drbot341sl40a4i" createdAt="1464217576" />
    <Device id="13" name="Plex Web (Chrome)" platform="" clientIdentifier="ufaj2q87yq0aqjomf7iitqpvi" createdAt="1464465954" />
    <Device id="14" name="Plex Web (Chrome)" platform="" clientIdentifier="t0v90n9iyk73krbaed8qqto6r" createdAt="1464572428" />
</MediaContainer>

Remarks

The XML returned provides a list of the devices that have accessed the Plex server. The root is the MediaContainer element. This element contains a few attributes that provide overall information about the devices that have accessed the server.

MediaContainer Attributes for Plex Devices
AttributeDescription
sizeThe number of devices that have accessed the Plex server.
identifierThe identifier for this type of item in Plex.

Within the MediaContainer there are one or more Device child elements. Each Device element represents one device that has accessed the Plex server.

Device Attributes
AttributeDescription
idThe unique integer value used to identify the device.
nameThe name of the device.
platformThe platform of the device.
clientIdentifierThe identifier for this type of device in Plex.
createdAtThe date and time the device was created on the Plex server. This would represent the first time the device accessed the server.

As mentioned earlier, the list of devices returned represents the history of all devices that have access the Plex server, not just the current list of authorized devices. Removing a device from the authorized device list, won't remove the device from this list.

Examples

curl -X GET http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}
import requests
plex_url = http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}
response = requests.get(plex_url)
print(response.text)
$response = Invoke-RestMethod 'http://{ip_address}:32400/devices/?X-Plex-Token={plex_token}' -Method 'GET'
Write-Output $response
Subscribe
Display