Cron basics

Cron Expressions in 60 Seconds

A short, practical guide to cron syntax with the expressions developers actually use in production.

A cron expression is five fields separated by spaces:

┌─── minute (0-59)
│ ┌─── hour (0-23)
│ │ ┌─── day of month (1-31)
│ │ │ ┌─── month (1-12)
│ │ │ │ ┌─── day of week (0-7, Sunday = 0 or 7)
│ │ │ │ │
* * * * *

* means every. A number means at this value. A slash expression like */5 meansevery nth.

The expressions you will actually use

ExpressionMeaning
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour, on the hour
0 9 * * *Every day at 9:00 AM UTC
0 9 * * 1-5Every weekday at 9:00 AM UTC
0 0 * * 0Every Sunday at midnight UTC
0 9 1 * *First day of every month at 9:00 AM
0 */6 * * *Every 6 hours
30 14 * * *Every day at 2:30 PM UTC

That is enough for most scheduling work. Copy the one you need and pass it to CronAPI.

curl -X POST https://app.cronapi.dev/api/v1/crons   -H "Authorization: Bearer cr_your_key"   -H "Content-Type: application/json"   -d '{"cron": "0 9 * * 1-5", "url": "https://your.app/run"}'

Your webhook now fires every weekday at 9am. CronAPI handles the schedule and gives you a dashboard to see what happened after each run.

Start fast

Copy a cron. Ship the webhook.

Use the example above, then tweak the expression when your workflow needs a different cadence.