Scheduled runs
Each plan covers a number of scheduled runs per 30-day month, worked out from your cron schedules. Less frequent jobs leave room for more of them.
Pricing
Simple monthly plans for cron jobs, monitoring and status pages. Start free with five cron jobs, two heartbeats and an uptime monitor, then upgrade when you need more runs, faster checks, or a page for your customers.
Plans
All prices exclude VAT. Paid plans are billed monthly and can be changed from the billing portal.
| Compare plans | Free €0 forever | Starter Free €5.99 then per month First month free | Most popular Pro Free €12.99 then per month First month free | Business €12.49 €24.99 then per month 50% off first month | Enterprise €49.99 €99.99 then per month 50% off first month |
|---|---|---|---|---|---|
| Cron jobs Scheduled requests CronEngine sends for you. None of these apply to monitors. | |||||
| Active cron jobs | 5 | 25 | 50 | Unlimited | Unlimited |
| Scheduled runs / month How many times your jobs can be scheduled to fire in a 30-day month, added up across all active jobs. Reserved from your schedules up front, so it never runs out mid-month. A job running every 5 minutes uses 8,640 runs a month. Hourly uses 720. | 3,000 | 10,000 | 30,000 | 90,000 | 300,000 |
| Request timeout A request still running after this is cancelled and recorded as a timeout failure. It applies to every job on the account. Uptime checks are not covered by it: those time out after a fixed 10 seconds on every plan, including Enterprise. | 20 seconds | 60 seconds | 150 seconds | 300 seconds | 600 seconds |
| Automatic retries A failed run is retried this many times before the failure is final and the alert goes out. Cron jobs only. Monitors do not retry: an uptime monitor waits for a number of failed checks in a row instead, and a heartbeat uses its grace time, because repeating a check a second later only tests the same moment twice. | None | Up to 1 | Up to 2 | Up to 3 | Up to 5 |
| Run history per job How many past runs are kept per job, with their status code, duration and stored response. | 5 runs | 20 runs | 30 runs | 40 runs | 50 runs |
| Job chaining Run one job when another finishes, up to five deep, instead of guessing at a safe gap between two schedules. A follower is priced against its parent schedule, so it costs runs like any other job. | Not on this plan | Included | Included | Included | Included |
| One-off requests / month A request scheduled for a single moment instead of a repeating pattern. These have their own allowance and never draw from your scheduled runs. | 5 | 20 | 60 | 150 | 400 |
| Monitoring Watching things rather than running them. Separate allowances: neither kind touches your scheduled runs. | |||||
| Heartbeat monitors Watches work that runs somewhere we cannot reach, like a crontab on your own server. Your script pings a URL when it finishes, and we alert you when that ping stops arriving. An inbound ping costs no outbound request and no worker, which is why the count is the larger of the two. | 2 | 10 | 25 | 75 | 200 |
| Uptime monitors Watches a public URL from our side and tells you when it stops answering. The opposite direction to a heartbeat: we make the request. A check does cost an outbound request, which is why the count is smaller and each plan has a floor on how often one may fire. | 1 | 3 | 10 | 25 | 100 |
| Fastest uptime check How often a single uptime monitor may be checked. Any slower interval is available on every plan. Checks are GET or HEAD only, carry no headers, body or credentials, and time out after a fixed 10 seconds whatever your plan. The response is read far enough to test your rule and then discarded. | Every 15 minutes | Every 5 minutes | Every minute | Every minute | Every minute |
| Certificate expiry warnings An uptime monitor can watch the TLS certificate of the site it checks and email you before it expires, at the countdowns you pick. Browsers refuse a site the moment its certificate lapses, however healthy the server is, and renewal is usually automatic right up until it silently is not. | Not on this plan | Included | Included | Included | Included |
| Failure confirmations An uptime monitor can wait for several failed checks in a row before calling a site down, so one bad second does not wake anybody. This is the monitoring answer to retries, and it is available on every plan. | Up to 5 | Up to 5 | Up to 5 | Up to 5 | Up to 5 |
| Ping and check history How much recent detail each monitor keeps for its chart and log. Outages are recorded separately and are never pruned, so an uptime percentage does not change as old rows age out. | 100 / 500 | 250 / 1,500 | 500 / 3,000 | 1,000 / 6,000 | 2,000 / 12,000 |
| Maps, tags and bulk actions Monitors file into their own maps and carry their own tags, kept separate from your cron jobs so organising one cannot disturb the other. | Included | Included | Included | Included | Included |
| Status pages A page you hand to your own customers so they can check for themselves. | |||||
| Status pages A public page at an address you choose, showing the monitors you put on it. Hand out the link and people stop asking you whether something is down. You can keep a page unlisted, which still works for anyone with the link but asks search engines to leave it alone. | Not included | 1 | 3 | 10 | 25 |
| Monitors on a page How many of your monitors one page may show. A status page is meant to be the short list your customers care about rather than everything you watch, so this is deliberately lower than the number of monitors your plan allows. The same monitor can appear on more than one page, under a different name on each. | Not included | 5 | 10 | 20 | 50 |
| Write updates on the page While something is wrong you can post a short update saying what is happening, that you have found the cause, or that it is fixed. Planned maintenance can be announced the same way, ahead of time. The newest ones sit at the top of the page until you mark things resolved, and everything you have written stays on the page as a history. | Not on this plan | Included | Included | Included | Included |
| Your logo, colours and theme Upload a logo and a browser tab icon, pick an accent colour, a light, dark or automatic theme, the header style and layout, and add a link back to your own site. You see every change in the editor as you make it. | Not on this plan | Included | Included | Included | Included |
| Your own address Put a status page on an address of your own, such as status.yourcompany.com, instead of ours. You add one DNS record and we take care of the certificate. | Not on this plan | Not on this plan | Included | Included | Included |
| Five languages Each page can be shown in English, Dutch, French, German or Spanish, with times in the timezone you pick. | Not on this plan | Included | Included | Included | Included |
| Uptime shown over How far back the page looks when it works out how reliable something has been. A monitor younger than that only ever reports the time it has actually been watching, so a new one never claims a record it has not earned. | Not included | 7, 30 or 90 days | 7, 30 or 90 days | 7, 30 or 90 days | 7, 30 or 90 days |
| Alerts How you hear about a failure. The same limits cover cron jobs, heartbeats and uptime monitors. | |||||
| Email alerts / day Capped because email has a sending reputation to protect: a mailbox provider throttles a sender that floods, and that lands on everyone. Resets at 00:00 UTC. Digests do not count against it. | 5 | 20 | 50 | 100 | Unlimited |
| Webhook, Slack, Discord, Telegram / day No daily cap on the paid plans. These have no shared sending reputation, and their providers publish per-second rate limits that CronEngine already respects by backing off when asked. Free keeps a cap on every channel. | 5 | Unlimited | Unlimited | Unlimited | Unlimited |
| Notification channels per job or monitor How many destinations a single job, heartbeat or uptime monitor may deliver to at once. Every channel type is available on every plan; this is how many one of them may use together. | 1 | 1 | 2 | 3 | 3 |
| Notify on every run A message for each run, not only for failures and recoveries. Useful for a job you want positive confirmation from. | Not on this plan | Included | Included | Included | Included |
| Keeps running after repeated failures On Free, a cron job that fails 20 times in a row is paused automatically so a broken endpoint stops burning runs. Paid plans leave it to you. Monitors are never auto-paused on any plan, because a monitor that keeps failing is doing its job. | Not on this plan | Included | Included | Included | Included |
| Email, webhook, Slack, Discord, Telegram | Included | Included | Included | Included | Included |
| Alert after N consecutive failures Hold the alert until a job has failed a number of times in a row, so one flaky minute does not wake anybody. | Included | Included | Included | Included | Included |
| Weekly or monthly email digest A summary of your runs that does not count against the daily cap above. | Included | Included | Included | Included | Included |
| Also included On every plan, from Free up. | |||||
| Custom headers, request body and auth On cron jobs: GET, POST, PUT, PATCH, DELETE and HEAD, with bearer or basic auth. Credentials are encrypted at rest. Uptime checks get none of this on any plan, by design: they send a bare GET or HEAD, because a monitor that could POST with your credentials would be a cron job with a much larger allowance. | Included | Included | Included | Included | Included |
| Response body storage Up to 10 KB of each stored response, kept with the run so you can see what the endpoint actually said. Cron jobs only: an uptime check reads the response far enough to test your rule and then discards it, so there is nothing to store. | Included | Included | Included | Included | Included |
| CSV export of history For cron jobs, heartbeats and uptime monitors. A monitor exports the pings or checks it still keeps under your plan, and its outages, which are never pruned. | Included | Included | Included | Included | Included |
| Maintenance windows across jobs and monitors A planned window suppresses the alert but still records the outage, so a deploy does not page anyone and does not quietly improve your uptime figure either. | Included | Included | Included | Included | Included |
| Same success rules for jobs and uptime monitors Status code ranges plus an optional body check, judged by the same code, so "is this up" and "did this work" cannot drift into two different answers. | Included | Included | Included | Included | Included |
| Ready to start? Change or cancel at any time from the billing portal. | Start for free | Get Starter | Get Pro | Get Business | Get Enterprise |
Each plan covers a number of scheduled runs per 30-day month, worked out from your cron schedules. Less frequent jobs leave room for more of them.
Move plans from the billing portal. If a lower plan cannot fit your usage, CronEngine warns you before switching.
Daily caps apply separately to immediate alert channels. Weekly or monthly email digests summarize your runs without consuming those caps.
Ready?
Start with five cron jobs, two heartbeats and an uptime monitor. Upgrade when you need more runs, faster checks, or a status page for your customers.
Create your free account