Use case

Netlify Scheduled Functions alternative, without the 30-second cap.

Netlify Scheduled Functions are still beta-flagged and capped at 30 seconds of execution. For anything that runs longer, or anything that needs cadence flexibility, Crontap calls your function URL from outside Netlify, on any cron, in any IANA timezone.

Get started

Free plan · no credit card required

The problem

Why this is painful without the right tool

  • Scheduled Functions are still beta and the docs warn that the API may change; that is a real risk for a production cron.
  • 30-second max duration on the target function rules out any meaningful batch work without splitting it into smaller chunks.
  • Cadence is plan-gated and configured per-function in netlify.toml, so a cadence change ships through a deploy.
  • Failure surface is the Netlify Functions log; alerting to email or webhook is left for you to wire up separately.

The fix

How Crontap solves it

Crontap calls your https://yoursite.netlify.app/.netlify/functions/X URL from outside Netlify. No 30-second cap on your target; you set your own function duration budget within Netlify's tier. Cadence and timezone live in Crontap, so changing either is a save in the dashboard, not a deploy. Failures alert to email / webhook (Slack / Discord / Telegram).

cron expression
*/5 * * * *
Every 5 minutes, hit the Netlify function URL for admin-jobs/trait-rolls.

One concrete pattern from the dataset, archetyped: a team running Netlify preview alongside Railway prod, with the same scheduled jobs running against the preview env every 5 minutes via Crontap. Same shape, same auth header, same alerting; the only thing that differs between the preview and prod schedules is the URL and the cadence (preview can run slower to keep cost down). For the head-to-head frame, see Crontap vs Netlify Scheduled Functions.

Auth is whatever your Netlify function expects: a bearer token checked in the handler, a Netlify-issued JWT, a custom header. Crontap stores arbitrary headers per schedule and sends them on every run.

FAQ

Common questions

Can I still use Scheduled Functions alongside Crontap?
Yes. Mix freely. Keep Scheduled Functions for low-frequency, short-duration jobs you want to keep co-located with the deploy; add Crontap for anything that runs longer than 30 seconds, anything that needs minute cadence on a low-tier plan, or anything where you want central alerting.
What's the shortest interval Crontap supports?
Every 1 minute on paid plans. Free tier available for slower cadences. Netlify Scheduled Functions cadence is gated by plan; for minute cadence on every site you pay tier, Crontap is the cheaper path.
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 30-second timeout or a 502 from the function shows up in the alert without you opening Netlify's logs.

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