Developer API

Bot-Hosting Developer API Documentation

Complete API reference for Bot-Hosting status monitoring, uptime history, webhooks, and embeddable widgets.

4 API Endpoints
31 Monitored services

Overview

The Bot-Hosting status API provides programmatic access to all monitoring data. All endpoints return JSON responses and can be accessed using an API key passed in the Authorization header. Generate your API key on the alerts page after logging in with Discord.

Authentication

Include your API key in the Authorization header of each request. Most public endpoints work without authentication, but rate limits are stricter for unauthenticated requests. Authenticated requests receive higher rate limits and access to additional endpoints.

API Endpoints

GET /api/websites

Retrieve list of monitored websites and active alerts.

NameInRequired
Authorizationheaderrequired
with_latencyqueryoptional
with_pHistoryqueryoptional
GET /websites
Headers: { "Authorization": "your-api-key" }

Responses:

  • 200 Returns { websites: [...], alerts: [...] } with status, uptime, location latency per monitor.
  • 401 { error: "Not authenticated" }

GET /api/daily-history?date=YYYY-MM-DD

Retrieve monitoring data for a specific date.

NameInRequired
datequeryrequired
Authorizationheaderrequired
GET /daily-history?date=2025-02-12
Headers: { "Authorization": "your-api-key" }

Responses:

  • 200 Returns { date, monitors: { main: { downtime, outageCount, uptime, finalStatus }, ... } }
  • 400 { error: "Date parameter required" }
  • 401 { message: "Unauthorized" }
  • 404 { error: "No data found for provided date" }

GET /api/get-monitor?monitorName=NAME

Get details for a specific monitor.

NameInRequired
monitorNamequeryrequired
Authorizationheaderrequired
with_latencyqueryoptional
with_pHistoryqueryoptional
GET /monitor?monitorName=eu1
Headers: { "Authorization": "your-api-key" }

Responses:

  • 200 Returns monitor details: name, status, ports, locations, sftpStatus, mySqlLatency, average latency, etc.
  • 400 { message: "Monitor not found" }
  • 401 { message: "Unauthorized" }

GET /api/my-monitors

Get details for your active monitors (up to 1 hour of server uptime history).

NameInRequired
Authorizationheaderrequired
GET /my-monitors
Headers: { "Authorization": "your-api-key" }

Responses:

  • 200 Returns { monitors: [{ node, port, status, history: [...], statusCode, customName }] }
  • 401 { message: "Unauthorized" }
  • 404 { message: "Active Servers Data not found" }
  • 429 { message: "Rate Limit Exceeded, please try again later!" }

Embeds & Widgets

Embed live Bot-Hosting status information on your own website using iframe embeds or the JavaScript widget. Embeds auto-refresh every 30 seconds and support both dark and light themes.

Iframe Embed

Add an iframe pointing to /embeds/:monitor where :monitor is the monitor ID. The embed renders a compact status indicator that matches the Bot-Hosting dashboard style.

JavaScript Widget

Include the widget script from /widget.js and configure monitors using the BOT_HOSTING_WIDGETS global array. Each widget entry specifies a monitor ID and optional container selector. Widgets auto-refresh and support dark and light themes.