Monitoring for Developers
You already know something is going to break
A cleanup job that crontab quietly dropped during an Ubuntu upgrade keeps not running, and nobody notices because there's no exception to catch. An SSL certificate expires over a long weekend and takes down HTTPS before anyone checks the calendar. A database backup script exits 0 despite a failed upload and keeps “succeeding” for weeks until you actually need the backup.
WatchCron handles these problems without the overhead. No enterprise sales calls, no agent to install on your server. Set up checks through the dashboard or the REST API, point alerts at Slack or email, and the monitoring runs itself.
Cron jobs with real cron expressions
Most monitoring tools give you interval-based scheduling: “check every 5 minutes.” That works for uptime pings, but cron jobs don't run on intervals. They run on schedules like 0 3 * * * or */15 9-17 * * 1-5, and the monitoring tool needs to understand the same syntax to know when a job is late.
WatchCron supports full cron expression syntax. When you enter an expression, the dashboard shows the next five scheduled runs so you can verify the schedule before saving. If a job misses its window past the grace period (default is configurable per check, most people start with 5 minutes), the alert fires.
For simpler setups, there's also a plain interval mode: every N minutes, hours, or days. Both modes work with the same ping URL. Your job hits the endpoint when it finishes, and if the next expected ping doesn't arrive within the grace window, you hear about it.
One HTTP request, any language
The setup screen generates ready-to-paste code for cURL, PHP, Python, Node.js, wget, and PowerShell. Copy the snippet into your cron entry or your task scheduler, and monitoring is live. You don't need an SDK or a client library. Here's what a basic ping looks like:
curl -fsS --retry 3 https://ping.watchcron.com/p/your-check-uuid
If you need to create or manage checks programmatically, the REST API covers everything the dashboard does: create and manage checks, pull ping history, or export data as CSV or JSON. Useful when you're spinning up environments with Terraform or Ansible and want checks created alongside the infrastructure.
Uptime, SSL, ports, domains, and blocklists
Developers care about more than “is the site up.” Here's what WatchCron covers:
- Cron jobs with ping-based monitoring, cron expression or interval scheduling, grace periods, and consecutive-miss thresholds
- HTTP/HTTPS uptime: response codes, response time tracking, SSL info in the same view
- SSL certificates — expiry alerts at the interval you choose, so renewals don't slip
- TCP ports: check that your database, Redis, or mail server is reachable (unlimited port checks, not counted against your plan limit)
- Domain expiration with WHOIS-based alerts so renewals don't get missed
- Blocklist monitoring — find out if your IP or domain ends up on a spam list before deliverability tanks
Checks run every 1, 2, 3, 5, or 10 minutes depending on your plan.
Slack, webhook, and PagerDuty alerts
Alerts need to land where you're already looking, not in a dashboard you have to remember to check. WatchCron sends to Slack, Telegram, Discord, Microsoft Teams, email, or a webhook endpoint. Higher-tier plans add SMS, voice calls, PagerDuty, and OpsGenie for on-call escalation.
Every down/fail notification includes a one-click acknowledge link. Click it from the email or Slack message, and repeat notifications stop for 24 hours. You don't have to log in and hunt for the check while your phone keeps buzzing.
Maintenance windows
Deploying at 2 AM on Tuesday? Set a maintenance window for that slot. WatchCron pauses alerting during the window so a planned restart doesn't page the on-call engineer. Pick the days and time range per check, and alerting pauses automatically. When the window ends, monitoring resumes.
Status pages and incidents
When something does go down, a public status page saves you from answering “is it just me?” in every support channel. WatchCron hosts the page, updates it based on your incident posts, and notifies subscribers on each status change.
Pricing for side projects and teams
The free plan covers 20 checks with email and webhook alerts. That's enough for a side project or a small production app. If you need Slack or Telegram, the Starter plan is $7/month (or $5/month billed yearly). Port and domain monitors are unlimited on every plan and don't count against check limits.
Pricing is based on monitoring capacity, not headcount. The Starter plan includes 3 team members, Pro includes 10, and Business has no member cap. Works the same way in staging: set up separate checks per environment and keep alerting rules independent.
The uptime calculator, SSL checker, and DNS lookup tools work without an account if you want to try things before signing up.
<p>No credit card required. Set up your first <a href="/glossary/cron-job">cron job</a> or uptime check in under a minute.</p>
Create Free AccountFrequently Asked Questions
No. WatchCron works entirely over HTTP. Your cron jobs ping a URL when they finish, and uptime checks run from our servers. Nothing to install or maintain on your infrastructure.
Uptime and port checks require the target to be reachable from the internet. For internal services, have your health check script hit the WatchCron ping URL when it succeeds. If the ping stops arriving, you get an alert.
Not as a direct data source. WatchCron focuses on alerting and status communication rather than metrics aggregation. You can use webhook notifications to feed events into your existing observability stack through a custom receiver.
Every check has a configurable grace period. If your job runs at 02:00:03 instead of 02:00:00, the grace period absorbs the drift. Set the threshold that fits each job.
Yes. There is no self-hosted or open-source version. The upside is zero maintenance on your end: we handle the infrastructure, check scheduling, and alert delivery.
Start monitoring in under 2 minutes
Free plan includes 20 checks. No credit card required.
See Plans & Pricing