WebStatus247 REST API Documentation

  • Harness the Power of WebStatus247: Detailed API Documentation

    To start integrating with the WebStatus247 API, secure your requests with an API key. Retrieve your key from the API section in your user profile (top-right menu in the dashboard).

    Include the key in the Authorization header of every request:


    Authorization: Bearer YOUR_API_KEY
  • Where to find API key

    It’s under the API page in the sidebar of your dashboard.

  • Formats

    Responses can be JSON or XML.

    For JSON, set Accept: application/json. For XML, set Accept: application/xml.

    JSON:
    {
      "webpage": {
        "uuid": "b4b9614b3e2-3749f41ce00e-wefsd",
        "user_id": "sdfsdflsdf-0ce-a6a3-sdfsd=pdbsd",
        "name": "google.com",
        "previous_status": "up",
        "avg_response_time": 0,
        "log_report_date": "2024-03-14",
        "updated_at": "2024-03-15T04:02:46.315000Z",
        "created_at": "2024-03-14T08:24:51.093000Z"
      }
    }
    XML:
    <?xml version="1.0"?>
    <root>
      <webpage>
        <uuid>b4b9614b3e2-3749f41ce00e-wefsd</uuid>
        <user_id>sdfsdflsdf-0ce-a6a3-sdfsd=pdbsd</user_id>
        <name>google.com</name>
        <type>webpage</type>
        <status>1</status>
        <url>google.com</url>
        <avg_response_time>0</avg_response_time>
        <log_report_date>2024-03-14</log_report_date>
        <updated_at>2024-03-15T04:02:46.315000Z</updated_at>
        <created_at>2024-03-14T08:24:51.093000Z</created_at>
      </webpage>
    </root>

  • API Endpoints

    • Get Monitors List

      Retrieve all monitors on your account, including uptime stats, response times, and more.

      Monitor typeURL
      Port monitoringhttps://app.webstatus247.com/api/port-monitor
      API monitoringhttps://app.webstatus247.com/api/api-monitor
      Webpage monitoringhttps://app.webstatus247.com/api/webpage-monitor
      Ping monitoringhttps://app.webstatus247.com/api/ping-monitor
      Keyword monitoringhttps://app.webstatus247.com/api/keyword-monitor
      Cron monitoringhttps://app.webstatus247.com/api/cron-monitor
      SSL monitoringhttps://app.webstatus247.com/api/ssl-monitor
      Domain monitoringhttps://app.webstatus247.com/api/domain-monitor
      JSON response
      {
        "servers": {
          "current_page": 1,
          "data": [
            {
              "_id": "65eef52cx5ed2679da05955f",
              "uuid": "xv23wer43435ff4-34rdvsv43",
              "user_id": "3d85-40sdfcce-a6a3-503434f67cec",
              "name": "port",
              "type": "server",
              "status": 1,
              "url": "porttest.com",
              "port": "80",
              "interval": null,
              "email": null,
              "test_result": 1,
              "previous_status": "up",
              "avg_response_time": 43.0625,
              "log_report_date": "2024-03-11",
              "updated_at": "2024-04-26T15:04:24.066000Z",
              "created_at": "2024-03-11T12:12:28.414000Z"
            },
            {
              "_id": "65e1a7296aa1ef29f4089ceb",
              "uuid": "941b1b1f-16d4-444sf-83f2-1asd",
              "user_id": "c8ec2ea8-3d85-40ce-a6a3-503434f67cec",
              "name": "google",
              "type": "server",
              "status": 1,
              "url": "google.com",
              "port": "8",
              "interval": "ed78900b-e0f5-4319-84fc-8e30f7e6270f",
              "email": null,
              "test_result": 0,
              "previous_status": "down",
              "avg_response_time": 38.642857142857146,
              "log_report_date": "2024-03-01",
              "updated_at": "2024-04-26T15:04:08.923000Z",
              "created_at": "2024-03-01T10:00:09.484000Z"
            }
          ],
          "first_page_url": "http://127.0.0.1:8000/api/port-monitor?page=1",
          "from": 1,
          "last_page": 1,
          "last_page_url": "http://127.0.0.1:8000/api/port-monitor?page=1",
          "links": [
            { "url": null, "label": "« Previous", "active": false },
            { "url": "http://127.0.0.1:8000/api/port-monitor?page=1", "label": "1", "active": true },
            { "url": null, "label": "Next »", "active": false }
          ],
          "next_page_url": null,
          "path": "http://127.0.0.1:8000/api/port-monitor",
          "per_page": 10,
          "prev_page_url": null,
          "to": 5,
          "total": 5
        },
        "request": { "attributes": {}, "request": {}, "query": {}, "server": {}, "files": {}, "cookies": {}, "headers": {} },
        "up_status": {
          "xv23wer43435ff4-34rdvsv43": {
            "totalUpCount": "2/2",
            "monitorStatus": 1,
            "upTime": 78.44827586206897,
            "responseTime": 135.33921586297708,
            "lastChecked": "2024-04-26T15:04:23.802000Z"
          },
          "941b1b1f-16d4-444sf-83f2-1asd": {
            "totalUpCount": "0/2",
            "monitorStatus": 0,
            "upTime": 80.99128540305011,
            "responseTime": 51.32622465682471,
            "lastChecked": "2024-04-26T15:04:23.344000Z"
          }
        }
      }
      XML response
      <?xml version="1.0"?>
      <root>
        <servers>
          <current_page>1</current_page>
          <data>
            <item>
              <_id>65fa9d328ebd13099809e1c2</_id>
              <uuid>d4933c0b-7bc3-4e80-a062-0ed66dba6ce5</uuid>
              <user_id>c8ec2ea8-3d85-40ce-a6a3-503434f67cec</user_id>
              <name>server</name>
              <type>server</type>
              <status>1</status>
              <url>openai.com</url>
              <port>80</port>
              <interval/>
              <email/>
              <test_result>1</test_result>
              <previous_status>up</previous_status>
              <avg_response_time>98</avg_response_time>
              <log_report_date>2024-03-20</log_report_date>
              <updated_at>2024-04-24T06:56:47.143000Z</updated_at>
              <created_at>2024-03-20T08:24:18.297000Z</created_at>
            </item>
            <item>
              <_id>65f3c83c2eaab09445058de7</_id>
              <uuid>65c0ae9f-de78-4dae-8542-bb2e883c4108</uuid>
              <user_id>c8ec2ea8-3d85-40ce-a6a3-503434f67cec</user_id>
              <name>whatsapp</name>
              <type>server</type>
              <status>1</status>
              <url>whatsapp.com</url>
              <port>80</port>
              <interval/>
              <email/>
              <test_result>1</test_result>
              <previous_status>up</previous_status>
              <avg_response_time>65.166666666667</avg_response_time>
              <log_report_date>2024-03-15</log_report_date>
              <updated_at>2024-04-26T15:04:24.208000Z</updated_at>
              <created_at>2024-03-15T04:02:04.079000Z</created_at>
            </item>
          </data>
          <first_page_url>http://127.0.0.1:8000/api/port-monitor?page=1</first_page_url>
          <from>1</from>
          <last_page>1</last_page>
          <last_page_url>http://127.0.0.1:8000/api/port-monitor?page=1</last_page_url>
          <links>
            <link><url/><label>&laquo; Previous</label><active>false</active></link>
            <link><url>http://127.0.0.1:8000/api/port-monitor?page=1</url><label>1</label><active>true</active></link>
            <link><url/><label>Next &raquo;</label><active>false</active></link>
          </links>
          <next_page_url/>
          <path>http://127.0.0.1:8000/api/port-monitor</path>
          <per_page>10</per_page>
          <prev_page_url/>
          <to>5</to>
          <total>5</total>
        </servers>
        <request><attributes/><request/><query/><server/><files/><cookies/><headers/></request>
        <up_status>
          <item id="1aef352e-cfd2-470e-8753-3e0fc5a708da">
            <totalUpCount>2/2</totalUpCount>
            <monitorStatus>1</monitorStatus>
            <upTime>78.448275862069</upTime>
            <responseTime>135.33921586298</responseTime>
            <lastChecked>2024-04-26T15:04:23.802000Z</lastChecked>
          </item>
        </up_status>
      </root>
    • Get Monitor Details

      • Current status, uptime, average response time, last 5 logs, and more.
      • For Domain and SSL monitors, you also get status, expiry date, and related info.

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>-monitor/<monitor-uuid>
      Eg: https://app.webstatus247.com/api/port-monitor/w3rsdkjns-3sndnsof-3icnsidni478

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

    • Get Monitor Overview

      • Graph data, average response time, and uptime.
      • Uptime/response time for the current day, last week, last month, and last three months.

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>/over_view/<monitor-uuid>
      Eg: https://app.webstatus247.com/api/port/over_view/w3rsdkjns-3sndnsof-3icnsidni478

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

    • Get Monitor Locations

      • Get enabled locations and each location’s status, response time, and uptime.

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>/locations/<monitor-uuid>
      Eg: https://app.webstatus247.com/api/port/locations/w3rsdkjns-3sndnsof-3icnsidni478

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

    • Get Failed Logs

      • Retrieve failed logs of a monitor in a given location.

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>/failed_logs/<monitor-uuid>
      Eg: https://app.webstatus247.com/api/port/failed_logs/w3rsdkjns-3sndnsof-3icnsidni478

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

    • Post New Monitor

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>-monitor
      Eg: https://app.webstatus247.com/api/port-monitor

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

      Parameters
      api-keyrequired
      namerequired
      urlrequired
      expected_response_coderequired (webpage, api)
      addressrequired (ping)
      portrequired (port)
      methodrequired (api: GET/POST/PUT/DELETE)
      jsonoptional (api)
      ssl_portrequired (ssl)
      alert_minutesrequired (cron, minutes)
      keywordrequired (keyword)
      alertrequired (keyword: keyword_exist | keyword_not_exist)
      caserequired (keyword: 1 or 0)
      intervaloptional for port, api, webpage, ping, keyword; required for cron.
      Pass the UUID of the interval as its value. To get interval details: https://app.webstatus247.com/api/<monitor-type>-monitor/create
      locationsrequired for all except cron. Pass location UUIDs as the value. To get location details: https://app.webstatus247.com/api/<monitor-type>-monitor/create

      JSON request example

      {
        "name": "google",
        "url": "google.com",
        "port": 80,
        "interval": "ed78900b-dsf4-4f18-84fc-8e30f7e6270f",
        "locations": [
          "09d68f75-dsf4-4f18-aff1-429105944338",
          "5eeafede-449b-34rg-be6f-358f3857e33b"
        ]
      }

      XML request example

      <request>
        <name>google api test</name>
        <url>google.com</url>
        <port>80</port>
        <interval>ed78900b-e0f5-4319-84fc-8e30f7e6270f</interval>
        <locations>
          <location>09d68f75-e4f5-4f18-aff1-429105944338</location>
          <location>5eeafede-449b-4bc0-be6f-358f3857e33b</location>
        </locations>
      </request>
    • Edit Monitor

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>-monitor/<monitor-uuid>
      Eg: https://app.webstatus247.com/api/port-monitor/ms2q3and3een-34no3m-asasdadfasf

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

      Method:

      methodPUT
      Parameters
      api-keyrequired
      monitor-uuidrequired
      namerequired
      urlrequired
      expected_response_coderequired (webpage, api)
      addressrequired (ping)
      portrequired (port)
      methodrequired (api: GET/POST/PUT/DELETE)
      jsonoptional (api)
      ssl_portrequired (ssl)
      alert_minutesrequired (cron)
      keywordrequired (keyword)
      alertrequired (keyword_exist | keyword_not_exist)
      caserequired (1 or 0)
      intervalOptional for port, api, webpage, ping, keyword; required for cron.
      Pass the UUID of the interval as its value. To get current details: https://app.webstatus247.com/api/<monitor-type>-monitor/<monitor-uuid>

      JSON request example

      {
        "name": "google",
        "url": "google.com",
        "port": 80,
        "interval": "ed78900b-dsf4-4f18-84fc-8e30f7e6270f"
      }

      XML request example

      <request>
        <name>google api test</name>
        <url>google.com</url>
        <port>80</port>
        <interval>ed78900b-e0f5-4319-84fc-8e30f7e6270f</interval>
      </request>
    • Delete Monitor

      The URL is:

      https://app.webstatus247.com/api/<monitor-type>-monitor/<monitor-uuid>
      Eg: https://app.webstatus247.com/api/port-monitor/ms2q3and3een-34no3m-asasdadfasf

      (monitor types: port, webpage, api, cron, keyword, ssl, domain, ping)

      Method:

      methodDELETE
      Parameters
      api_keyrequired
      uuidrequired
    • Alerts

      Add new alert email

      Alerts for the monitor will be sent to the added email.

      Parameters
      api-keyrequired
      monitor-uuidrequired
      emailrequired

      The URL is:

      https://app.webstatus247.com/api/alerts/monitor_mail/<monitor-uuid>

      JSON request example

      { "email": "user@servermonitor.com" }

      XML request example

      <request>
        <email>user@servermonitor.com</email>
      </request>

      Delete an alert email

      Delete a monitor’s alert email.

      Parameters
      api-keyrequired
      monitor-uuidrequired

      The URL is:

      https://app.webstatus247.com/api/alerts/monitor_mail_delete/<monitor-uuid>
    • Status pages

      Get status pages list

      The URL is:

      https://app.webstatus247.com/api/status-page
      Parameters
      api_keyrequired

      Add a status page

      methodPOST
      Parameters
      api-keyrequired
      namerequired
      descriptionrequired
      server_ids / webpage_ids / api_idsAny one of these arrays is required

      The URL is:

      https://app.webstatus247.com/api/status-page

      JSON request example

      {
        "name": "status page",
        "description": "status page test",
        "server_ids": ["asnfiubasiufb902ubsief", "sdfbuys-asdf-dvuvsdsd", "sdfhisud-gfuysb"]
      }

      Get a status page detail

      Explore the details of a specific public status page: configuration and recent incidents.

      Parameters
      api-keyrequired
      namerequired

      The URL is:

      https://app.webstatus247.com/api/status_pages/<name>
  • Rate limit

    To ensure fair usage and platform stability, WebStatus247 enforces rate limits of 60 requests per minute per IP address. Exceeding the limit returns HTTP 429. Handle rate-limit responses gracefully for best performance.