Use case

One cron dashboard across your Render services and environments.

Render Cron is fine if you have one service and one environment. Once you cross either, you start clicking through dashboards. Crontap calls your onrender.com URL from outside the service, on any cadence, in any timezone, with one dashboard for prod and staging.

Get started

Free plan · no credit card required

The problem

Why this is painful without the right tool

  • Render Cron is per-service, so a multi-service app has its cron config spread across several places.
  • There is no cross-environment parity (prod plus preview plus staging); each environment carries its own cron definition or none at all.
  • Cron runs inside the service container and competes with web traffic on small instances, which inflates response time at minute boundaries.
  • Failure surface is the service log; rich alerting to email or webhook is left for you to wire up separately.

The fix

How Crontap solves it

Crontap calls your https://yourapp.onrender.com URL from outside the Render service. Any cadence (every 1 minute on paid plans, every 5 minutes is typical), any IANA timezone, one dashboard for prod and staging side by side. Failures alert to email / webhook (Slack / Discord / Telegram). For the head-to-head frame, see Crontap vs Render Cron.

cron expression
*/1 * * * *
Every minute, hit your Render app's /crons/minute. Daily variant hits /crons/day on the same dashboard.

One concrete pattern from the dataset, archetyped: a Render customer running both a per-minute health-check cron at /crons/minute and a daily aggregate at /crons/day, in two environments (prod in Europe/Madrid and staging in America/Santo_Domingo). Both environments share the schedule shape and the alerting channel; only the URL and the timezone differ. Fast to clone the schedule for a new region, fast to audit when one env falls behind.

Auth is whatever your Render service expects: a bearer token checked in your handler, basic auth, a custom header. Crontap stores arbitrary headers per schedule and sends them on every run. The endpoint stays public-by-DNS but the auth check lives in your code.

FAQ

Common questions

Can I still use Render Cron alongside Crontap?
Yes. Mix freely. Keep Render Cron for in-container batch jobs that need to share the same image and config; add Crontap for everything that benefits from being external (cross-env, central dashboard, richer alerting).
What's the shortest interval Crontap supports?
Every 1 minute on paid plans. Free tier available for slower cadences. Render Cron also supports minute cadence; the difference is the dashboard and the failure-alert story.
How do I get notified if a run fails?
Wire failure alerts to email / webhook (Slack / Discord / Telegram) on the schedule's Integrations panel. The failure payload includes the run's status code, duration, and response body so a 5xx on a small Render instance under load shows up in the alert with enough context to scale up.

Ready to fix it?

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

Free forever tier ・ No credit card required

GET

/wp-cron.php?doing_wp_cron=1

Running
Your next schedule

Schedule

"every 5 minutes"

Next

in 23s