Notices: This section not yet converted to new layout. Download stats are rolling back out.

getiplayer (Install)


Package test results are passing.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved as a trusted package on 8/20/2019.

get_iplayer: BBC iPlayer Indexing Tool and PVR


  • Downloads TV and radio programmes from BBC iPlayer
  • Allows multiple programmes to be downloaded using a single command
  • Indexing of most available iPlayer catch-up programmes from previous 30 days (not BBC Three, Red Button or iPlayer Exclusive)
  • Caching of programme index with automatic updating
  • Regex search on programme name
  • Regex search on programme description and episode title
  • Filter search results by channel
  • Direct download via programme ID or URL
  • PVR capability (may be used with cron or Task Scheduler)
  • HTTP proxy support
  • Perl 5.10.1+ required, plus LWP, LWP::Protocol::https, XML::LibXML and Mojolicious modules
  • Requires ffmpeg for conversion to MP4 and AtomicParsley for metadata tagging
  • Runs on Linux/BSD (Ubuntu, Fedora, OpenBSD and others), macOS (10.10+), Windows (7/8/10 - XP/Vista not supported)


  • get_iplayer can only search for programmes that were scheduled for broadcast on BBC linear services within the previous 30 days, even if some are available for more than 30 days on the iPlayer site. It may be possible to download other content directly via PID or URL, but such use is not supported.
  • get_iplayer does not support downloading news/sport videos, other embedded media, archive sites, special collections, educational material, programme clips or any content other than whole episodes of programmes broadcast on BBC linear services within the previous 30 days, plus episodes of BBC Three programmes posted within the same period. It may be possible to download other content directly via PID or URL, but such use is not supported.

To install getiplayer (Install), run the following command from the command line or from PowerShell:

C:\> choco install getiplayer

To upgrade getiplayer (Install), run the following command from the command line or from PowerShell:

