Setting Up Frequent Monitoring Checks

OpenPing needs a cron trigger to run checks. Here's how to set it up for free.

Why you need this

OpenPing's monitoring engine runs when the /api/checks/run endpoint is called. On Vercel's free/Hobby plan, built-in cron is limited to daily. For real-time monitoring (every 1-5 minutes), use a free external cron service.

Option 1: cron-job.org (recommended, free)

  1. Go to cron-job.org and create a free account
  2. Click "Create cronjob"
  3. Set the URL to: https://your-app.vercel.app/api/checks/run
  4. Set method to GET
  5. Under "Advanced", add a header: Authorization: Bearer YOUR_CRON_SECRET
  6. Set schedule to "Every 1 minute" (or 3/5 min)
  7. Save

Free tier: unlimited cron jobs, every-minute frequency. No credit card needed.

Option 2: EasyCron (free tier)

Similar to cron-job.org. easycron.com — free plan supports every-minute cron. Set up the same way: your check URL + Authorization header.

Option 3: Your own server

If you have any VPS or server, add this to your crontab:

* * * * * curl -s -X GET "https://your-app.vercel.app/api/checks/run" -H "Authorization: Bearer YOUR_CRON_SECRET" > /dev/null 2>&1

Finding your CRON_SECRET

The CRON_SECRET is set in your Vercel environment variables. Go to Vercel Dashboard → your project → Settings → Environment Variables → find CRON_SECRET. Use this value in the Authorization header.

Verifying it works

After setting up the cron, go to your OpenPing dashboard. Within a few minutes, your monitors should show a "Last checked" time. If they stay on "Never", check that the URL and Authorization header are correct.