The source code for the Express.js API 🐢
Switch branches/tags
Clone or download
karianna and gdams Update Dependencies (#131)
* update packages

* package update

* npm upgrade

* Uprgade libs

* remove escapes

* put escapes back in

* Update deps
Latest commit 879bc57 Nov 27, 2018

AdoptOpenJDK API

NOTICE: AdoptOpenJDK API v1 has been deprecated and will be removed. If you are using v1 please move to the latest version (documented below) as soon as possible.


The AdoptOpenJDK API provides a way to consume JSON information about the AdoptOpenJDK releases and nightly builds. Sign up to the mailing list where major API updates will be announced, and visit to find out more about the community.


Here is an example using curl (see the curl documentation):


This command returns information about all 'OpenJDK' releases, and defaults to the latest version of the API.

The following Windows Powershell script uses Invoke-Webrequest to download the latest Windows 64-bit archive.

function Get-RedirectedUrl
    Param (

    $request = [System.Net.WebRequest]::Create($url)

    If ($response.StatusCode -eq "Found")

$url= ""

$fUrl = Get-RedirectedUrl $url
$filename = [System.IO.Path]::GetFileName($fUrl);

Write-Host "Downloading $filename"

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
Invoke-WebRequest -Uri $url -OutFile $filename

Note on the API rate limit: Add the -i option (e.g. curl -i to return the response header as well as the response body. There is a limit of 100 API calls per hour per IP, and the value of X-RateLimit-Remaining in the response header is useful to determine how many API calls are remaining from this limit.

API v2.0.0 Specification

You can append different paths to the URL, either in the above curl format, in a browser, or through an HTTP client, to return different JSON information:

/v2/<request type>/<release type>/<version>

For instance:


Path Parameters

Request Type


List of information about builds that match the current query


Redirects to the binary that matches your current query. If multiple or no binarys match the query, an error code will be returned


Returns the latest binary asset for every matching combination of os, architecture, binary_type, openjdk_impl, version, heap_size.

i.e to find the latest jdk/jre for linux, x64, normal heap, hotspot:


    "os": "linux",
    "architecture": "x64",
    "binary_type": "jre",
    "openjdk_impl": "hotspot",
    "binary_name": "OpenJDK8U-jre_x64_linux_hotspot_2018-10-12-04-26.tar.gz",
    "binary_link": "",
    "binary_size": 40564422,
    "checksum_link": "",
    "version": "8",
    "heap_size": "normal",
    "timestamp": "2018-10-12T04:26:10Z"
    "os": "linux",
    "architecture": "x64",
    "binary_type": "jdk",
    "openjdk_impl": "hotspot",
    "binary_name": "OpenJDK8U-jdk_x64_linux_hotspot_2018-10-12-04-26.tar.gz",
    "binary_link": "",
    "binary_size": 78327417,
    "checksum_link": "",
    "version": "8",
    "heap_size": "normal",
    "timestamp": "2018-10-12T04:26:10Z"

Release Type

Type of release, i.e releases for stable builds or nightly for most recent build.


OpenJDK version, i.e openjdk8, openjdk9, openjdk10.

Query Parameters

The data that can be returned can then be filtered to find builds of a specific type

Parameter Query Parameter Name Examples
Open Jdk Implementation openjdk_impl hotspot, openj9
Operating System os windows, linux, mac
Architecture arch x64, x32, ppc64, s390x, ppc64le, aarch64
Release release latest, jdk8u172-b00-201807161800
Binary Type type jdk, jre
Heap Size heap_size normal, large

In the absence of a given parameter, it will return all elements.

To return latest, hotspot, windows, x64, jdk: