Run Extensive 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 refresh local metadata task.


POST http://[IP address]:32400/butler/DeepMediaAnalysis?X-Plex-Token=[PlexToken]


IP addressThe IP address of the Plex Media server.
PlexTokenThe authentication 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 refresh local metadata task was started successfully.


This task will conduct a detailed analysis of the bitrate of every file in your library. This will help with bandwidth control.

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/DeepMediaAnalysis?X-Plex-Token=[PlexToken]
import requests
plex_url = http://[IP address]:32400/butler/DeepMediaAnalysis?X-Plex-Token=[PlexToken]
response =
$response = Invoke-RestMethod 'http://[IP address]:32400/butler/DeepMediaAnalysis?X-Plex-Token=[PlexToken]' -Method 'POST'
Write-Output $response