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.
| Dimension | Netlify Scheduled Functions | Crontap |
|---|---|---|
| Status | Beta | GA |
| Max function duration | 30 seconds | Whatever your target supports |
| Cadence floor | Hourly minimum on some plans | 1 minute (Pro) |
| Per-environment parity | Per-function config | Point two schedules at two URLs |
| Cron syntax | Yes (5-field) | Yes (5-field) |
| Failure alerts | Netlify build/function notifications | email / 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.
- Identify the Netlify Scheduled Function and what it does.
- 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).
- 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
/wp-cron.php?doing_wp_cron=1
Schedule
"every 5 minutes"
Next
in 23s