Documentation

Embeds

Things you can put on your own page.

1 endpoint · all GET · no key · samples in curl, Python, JavaScript and Go

GET /badge/{venue}.svg

Embeddable status badge

package main

import (
	"encoding/json"
	"net/http"
)

func main() {
	res, err := http.Get("https://api.up24.app/badge/binance.svg")
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()

	var data map[string]any
	if err := json.NewDecoder(res.Body).Decode(&data); err != nil {
		panic(err)
	}
}

One SVG per venue, coloured by the same four states the board uses. A whole document that depends on nothing — no stylesheet, no font file — so it renders anywhere an <img> does, including the README renderers that strip everything else.

Cached 60s rather than the API’s few seconds: a badge sits in pages nobody reloads, behind image proxies that cache on their own schedule anyway, and is read at a glance rather than during an incident.

The staleness rule applies here too. A badge stuck on operational because the engine died is worse than a page doing it, since nobody is watching a badge to find out — so it goes grey instead.

Parameters

venuestringpathrequired

Registry id of the exchange. The .svg suffix is part of the path.

"binance""bybit""coinbase""kraken""okx""bitfinex""deribit""bitstamp""gemini""cryptocom""hyperliquid""upbit""binance-futures""bybit-futures""okx-futures"

Responses

  • 200The badge.
  • 404No such venue in the registry.
  • 429Over the origin rate limit.