Developer API
Bot-Hosting Developer API Documentation
Complete API reference for Bot-Hosting status monitoring, uptime history, webhooks, and embeddable widgets.
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.
| Name | In | Required |
|---|---|---|
| Authorization | header | required |
| with_latency | query | optional |
| with_pHistory | query | optional |
GET /websites
Headers: { "Authorization": "your-api-key" }Responses:
200Returns { 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.
| Name | In | Required |
|---|---|---|
| date | query | required |
| Authorization | header | required |
GET /daily-history?date=2025-02-12
Headers: { "Authorization": "your-api-key" }Responses:
200Returns { 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.
| Name | In | Required |
|---|---|---|
| monitorName | query | required |
| Authorization | header | required |
| with_latency | query | optional |
| with_pHistory | query | optional |
GET /monitor?monitorName=eu1
Headers: { "Authorization": "your-api-key" }Responses:
200Returns 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).
| Name | In | Required |
|---|---|---|
| Authorization | header | required |
GET /my-monitors
Headers: { "Authorization": "your-api-key" }Responses:
200Returns { 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.