API Documentation
Free REST APIs for software version lifecycle and end-of-life data. 430+ products, no API key, CORS enabled.
curl https://releaserun.com/hub-api/v1/python/versions/
Base URLs
| Service | Base URL | Description |
|---|---|---|
| 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
Returns all versions for a product with lifecycle dates, support windows, and patch info.
curl https://releaserun.com/hub-api/v1/python/versions/
Example Response
{
"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
}
Returns lifecycle data for a specific version.
curl https://releaserun.com/hub-api/v1/python/versions/3.13
Example Response
{
"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"
}
Returns summary statistics for a product.
curl https://releaserun.com/hub-api/v1/python/stats/
Example Response
{
"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
/badge/v/{product}.svg
EOL Status Badge
/badge/eol/{product}.svg
Health Badge
/badge/health/{product}.svg
CVE Badge
/badge/cve/{product}.svg
Badge Customization
Append query parameters to any badge URL:
| Parameter | Values | Example |
|---|---|---|
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:
https://img.releaserun.com/badge/v/python.svg?style=for-the-badge&logo=python
Shields.io Integration
Use with Shields.io endpoint badges:
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:
| Product | Slug | Example |
|---|---|---|
| Python | python | /hub-api/v1/python/versions/ |
| Node.js | nodejs | /hub-api/v1/nodejs/versions/ |
| PostgreSQL | postgresql | /hub-api/v1/postgresql/versions/ |
| Kubernetes | kubernetes | /hub-api/v1/kubernetes/versions/ |
| Ubuntu | ubuntu | /hub-api/v1/ubuntu/versions/ |
| Docker Engine | docker-engine | /hub-api/v1/docker-engine/versions/ |
| Go | go | /hub-api/v1/go/versions/ |
| React | react | /hub-api/v1/react/versions/ |
Response Fields
| Field | Type | Description |
|---|---|---|
minor_version | string | Major.minor version identifier |
latest_patch | string | Latest patch release version |
release_date | string | Initial release date (YYYY-MM-DD) |
eol_date | string|null | End-of-life date |
support_end_date | string|null | Active support end date |
is_lts | boolean | Whether this is a long-term support release |
changelog_url | string|null | Link to the changelog |
latest_release_date | string | Date of the latest patch release |
Rate Limits
Exceeding the limit returns HTTP 429. Responses include standard rate-limit headers.
Error Responses
| Code | Meaning |
|---|---|
200 | Success |
404 | Product or version not found |
429 | Rate limit exceeded |
500 | Internal server error |
Error responses return JSON:
{"detail": "Product 'foo' not found"}
Code Examples
JavaScript / Node.js
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
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
  
Renders as:
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.