Programmatically fetching the current Zoom version number | Community
Skip to main content
Newcomer
November 5, 2023
Question

Programmatically fetching the current Zoom version number

  • November 5, 2023
  • 5 replies
  • 50 views

I used a simple script to find the current Zoom version number in the page "Release Notes for Linux" (https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0068973). Recently, the page has changed to be JavaScript heavy and the latest version can't be extracted from it programmatically (or at least, I can't do it). Is there some place where I can get the version number?
I use it for later automation of installation of the client on several different machines.

    5 replies

    Ray_Harwood
    Community Super Champion | Customer
    Community Super Champion | Customer
    November 6, 2023

    This is a question that might be more appropriate for the Developers Forum at https://developers.zoom.us/

    Newcomer
    January 24, 2024

    Does https://zoom.us/client/latest/zoom_amd64.deb not work? I've been using that URL in a bash script for years.

    Newcomer
    March 21, 2024

    I am currently in this same situation. I hope zoom will add some way of doing this. API? Static release page?

    Were you able to resolve this?

    I may have to use python. 

    Ray_Harwood
    Community Super Champion | Customer
    Community Super Champion | Customer
    March 21, 2024

    Welcome to the Zoom Community, @ZM6

     

    I can’t predict what Zoom will/won’t do. 

    You might ask in the Developers Forum at https://developers.zoom.us/

    Newcomer
    April 7, 2024

    Same problem, but was parsing a different page. I fixed it this way. The the "latest" URL redirects to the actual version download, which has the version number in the URL.

     

    So with curl

    curl -sI https://zoom.us/client/latest/zoom_amd64.deb | awk -F/ '/location/{ print $5 }'

     

    Or python

    import requests response = requests.head('https://zoom.us/client/latest/zoom_amd64.deb') version = response.headers['location'].split('/')[-2]

     

    Newcomer
    March 25, 2026

    never147 got me on the right track. The PowerShell equivalent is:

    $url = "https://zoom.us/client/latest/ZoomInstallerFull.msi?archType=x64"

    $h = Invoke-WebRequest -Method Head -Uri $url -UseBasicParsing -MaximumRedirection 0 -ErrorAction SilentlyContinue

    $v = [Version]$h.Headers.Location.Split('/')[4]

    You could choose to not suppress errors and use try/catch to make sure that $h.StatusCode is 302, write $_.Exception.Message otherwise, etc. I’m still deciding on what to do there. 

    Newcomer
    March 30, 2026

    Better version. Note that the redirect returned 7.0.1.34140 at the time so I added code to shift Revision to Build if Build is less than 30000. 

    $currentVersion = [Version]"7.0.34140"
    $url = "https://zoom.us/client/latest/ZoomInstallerFull.msi?archType=x64"

    # Don't specify -EA Stop or it'll break PowerShell 5's behavior of returning the 302 response instead of throwing an exception.
    # PowerShell 7 will throw an exception for 302 unless we specify -SkipHttpErrorCheck, so we use a conditional to handle both versions.
    # For other scripts remember to change the $v parsing logic to fit.
    if ($PSVersionTable.PSVersion.Major -ge 7) {
    $h = Invoke-WebRequest -Method Head -Uri $url -UseBasicParsing -MaximumRedirection 0 -SkipHttpErrorCheck -ErrorAction SilentlyContinue
    } else {
    $h = Invoke-WebRequest -Method Head -Uri $url -UseBasicParsing -MaximumRedirection 0 -ErrorAction SilentlyContinue
    }
    if ($h.StatusCode -ne 302) {
    Write-Host "Unexpected status code: $($h.StatusCode)"
    Write-Host "An error occurred: No redirect found."
    } else {
    $redirectUrl = $h.Headers.Location
    }
    if ($redirectUrl) {
    $v = [Version]$redirectUrl.Split('/')[4]
    Write-Host "Latest version from redirect URL: $v"
    # Returned 7.0.1.34140 but it's 7.0.34140 in Programs & Features **** FOR ZOOM ONLY! ****
    if ($v.Build -lt 30000) {
    $v = [Version]"$($v.Major).$($v.Minor).$($v.Revision)"
    Write-Output "Adjusted version: $v"
    }
    } else {
    Write-Host "Unable to determine latest version from redirect URL."
    }
    if ($v -ge $currentVersion) {
    $currentVersion = $v
    } else {
    Write-Host "Using hardcoded current version $currentVersion."
    }