GET /widgets/{statusPageId}/badge
Returns iframe-friendly HTML for a live status badge scoped to one status page. Supports Google Font loading and text styling query parameters.

Path Parameters

statusPageId string required path
Status page ID

Query Parameters

theme string optional query
template string optional query
font string optional query
Google Font family name, such as Inter, Manrope, or IBM Plex Sans
Example: "Inter"
weight integer optional query
Example: 600
size number optional query
Example: 12
tracking string optional query
Letter spacing as em or px, such as 0.02em or 0.5px
Example: "0.02em"
case string optional query
link string (uri) optional query
Optional destination URL. Defaults to the status page URL.

Responses

200 HTML badge document
text/html
curl -X GET 'https://happyuptime.com/api/v1/widgets/string/badge'
const response = await fetch('https://happyuptime.com/api/v1/widgets/string/badge', {  method: 'GET'});const data = await response.json();console.log(data);
import requestsresponse = requests.get('https://happyuptime.com/api/v1/widgets/string/badge')print(response.json())
200 Response
"<iframe src=\"https://happyuptime.com/api/v1/widgets/sp_001/badge?theme=auto&font=Inter&weight=600&size=12&tracking=0.02em&case=none\" title=\"Status\" width=\"320\" height=\"24\" style=\"border:0;overflow:hidden\" loading=\"lazy\"></iframe>"