Comparison

Crontap vs Heroku Scheduler

Heroku Scheduler is the default for run-a-Rake-task-daily. For anything finer than 10 minutes or anything more interesting than three fixed cadences, you have to build it yourself. Crontap fires any cron expression you type at your Heroku app URL.

At a glance

Heroku Scheduler vs Crontap, side by side.

Heroku Scheduler vs Crontap, dimension by dimension
DimensionHeroku SchedulerCrontap
Cadence options10 min, 1 hour, 24 hoursAny cron expression
Cron expression supportNo (3 fixed buckets)Yes (5-field)
Per-schedule timezoneAccount-wide UTCYes (any IANA)
Per-execution costOne-off dyno per run (billed by the second)Zero (hits your existing dyno)
Dashboard scopePer-appAll apps + non-Heroku targets
LoggingLimited dyno logFull request + response with status, duration, body
Free tierFree add-on, limited by dyno timeFree tier available

How they work

The two approaches in one paragraph each.

Heroku Scheduler

Heroku Scheduler is a free Heroku add-on. You pick one of three fixed cadences (10 minutes, 1 hour, 24 hours) for each task and pair it with a Rake task or shell command. Heroku spins up a one-off dyno per run that lives only as long as the task takes.

Crontap

Crontap fires any cron expression at the HTTP endpoint of your choice (a route on your existing Heroku app, a Cloud Run service, a Vercel function, anything reachable). The schedule lives in Crontap, not in your app, so cadence changes never require a redeploy and there is no per-execution dyno billed.

Where each side wins

Honest broker, both columns.

Heroku Scheduler wins on

  • One install. Already in the Heroku ecosystem.
  • Runs Rake or shell commands directly without a public HTTP endpoint.
  • Free add-on if you can live with three cadences.

Crontap wins on

  • Cadences in between. Every 5, 15, 30 minutes are not options on Heroku Scheduler.
  • Cron expressions like Tuesday 06:30 Europe/Berlin that Heroku Scheduler simply cannot represent.
  • No per-execution dyno spin-up cost. Crontap hits the URL on dynos you already pay for.
  • Per-schedule IANA timezones.
  • A real Heroku customer fires daily user notifications at 17:00 Europe/Berlin via Crontap, exactly because Heroku Scheduler is UTC-only with 24-hour cadence.

The math

Cadence and pricing, worked out.

  • Want a job every 5 minutes via Heroku Scheduler? You cannot. The closest is every 10 minutes.
  • Run a job every 10 minutes via Heroku Scheduler and you spin up a one-off dyno 4,320 times a month. On Eco dynos that is real money. With Crontap, your existing web dyno serves the request.
  • Heroku Advanced Scheduler (the paid alternative) costs more and still does not give you cron expressions. Crontap Pro is $3.25/month annual.

Moving from Heroku Scheduler

The migration, in 4 steps.

  1. Identify the Rake task or process that Heroku Scheduler runs.
  2. Wrap it as an HTTP endpoint on your existing dyno (e.g. POST /scheduled/your-job) and verify a bearer token on the route.
  3. Create a Crontap schedule pointing at that URL with the header.
  4. Remove the Heroku Scheduler entry. Verify the next run lands in your Crontap log.

Decision

Which one fits.

Pick Heroku Scheduler if

You are content with 10 min, 1 hour, or 24 hours, your job runs as a Rake task you do not want to expose over HTTP, and you do not mind UTC.

Pick Crontap if

You want any cron expression, sub-10-minute cadence, per-schedule timezones, central logs, or notifications when something fails.

Pair both if

Keep Heroku Scheduler for one daily Rake task and add Crontap for the every-15-minute health pings.

FAQ

Crontap vs Heroku Scheduler, in detail.

Does Crontap require a public HTTP endpoint?
Yes. The endpoint can be auth-protected: Crontap sends an Authorization header you control, your route checks it before doing any work.
Can I keep Heroku Scheduler running too?
Yes. Many teams pair them: keep Heroku Scheduler for the one daily Rake task that already works, add Crontap for everything that needs a cadence Heroku Scheduler does not offer.
Will this save me money?
Often, because you skip the per-execution dyno spin-up. Heroku Scheduler bills a small one-off dyno per run; Crontap calls the URL on the web dyno you already pay for.
What about Heroku Advanced Scheduler?
Heroku Advanced Scheduler costs more and still does not give you full cron expressions. Crontap Pro is $3.25/month annual and supports any 5-field cron expression with per-schedule timezones.

Sources

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