Please login to manage API settings

API Documentation

Bot-Hosting Uptime Monitor

Rate Limits

Default limits (per 3 minutes):

get

Get all Monitor Data

Retrieve list of monitored websites and active alerts

/websites

Parameters

Name Type Required Description
Authorization header Yes Your API Key

Example Request

GET /websites
Headers: { "Authorization": "your-api-key" }

Responses

{
  "200": {
    "websites": [
      {
        "name": "Main Website",
        "url": "https://bot-hosting.net",
        "type": "http",
        "monitor": "main",
        "status": "Up",
        "lastChecked": "2/25/2025, 3:13:00 PM",
        "uptime": "100%",
        "formattedUptime": "Less than a minute",
        "reports": 1,
        "reportedUsers": [],
        "prevStatus": "Up",
        "average": 100,
        "location": "Location: CA, Ontario, Toronto, Cloudflare, Inc.",
        "locations": [
          {
            "location": "new_york",
            "latency": 164
          },
          {
            "location": "frankfurt",
            "latency": 94
          },
          {
            "location": "singapore",
            "latency": 78
          },
          {
            "location": "mumbai",
            "latency": 64
          }
        ],
        "last_status": 1734513399,
        "reportReasons": {
          "Connectivity Issues": 2,
          "Startup Issues": 0,
          "Other": 0
        }
      }
    ],
    "alerts": [
      {
        "alert": "All free nodes are currently full. Either wait for space to be free on the node or purchase the $3 or higher coin package.",
        "title": "Free Nodes Full",
        "status": "alert",
        "user": "aidanthedev"
      }
    ]
  },
  "401": {
    "error": "Not authenticated"
  }
}
get

Get Daily History

Retrieve monitoring data for a specific date

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

Parameters

Name Type Required Description
date query Yes Date in YYYY-MM-DD format
Authorization header Yes Your API Key

Example Request

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

Responses

{
  "200": {
    "date": "2025-02-12",
    "monitors": {
      "main": {
        "downtime": 0,
        "outageCount": 0,
        "uptime": "100%",
        "finalStatus": "Up"
      },
      "de1": {
        "downtime": 0,
        "outageCount": 0,
        "uptime": "100%",
        "finalStatus": "Up"
      },
      "us3": {
        "downtime": 0,
        "outageCount": 0,
        "uptime": "100%",
        "finalStatus": "Up"
      }
    }
  },
  "400": {
    "error": "Date parameter required"
  },
  "401": {
    "message": "Unauthorized"
  },
  "404": {
    "error": "No data found for provided date"
  }
}
get

Get Monitor Details

Get details for a specific monitor

/monitor?monitorName=NAME

Parameters

Name Type Required Description
monitorName query Yes Monitor ID
Authorization header Yes Your API Key

Example Request

GET /monitor?monitorName=eu1 { "Authorization": "your-api-key" }

Responses

{
  "200": {
    "name": "eu1 (premium)",
    "url": "37.27.141.177",
    "type": "tcp",
    "ports": [
      80,
      443,
      22,
      21,
      3306
    ],
    "status": "Up",
    "monitor": "eu1",
    "lastChecked": "2/25/2025, 3:12:00 PM",
    "uptime": "100%",
    "formattedUptime": "Less than a minute",
    "reports": 1,
    "reportedUsers": [],
    "prevStatus": "Up",
    "reachablePorts": -2,
    "average": 174,
    "location": "Location: FI, Uusimaa, Helsinki, Hetzner Online GmbH",
    "locations": [
      {
        "location": "new_york",
        "latency": 93
      },
      {
        "location": "frankfurt",
        "latency": 34
      },
      {
        "location": "singapore",
        "latency": 268
      },
      {
        "location": "mumbai",
        "latency": 301
      }
    ],
    "sftpStatus": true,
    "sftpLatency": 30,
    "mySqlLatency": 108,
    "last_status": 1740207514,
    "sftpLatecy": 31,
    "mySqlStatus": true,
    "mySqlLatecy": 19,
    "reportReasons": {
      "Connectivity Issues": 0,
      "Startup Issues": 1,
      "Other": 0
    },
    "mySqlUptime": {
      "seconds": 1,
      "hours": 4123,
      "minutes": 4
    }
  },
  "400": {
    "message": "Monitor not found"
  },
  "401": {
    "message": "Unauthorized"
  }
}
get

Get Your Active Server Monitors

Get details for your active monitors (upto 1 hour of server uptime history)

/my-monitors

Parameters

Name Type Required Description
Authorization header Yes Your API Key

Example Request

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

Responses

{
  "200": {
    "monitors": [
      {
        "node": "fi8",
        "port": 20168,
        "status": "down",
        "lastChecked": "2025-02-27T07:00:03.816Z",
        "history": [
          {
            "status": "down",
            "statusCode": "ECONNABORTED",
            "timestamp": "2025-02-27T06:45:03.669Z"
          },
          {
            "status": "down",
            "statusCode": "ECONNABORTED",
            "timestamp": "2025-02-27T06:50:04.008Z"
          },
          {
            "status": "down",
            "statusCode": "ECONNABORTED",
            "timestamp": "2025-02-27T06:55:04.497Z"
          },
          {
            "status": "down",
            "statusCode": "ECONNABORTED",
            "timestamp": "2025-02-27T07:00:03.816Z"
          }
        ],
        "statusCode": "ECONNABORTED",
        "customName": "ChezBot"
      }
    ]
  },
  "401": {
    "message": "Unauthorized"
  },
  "404": {
    "message": "Active Servers Data not found"
  },
  "429": {
    "message": "Rate Limit Exceeded, please try again later!"
  }
}
post

Manage Server Monitors

Please login to manage your server monitors