Ping Everything Everywhere All At Once

Ping Everything Everywhere All At Once (PEEAAO) is an API service that you can call to receive a ping result from multiple servers around the world which you can use to forward to a notifier to receive alerts or to generate your own status page.

🌎️ Supported Servers

⚡️ Usage

To use, you will need to make an API call to our API server and specify a target you want to ping and an optional locations to set where the servers will be pinging from.

curl -X POST \
    -H "Authorization: Bearer <token> \
    https://api.peeaao.com/ping \
    -d target=https://url \
    -d locations=singapore \
    -d expected_code=301
Parameter Description Optional Single Request
target ping target in the format (scheme://address) - X
locations Ping from locations (comma-delimited) Yes X
expected_code expected http status code (http/https only) - X
Available Locations
nyc
singapore
amsterdam

✒ Single Request

In this mode, you will get the ping result in the same request.

Free Tier

We have a generous free-tier that should allow you to ping a single site in a 60 seconds interval. Our quota refreshes every day.

To use this, you can drop the Authorization: Bearer <token> header.

Note: This free-tier is subjected to fair-use, and we may restrict access to your access if found to be abusive. Please only ping sites that you are in control of or have permission to do so.

Private Beta

We’re now in private beta and may occassionally release new features. As a registered beta user, you will have first access to these features as well as an even more generous and significant quota limit.

To sign up, you will need to register your interest in the link below and an auth token will be sent to you via email shortly after.

🚀🚀🚀Sign up for the private beta🚀🚀🚀

This auth token will need to be sent in the headers as part of the Bearer token. More information can be seen in the examples below.

Example Request

HTTP/HTTPS
curl -X POST \
    -H "Authorization: Bearer <token> \
    https://api.peeaao.com/ping \
    -d target=https://url \
    -d locations=singapore \
    -d expected_code=301
TCP/UDP
curl -X POST \
    -H "Authorization: Bearer <token> \
    https://api.peeaao.com/ping \
    -d locations=singapore \
    -d target=tcp://server:port

Example Response

Parameter Description Possible Responses
type type of request tcp, udp, http, https
status status of the ping results up, down, mixed
errors an array of error strings -
# 200 response
{
  "type": "",
  "status": "ping_completed",
  "target": "https://google.com",
  "locations": {
    "singapore": [
      {
        "runner_id": "xr41s13",
        "location": "singapore",
        "timestamp": <timestamp>,
        "result_in_ms": 315,
        "code": 200
      }
    ]
  },
  "errors": [
    "[xr41s13] rpc error: code = DeadlineExceeded desc = context deadline exceeded",
    "one or more locations is not returning the expected status code (301)"
  ],
  "status": "DOWN"
}
# 4xx-5xx response
{
    "error": "<error message>",
}

🧰 Use Cases

Using PEEAAO’s API, you can build tools that help track your sites’ uptime and response times.

Prometheus & Grafana

Using our PEEAAO Prometheus Exporter, you can start to retrieve metrics that you can plug into Grafana.

PEEAAO grafana dashboard

📨 Private Beta is Open

We are currently in private beta. To register your interest, please leave your email at the following link: https://forms.gle/ZkAzxLVnVDftLNLn7