C:\> choco upgrade getiplayer


  • tools\chocolateyinstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    $packageName= 'getiplayer'
    $toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $url        = ''
    $packageArgs = @{
      packageName   = $packageName
      unzipLocation = $toolsDir
      fileType      = 'exe'
      url           = $url
      url64bit      = $url64
      softwareName  = 'getiplayer*'
      checksum      = '86f8fa6272b02881452479d8f55ff09e95c557d6'
      checksumType  = 'sha1'
      checksum64    = 'c66df3b8e70248ba0e1067724624763a9748885499066ee1073bf5b9b6bcb06a'
      checksumType64= 'sha256'
    Install-ChocolateyPackage @packageArgs
  • tools\chocolateyuninstall.ps1 Show
    $ErrorActionPreference = 'Stop';
    $packageName = 'getiplayer'
    $softwareName = 'get_iplayer*'
    $installerType = 'EXE' 
    $validExitCodes = @(0, 3010, 1605, 1614, 1641)
    if ($installerType -ne 'MSI') {
      $silentArgs = '/S'
      $validExitCodes = @(0)
    $uninstalled = $false
    [array]$key = Get-UninstallRegistryKey -SoftwareName $softwareName
    if ($key.Count -eq 1) {
      $key | % { 
        $file = "$($_.UninstallString)"
        if ($installerType -eq 'MSI') {
          $silentArgs = "$($_.PSChildName) $silentArgs"
          $file = ''
        Uninstall-ChocolateyPackage -PackageName $packageName `
                                    -FileType $installerType `
                                    -SilentArgs "$silentArgs" `
                                    -ValidExitCodes $validExitCodes `
                                    -File "$file"
    } elseif ($key.Count -eq 0) {
      Write-Warning "$packageName has already been uninstalled by other means."
    } elseif ($key.Count -gt 1) {
      Write-Warning "$key.Count matches found!"
      Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
      Write-Warning "Please alert package maintainer the following keys were matched:"
      $key | % {Write-Warning "- $_.DisplayName"}

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


This package has no dependencies.

Package Maintainer(s)

Software Author(s)

  • A. S. Budden
  • Alexey Tourbin
  • Andrew Elwell
  • Andy Bircumshaw
  • Bill Boughton
  • Caius Durling
  • Chris Reed
  • BBR
  • Crispin Flowerday
  • David Woodhouse
  • Edward Betts
  • HenderHobbit
  • Ian Praxil
  • James
  • James Laver
  • James Ross
  • James Teh
  • John Henderson
  • Jon Davies
  • Jonathan Harris
  • Jonathan Larmour
  • Jonathan Wiltshire
  • Matthew Boyle
  • Mike Crowe
  • Mike Fleetwood
  • Murray
  • Peter Oliver
  • Phil Cole
  • Ralf Baechle
  • Sharon Kimble
  • Shevek
  • Steven Luo
  • Stuart Henderson
  • Vangelis forthnet
  • Vangelis66
  • Will Elwood
  • dinkypumpkin
  • fs ck
  • fsck
  • linuxcentrenet
  • notnac
  • wiehe
  • willemw12


2008-2010 Phil Lewis


Release Notes

get_iplayer 3.22 Release Notes

Changes in 3.22

  • Fixed schedule page parsing used for cache updates. This was broken by BBC changes and manifested as a series of "WARNING: Got 0 programmes..." messages during cache updates. Your cache will not update without this fix.
  • get_iplayer now recognises previously-unknown programme versions (e.g., "legal") when the "default" pseudo-version is specified in the value of the --versionlist option.
  • The --pid-recursive-type option is now applied when only downloading auxiliary resources (e.g., --subtitles-only).
  • Fixed programme title extraction with --pid-recursive to prevent unwanted extra text being appended to title in episode listing (e.g., for Proms programmes).

get_iplayer 3.21 Release Notes

Changes in 3.21

  • Added --release-check option to check for new releases

    • If used on the command line (get_iplayer --release-check) an immediate check is made.

    • If added to preferences (get_iplayer --prefs-add --release-check) a weekly check is made. The modification time on the "releasecheck" file in your profile directory is used to determine when a check is due.

    • Accesses release feeds from GitHub repositories.

    • getiplayer is NOT automatically updated with --release-check . It only prints a message notifying you that a new release is available.

  • Added --cuesheet and --cuesheet-only options to download track information in the form of a cue sheet (.cue file).

    • Applies to radio programmes only. Only useful with radio programmes that publish track lists on BBC site.

    • You cannot assume cue sheets to be accurate since track data is often wrong. You must correct cue sheets as needed if you use them to play back or edit downloaded programmes.

    • get_iplayer makes no attempt to identify air breaks between tracks. You must set track end times manually if you use cue sheets to edit downloaded programmes.

    • You will need to add a UTF-8 BOM (byte order mark) to cue sheets so that non-ASCII characters are displayed properly in some applications, e.g., foobar2000. This can be done with any capable text editor, or in the Notepad "Save" dialog with Encoding = "UTF-8 with BOM" (Windows 10) or Encoding = "UTF-8" (Windows 7).

  • --subs-embed now implies --subs-mono. If you use --subs-embed, you no longer need to use --subs-mono.

    • Embedded subtitles are rendered in a single colour, so this change ensures that embedded subtitles have leading hyphens to denote changes of speaker.

    • This change also ensures that the external SRT file is formatted the same as the embedded subtitles. If you wish to create an external SRT file with colour subtitles along with embedded subtitles, use --subtitles-only --no-subs-embed --no-subs-mono --overwrite to re-download colour subtitles and replace the SRT file.

  • Added --metadata=json option to create metadata file in JSON format (.json file). Content is the same as default XML-format metadata files (produced by --metadata without format value specified).
  • Added --pid-recursive-type option to limit recursive downloads to programmes of specified type (radio or tv) when series includes both radio and TV programmes. Option value is not reflected in listings from --pid-recursive-list, nor is it applied when only downloading auxiliary resources (e.g., --metadata-only). Requires --pid-recursive.
  • Added <sesortx> substitution parameter. See definition in Substitution Parameters. This parameter provides an additional option for constructing sortable file names with --file-prefix.
  • The --pid option can no longer be saved in the default options file, where it could break subsequent downloads. It can still be saved in presets and used with --pvr-queue.
  • The installer-supplied wrapper script that launches a standalone Web PVR Manager server has been renamed from get_iplayer.cgi to get_iplayer_cgi (macOS) and from get_iplayer.cgi.cmd to get_iplayer_cgi.cmd (Windows).
  • Implemented a workaround for a deficiency in Windows Perl that caused "Wide character in print" warnings.
  • Implemented a workaround to avoid Can't locate object method "subtitles_available" error when using --pid-recursive with --subtitles or --subtitles-only with mixed TV/radio series.
  • Fixed a bug that caused the channel name to be tagged as "BBC iPlayer" when downloading individual programmes with --pid.
  • Fixed a bug that caused downloads to fail when using default settings if the only available version of a radio programme was "podcastX" (where X = 2,3,...).


See: get_iplayer wiki

More Information

See: get_iplayer wiki

Version History

Version Downloads Last updated Status
getiplayer (Install) 3.21 133 Monday, July 15, 2019 approved
getiplayer (Install) 3.20 197 Tuesday, February 26, 2019 approved
getiplayer (Install) 3.18 147 Thursday, January 3, 2019 approved
getiplayer (Install) 3.16 315 Friday, July 6, 2018 approved
getiplayer (Install) 3.15 103 Thursday, July 5, 2018 approved
getiplayer (Install) 3.14 216 Wednesday, May 9, 2018 approved
getiplayer (Install) 3.13 232 Tuesday, March 27, 2018 approved
getiplayer (Install) 3.12 279 Monday, January 15, 2018 approved
getiplayer (Install) 3.10 189 Friday, January 12, 2018 approved
Show More

Discussion for the getiplayer (Install) Package

Ground rules:

  • This discussion is only about getiplayer (Install) and the getiplayer (Install) package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or getiplayer (Install), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.