Comparison

Crontap vs Netlify Scheduled Functions

Netlify Scheduled Functions are great if your scheduled work fits in 30 seconds and your cadence is generous. Cross either line and you need a real scheduler.

At a glance

Netlify Scheduled Functions vs Crontap, side by side.

Netlify Scheduled Functions vs Crontap, dimension by dimension
DimensionNetlify Scheduled FunctionsCrontap
StatusBetaGA
Max function duration30 secondsWhatever your target supports
Cadence floorHourly minimum on some plans1 minute (Pro)
Per-environment parityPer-function configPoint two schedules at two URLs
Cron syntaxYes (5-field)Yes (5-field)
Failure alertsNetlify build/function notificationsemail / webhook (Slack / Discord / Telegram)

How they work

The two approaches in one paragraph each.

Netlify Scheduled Functions

Netlify Scheduled Functions are a Netlify feature in beta. You add a netlify.toml entry pointing at a function file plus a cron expression. The function runs on Netlify's serverless runtime on cadence; the runtime caps execution at 30 seconds.

Crontap

Crontap fires HTTP requests at any URL on cadence. The target can be a regular Netlify function (without Scheduled Functions), a Cloud Run service, a Railway app, or anywhere else that exposes HTTP. Cadence and timezone are set per schedule; runtime is bound only by what the target supports.

Where each side wins

Honest broker, both columns.

Netlify Scheduled Functions wins on

  • Native to Netlify, zero infra to provision.
  • Lives next to the function in the same project.
  • Same observability as your other Netlify functions.

Crontap wins on

  • Any cadence Crontap supports, including ones Netlify Scheduled Functions cannot reach on lower plans.
  • No 30-second cap on the target. The function can run as long as your backend platform allows.
  • Prod and preview parity by pointing two schedules at two URLs.
  • A team running Netlify preview + Railway prod uses the same Crontap schedules across both environments without duplicating config.

The math

Cadence and pricing, worked out.

  • Need a job that takes 90 seconds? Netlify Scheduled Functions cap at 30. Move the work to your own backend (Railway, Cloud Run, your own box) and let Crontap fire it.
  • Need a sub-hourly cadence on a Netlify plan that does not support it? Crontap Pro is $3.25/month annual and fires at 1 minute regardless of where the target lives.

Moving from Netlify Scheduled Functions

The migration, in 3 steps.

  1. Identify the Netlify Scheduled Function and what it does.
  2. Either keep the function as-is and expose it via a regular (non-scheduled) Netlify function with Authorization-header verification, or move the work to a backend that does not have a 30-second cap (Railway, Cloud Run, your own box).
  3. Point Crontap at the new HTTP target with the Authorization header on the schedule. Remove the Scheduled Functions block from netlify.toml.

Decision

Which one fits.

Pick Netlify Scheduled Functions if

Your job fits in 30 seconds, your cadence is generous, and you want it next to the function.

Pick Crontap if

You need longer runs, sub-hourly cadence, per-schedule timezones, or environment parity.

Pair both if

Keep light Netlify Scheduled Functions for in-project work; add Crontap for jobs that need longer runtime or cross-environment parity.

FAQ

Crontap vs Netlify Scheduled Functions, in detail.

Can Crontap call my Netlify function?
Yes. Convert the function to a regular non-scheduled Netlify function and add Authorization-header verification on the route. Point Crontap at the function URL with the header set on the schedule.
Will Netlify Scheduled Functions and Crontap conflict?
No. They run independently. Many teams pair them: keep simple in-project Scheduled Functions on Netlify; use Crontap for anything that needs longer runtime or sits outside Netlify.
What if my function takes longer than Netlify allows on any plan?
Move the work to a backend without that cap (Railway, Cloud Run, your own box) and have Crontap fire that endpoint on cadence. The hard 30-second timeout is what makes Scheduled Functions a poor fit for non-trivial work.

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