Optimize Database

Much of the Plex metadata is stored in a database that is stored on the server. Over time as media items are added or deleted from the Plex server, the database can become fragmented, and contain old data. To cleanup the database, Plex provides the Optimize Database command through both the Web app and the API.

This command is the same one that is run from the Optimize Database option in Plex.

URL

PUT http://[IP address]:32400/library/optimize?async=[Async]&X-Plex-Token=[PlexToken]

Parameters

NameDescription
IP addressThe IP address of the Plex Media server.
PlexTokenThe temporary authentication Plex token.
AsyncA flag indicating if the API command will be run async. 1 for async, otherwise 0.

Return Status

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

Response

No response is returned. You will be able to see the optimize database API command run from the Plex console.

Remarks

When the async parameter is set to 1, the status code will be returned immediately, but the command will still be running on the server. By setting the async parameter to 0, the status won't be returned until the command has completed running on the server.

There is also an API command to run the optimize database scheduled task.

Examples

Example 1

Run the optimize database command for the Plex server located at IP address of 192.168.1.4 and return immediately:

PUT http://192.168.1.4:32400/library/optimize?async=1&X-Plex-Token=L6vkd7JtLHjsH5987vYY

Example 2

Run the optimize database command for the Plex server located at IP address of 192.168.1.4, but wait for the command to finish running on the server:

PUT http://192.168.1.4:32400/library/optimize?async=0&X-Plex-Token=L6vkd7JtLHjsH5987vYY