Run Upgrade Media Analysis Task

There are a number of tasks that can be scheduled to run on a Plex server. This API command will run the upgrade media analysis task.


POST http://{ip_address}:32400/butler/UpgradeMediaAnalysis?X-Plex-Token={plex_token}


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

Return Status

HTTP CodeDescription
200Success - The task has started successfully.
202Accepted - The task is currently running.
401Unauthorized - The Plex token provided was not valid.


No response is returned by the command. The status code will indicate whether the upgrade media analysis task was started successfully.


To make media play correctly on different devices, Plex will fix issues with how files are checked or get additional information. Plex will figure this out when needed, but it will take a bit when you select a media item to play.

This task makes sure the Plex checks are always up to date.

Since this task is related to local metadata, it does not download metadata for any media.

The scheduled tasks are defined in the Plex settings, and will run during a specified time window. This API command will run manually start the task.

When starting a task, Plex will use the following criteria:

  • If a task is not scheduled to run on the current day, it will be skipped.
  • The task will start immediately if it is to run at a random time during a configured window, and this command is not run within that window.
  • The task will be scheduled to run if it is to run at a random time during a configured window, and this command is run within that window.
  • The task will run immediately if it is outside the configured window.


curl -X POST http://{ip_address}:32400/butler/UpgradeMediaAnalysis?X-Plex-Token={plex_token}
import requests
plex_url = http://{ip_address}:32400/butler/UpgradeMediaAnalysis?X-Plex-Token={plex_token}
response =
$response = Invoke-RestMethod 'http://{ip_address}:32400/butler/UpgradeMediaAnalysis?X-Plex-Token={plex_token}' -Method 'POST'
Write-Output $response