Skip to content

API Documentation

Free REST APIs for software version lifecycle and end-of-life data. 430+ products, no API key, CORS enabled.

Quick Start
curl https://releaserun.com/hub-api/v1/python/versions/
No API key required CORS enabled JSON responses Updated every 6 hours

Base URLs

ServiceBase URLDescription
Hub API https://releaserun.com/hub-api/v1/ Version lifecycle data
Badge Service https://releaserun.com/badge/ SVG badges for READMEs

Authentication

No authentication required. All endpoints are public and free to use. Just send your request and get data back.

Hub API Endpoints

GET /{product}/versions/

Returns all versions for a product with lifecycle dates, support windows, and patch info.

bash
curl https://releaserun.com/hub-api/v1/python/versions/
Example Response
json
{
  "versions": [
    {
      "minor_version": "3.14",
      "latest_patch": "3.14.3",
      "release_date": "2025-10-07",
      "eol_date": "2030-10-31",
      "support_end_date": "2027-10-01",
      "is_lts": false,
      "changelog_url": null,
      "latest_release_date": "2026-02-03"
    }
  ],
  "count": 17
}
GET /{product}/versions/{version}

Returns lifecycle data for a specific version.

bash
curl https://releaserun.com/hub-api/v1/python/versions/3.13
Example Response
json
{
  "minor_version": "3.13",
  "latest_patch": "3.13.12",
  "release_date": "2024-10-07",
  "eol_date": "2029-10-31",
  "support_end_date": "2026-10-01",
  "is_lts": false,
  "changelog_url": null,
  "latest_release_date": "2026-02-03"
}
GET /{product}/stats/

Returns summary statistics for a product.

bash
curl https://releaserun.com/hub-api/v1/python/stats/
Example Response
json
{
  "total_versions": 17,
  "supported_versions": 5,
  "latest_version": "3.14.3",
  "last_updated": "2026-02-21T09:11:00Z"
}

Badge Endpoints

Embeddable SVG badges for READMEs, dashboards, and documentation. Live data, auto-updating.

Version Badge

Python version Node.js version Go version
/badge/v/{product}.svg

EOL Status Badge

Python EOL Node.js EOL Go EOL
/badge/eol/{product}.svg

Health Badge

Python health K8s health Docker health
/badge/health/{product}.svg

CVE Badge

Python CVE K8s CVE Docker CVE
/badge/cve/{product}.svg

Badge Customization

Append query parameters to any badge URL:

ParameterValuesExample
style flat, flat-square, plastic, for-the-badge ?style=for-the-badge
label Custom left-side text ?label=Python+Latest
color Hex color or named color ?color=blue
logo Simple Icons slug ?logo=python

Example with customization:

Customized badge
url
https://img.releaserun.com/badge/v/python.svg?style=for-the-badge&logo=python

Shields.io Integration

Use with Shields.io endpoint badges:

url
https://img.shields.io/endpoint?url=https://img.releaserun.com/badge/v/python.svg/shields.json

Product Slugs

Use any product slug from endoflife.date (430+ products). Common examples:

ProductSlugExample
Pythonpython/hub-api/v1/python/versions/
Node.jsnodejs/hub-api/v1/nodejs/versions/
PostgreSQLpostgresql/hub-api/v1/postgresql/versions/
Kuberneteskubernetes/hub-api/v1/kubernetes/versions/
Ubuntuubuntu/hub-api/v1/ubuntu/versions/
Docker Enginedocker-engine/hub-api/v1/docker-engine/versions/
Gogo/hub-api/v1/go/versions/
Reactreact/hub-api/v1/react/versions/

Response Fields

FieldTypeDescription
minor_versionstringMajor.minor version identifier
latest_patchstringLatest patch release version
release_datestringInitial release date (YYYY-MM-DD)
eol_datestring|nullEnd-of-life date
support_end_datestring|nullActive support end date
is_ltsbooleanWhether this is a long-term support release
changelog_urlstring|nullLink to the changelog
latest_release_datestringDate of the latest patch release

Rate Limits

200
requests/min per IP
Hub API
100
requests/min per IP
Badge Service

Exceeding the limit returns HTTP 429. Responses include standard rate-limit headers.

Error Responses

CodeMeaning
200Success
404Product or version not found
429Rate limit exceeded
500Internal server error

Error responses return JSON:

json
{"detail": "Product 'foo' not found"}

Code Examples

JavaScript / Node.js

javascript
const res = await fetch('https://releaserun.com/hub-api/v1/python/versions/');
const data = await res.json();

// Find versions approaching EOL
const atRisk = data.versions.filter(v => {
  const eol = new Date(v.eol_date);
  const months = (eol - new Date()) / (1000 * 60 * 60 * 24 * 30);
  return months > 0 && months < 6;
});

console.log(`${atRisk.length} versions approaching EOL`);

Python

python
import requests

resp = requests.get("https://releaserun.com/hub-api/v1/kubernetes/versions/")
data = resp.json()

for v in data["versions"]:
    if v["eol_date"] and v["eol_date"] < "2026-06-01":
        print(f"K8s {v['minor_version']} EOL: {v['eol_date']}")

Markdown Badge Embed

markdown
![Python Version](https://img.releaserun.com/badge/v/python.svg)
![Python EOL](https://img.releaserun.com/badge/eol/python.svg)
![Python Health](https://img.releaserun.com/badge/health/python.svg)

Renders as:

Python version Python EOL Python health

Caching

Hub API responses include Cache-Control headers. Data is refreshed from upstream sources every 6 hours.

Badges embedded in READMEs are cached by GitHub and CDNs. Expect up to 24-hour propagation for updates.

Need More?

Check out our free developer tools, set up version alerts, or embed badges in your README.