API Documentation
The UptimeTea API is easy to use and free for all plans.
Get public status page
Returns a public status page by slug. No authentication required. Includes watcher statuses, uptime percentages, active incidents, and scheduled maintenance.
GET
https://api.uptimetea.com/status/:slug
Response body
{
"status_page": {
"name": "My Service Status",
"slug": "my-service",
"custom_domain": null,
"logo_url": null,
"brand_color": "#3b82f6",
"page_title": "Service Status",
"show_branding": true
},
"watchers": [
{
"id": "uuid",
"title": "Website",
"url": "https://example.com",
"current_status": "operational",
"uptime_24h": 100,
"uptime_7d": 99.5,
"uptime_30d": 99.8
}
],
"incidents": [
{
"id": "uuid",
"watcher_id": "uuid",
"watcher_title": "Website",
"status": "open",
"started_at": "2024-01-15T10:00:00Z",
"created_at": "2024-01-15T10:00:00Z"
}
],
"maintenance_windows": [
{
"id": "uuid",
"title": "Server Upgrade",
"description": "Upgrading database servers",
"start_time": "2024-01-20T02:00:00Z",
"end_time": "2024-01-20T04:00:00Z",
"active": false
}
]
}
Code examples
curl -X GET "https://api.uptimetea.com/status/$STATUS_PAGE_SLUG"
// Get public status page
const response = await fetch('https://api.uptimetea.com/status/STATUS_PAGE_SLUG');
const data = await response.json();
console.log(data);
# Get public status page
import requests
response = requests.get(
'https://api.uptimetea.com/status/STATUS_PAGE_SLUG'
)
print(response.json())
// Get public status page
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.uptimetea.com/status/STATUS_PAGE_SLUG", nil)
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(data))
}
# Get public status page
require 'net/http'
require 'uri'
uri = URI('https://api.uptimetea.com/status/STATUS_PAGE_SLUG')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
response = http.request(request)
puts response.code, response.body
<?php
// Get public status page
$ch = curl_init('https://api.uptimetea.com/status/STATUS_PAGE_SLUG');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
print_r(json_decode($response, true));
curl_close($ch);