PingQL
All systems operational

Uptime monitoring
that thinks like
a developer

Go beyond simple pings. Write queries against status codes, JSON bodies, HTML selectors, headers, cert expiry — everything your response contains.

query.json
{
  "$and": [
    { "status": { "$lt": 400 } },
    { "$json": { "$.db.status": { "$eq": "ok" } } },
    { "$certExpiry": { "$gt": 14 } }
  ]
}
// status < 400 AND $.db.status = "ok" AND $certExpiry > 14 days

Not just ping

Most monitoring tools ping a URL and check if it returns 200. That tells you almost nothing. PingQL lets you query the entire response.

Others
GET /api/health → 200 UP
GET /api/health → 500 DOWN
That's it. That's all you get.
PingQL
Status code assertions
JSON body inspection
HTML / CSS selector matching
Response time thresholds
SSL cert expiry checks
Header & regex matching

Everything you need

Powerful primitives, zero bloat.

MongoDB-style queries

Use $and, $or, $lt, $regex — a query language you already know.

JSONPath & CSS selectors

Drill into JSON responses with $json or scrape any HTML page with $css — no API required.

SSL cert monitoring

Built-in $certExpiry operator. Get alerted before your cert expires, not after.

Global monitoring network

Physical servers across every continent. Ping from the regions that matter to your users, not just one location.

Custom HTTP requests

Send GET, POST, PUT, PATCH or HEAD with custom headers and request bodies. Monitor authenticated APIs end-to-end.

Sub-keys & API access

Create scoped sub-keys for CI pipelines, scripts, or teammates. Full REST API — no dashboard required.

Live dashboard

Real-time updates via SSE. Latency charts, status history, uptime stats — all live without a page refresh.

Privacy-first accounts

No email required. No passwords. Just an account key. Emails are hashed if provided — we literally can't read them.

Pay with crypto

We accept Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Dash, and eCash. No card, no name, no billing address required.

Privacy by design

We built PingQL for developers who care about their data.

$

No tracking, no analytics, no ads

Zero third-party scripts. Zero cookies.

$

Account keys, not passwords

Be completely anonymous. No email required.

$

Emails hashed if provided

Optional email for recovery only. We hash it.

$

We never sell data

Your monitors, your data. Period.

Hosted in EU (Prague) — GDPR compliant

API-first, always

Create monitors, query results, and manage everything from scripts, your terminal, or anywhere with HTTP.

Create a monitor
$ curl -X POST https://pingql.com/api/monitors \
  -H "X-Key: XXXX-XXXX-XXXX-XXXX" \
  -d '{
    "url": "https://api.example.com/health",
    "interval": 60,
    "query": {
      "status": { "$lt": 400 },
      "$json": {
        "$.ok": { "$eq": true }
      }
    }
  }'

// → 201 Created
{ "id": "mon_a1b2c3", "status": "active" }
Check results
$ curl https://pingql.com/api/monitors/mon_a1b2c3 \
  -H "X-Key: XXXX-XXXX-XXXX-XXXX"

{
  "id": "mon_a1b2c3",
  "url": "https://api.example.com/health",
  "status": "up",
  "lastCheck": "2024-01-15T10:30:00Z",
  "responseTime": 142,
  "uptime30d": 99.97
}
CLI coming soon — pingql watch mon_a1b2c3

Simple pricing

Start for free. No credit card required.

Free
$0
forever
  • 5 monitors
  • 20s check interval
  • Full query language
  • API access
  • No credit card
Get Started
coming soon
Pro
$14
per month
  • Unlimited monitors
  • 1s check interval
  • Webhook notifications
  • Priority support
Coming Soon
coming soon
Lifetime
$149
$179
one-time
  • Everything in Pro
  • Pay once, use forever
  • All future updates
  • Limited availability
Coming Soon