Developer API

Access Microsoft 365 Apps, Windows Client and Windows Server release data through our free REST API

Your Free API Key

Use this key to authenticate your API requests

1d55d59bc0c94895ab76348e1fb3a24e
Rate Limit
5 requests / day
Quota Reset
Daily at midnight UTC
Authentication
Header or query parameter

Quick Start

Get up and running in seconds

Base URL: https://api.office365versions.com

Authenticate by including the subscription key in the Ocp-Apim-Subscription-Key header or as an subscription-key query parameter.

Example: Get latest Microsoft 365 Apps versions
curl -H "Ocp-Apim-Subscription-Key: 1d55d59bc0c94895ab76348e1fb3a24e" \
  https://api.office365versions.com/api/M365AppsReleases
Example: Get Windows 11 releases
curl -H "Ocp-Apim-Subscription-Key: 1d55d59bc0c94895ab76348e1fb3a24e" \
  https://api.office365versions.com/api/WindowsVersions/windows11/releases
Using query parameter (alternative)
https://api.office365versions.com/api/M365AppsReleases?subscription-key=1d55d59bc0c94895ab76348e1fb3a24e

API Endpoints

Complete reference of available endpoints

Microsoft 365 Apps

Method Endpoint Description
GET /api/M365AppsReleases Complete version data with metadata
GET /api/M365AppsReleases/data Version data array (DataTables compatible)
GET /api/M365AppsReleases/channel/{channel} Versions for a specific channel
GET /api/M365AppsReleases/channel/{channel}/latest Latest version for a specific channel

Windows Client

Method Endpoint Description
GET /api/WindowsVersions All Windows versions data (Windows 10 & 11)
GET /api/WindowsVersions/releases All releases from both editions
GET /api/WindowsVersions/latest-versions Latest version and build for Windows 10 & 11
GET /api/WindowsVersions/windows10/releases Windows 10 releases
GET /api/WindowsVersions/windows11/releases Windows 11 releases
GET /api/WindowsVersions/windows10/version/{version}/releases Windows 10 releases for a specific version (e.g., 22H2)
GET /api/WindowsVersions/windows11/version/{version}/releases Windows 11 releases for a specific version (e.g., 24H2)
GET /api/WindowsVersions/{edition}/latest Latest version for an edition (Windows10 or Windows11)
GET /api/WindowsVersions/{edition}/summary Release summary with statistics
GET /api/WindowsVersions/{edition}/recent Recent updates (default: 10, use ?count=N)
GET /api/WindowsVersions/compare?version1=X&version2=Y Compare two Windows versions

Windows Server

Method Endpoint Description
GET /api/WindowsVersions/servers/summary Summary with latest updates per server version
GET /api/WindowsVersions/server/releases All server releases combined
GET /api/WindowsVersions/server2016/releases Windows Server 2016 releases
GET /api/WindowsVersions/server2019/releases Windows Server 2019 releases
GET /api/WindowsVersions/server2022/releases Windows Server 2022 releases
GET /api/WindowsVersions/server2025/releases Windows Server 2025 releases
GET /api/WindowsVersions/last-update Last data refresh timestamp

PowerShell

Example for IT admins

$headers = @{
  "Ocp-Apim-Subscription-Key" = "1d55d59bc0c94895ab76348e1fb3a24e"
}

# Get latest M365 Apps versions
$data = Invoke-RestMethod `
  -Uri "https://api.office365versions.com/api/M365AppsReleases" `
  -Headers $headers

# Get Windows Server 2025 releases
$server = Invoke-RestMethod `
  -Uri "https://api.office365versions.com/api/WindowsVersions/server2025/releases" `
  -Headers $headers

Python

Example for automation

import requests

headers = {
  "Ocp-Apim-Subscription-Key": "1d55d59bc0c94895ab76348e1fb3a24e"
}

# Get latest M365 Apps versions
r = requests.get(
  "https://api.office365versions.com/api/M365AppsReleases",
  headers=headers
)
data = r.json()

# Get Windows 11 releases
r = requests.get(
  "https://api.office365versions.com/api/WindowsVersions/windows11/releases",
  headers=headers
)

Rate Limits

Fair usage policy

Plan Limit Reset
Free 5 requests / day Midnight UTC

When you exceed the daily limit, the API returns 429 Too Many Requests. Response headers include X-RateLimit-Limit for tracking. Need more? Contact us.

Terms of Use

Guidelines and disclaimers

  • This API is provided as-is with no SLA guarantees
  • Data is sourced from official Microsoft documentation
  • Do not use for mission-critical production systems without caching
  • We reserve the right to revoke keys that abuse the service
  • Data is refreshed automatically every few hours

Response Format

All responses are JSON

Success (HTTP 200)
{
  "lastUpdated": "2026-03-12T10:30:00Z",
  "totalChannels": 7,
  "channels": [ ... ]
}
Rate Limited (HTTP 429)
{
  "statusCode": 429,
  "message": "Rate limit is exceeded. 
  Try again in 86400 seconds."
}

For the complete interactive API specification, visit the Swagger UI .