Cron monitoring
that stays out of your way

One curl appended to your crontab. If a job goes silent, you hear about it in minutes. Nothing more.

Free for up to 3 monitors. No credit card required.

# create an account
~ curl -X POST gabe.usegabe.workers.dev/api/signup \
-d '{"email":"dev@company.com"}'
{"api_key": "gabe_k8x2m..."}
 
# create a monitor
~ curl -X POST gabe.usegabe.workers.dev/api/monitors \
-H "Authorization: Bearer gabe_k8x2m..." \
-d '{"name":"db-backup","interval_minutes":60}'
{"ping_url": "gabe.usegabe.workers.dev/ping/a3f8x1"}

Monitors

2 of 3 healthy
db-backup
12m ago
invoice-gen
3m ago
email-digest
47m late

How it works

No agents. No SDK. Just HTTP.

01

Register a job

POST the job name and expected interval. You get a unique ping URL back.

02

Append one curl

Add the ping URL to the end of your cron command. If the job runs, we know.

03

Get notified

If the ping stops arriving on schedule, we email you. No dashboards to check.

Pricing

Start free. Upgrade when you need more monitors.

Free
$0 /mo

For personal projects.

  • 3 monitors
  • 2-minute check interval
  • Webhook alerts (Slack, Discord, etc.)

Pro
$4 /mo

For production workloads.

  • 20 monitors
  • 1-minute check interval
  • Webhook + email alerts
  • Priority support
Upgrade

API Reference

All endpoints accept and return JSON.

https://gabe.usegabe.workers.dev
POST /api/signup

Create an account. Returns an API key.

{"email": "you@example.com"}

POST /api/monitors

Create a monitor. Returns a ping URL.

{"name": "my-job", "interval_minutes": 60, "webhook_url": "https://hooks.slack.com/..."}

GET /ping/:id

Send a heartbeat from your cron job.

GET /api/monitors

List all monitors and their current status.

DELETE /api/monitors/:id

Remove a monitor.