Cron Expression Parser - Validate, Explain, Next Run Times avatar

Cron Expression Parser - Validate, Explain, Next Run Times

Pricing

from $0.64 / 1,000 parsed expressions

Go to Apify Store
Cron Expression Parser - Validate, Explain, Next Run Times

Cron Expression Parser - Validate, Explain, Next Run Times

Validate up to 50 cron expressions per run: plain-English description + timezone-aware next fire times (DST-correct, any IANA zone), 5/6-field, @shortcuts, names, dom/dow OR rule. $0.0008 per expression, invalid ones never charged — cheaper than measured incumbents ($0.001-$0.03).

Pricing

from $0.64 / 1,000 parsed expressions

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Cron Expression Parser — Validate, Explain & Predict Fire Times

Paste any cron expression — get back whether it is valid, what it means in plain English, and its next fire times as ISO timestamps in any IANA timezone. Handles 5-field and 6-field (seconds) syntax, @daily-style shortcuts, names (MON-FRI, JAN), steps, ranges, lists, and the classic day-of-month/day-of-week OR rule. Up to 50 expressions per run, online, by API, or as an agent tool via Apify MCP.

"Will this schedule fire when I think it will?" is a question people usually answer by deploying and waiting. This answers it in two seconds, timezone-correctly (DST included, via real IANA timezone math).

What you get

  • valid — did it parse, with the exact error when not
  • description — plain English: "At minute(s) 0, 15, 30, 45 past hour(s) 9…17 on Monday, Tuesday…"
  • nextRuns — the next N fire times (up to 50) as UTC ISO timestamps, computed in your chosen timezone
  • fields — whether it was parsed as 5-field or 6-field (with seconds)
  • Fail-soft: an invalid expression never fails the run — it returns {ok: false, error} and is never charged.

Input

{ "expression": "*/15 9-17 * * MON-FRI", "timezone": "America/New_York", "next": 5 }

Bulk: { "expressions": ["@daily", "0 3 1 * *", "30 5 * * SUN"] }

Output (real run)

{
"expression": "*/15 9-17 * * MON-FRI",
"ok": true,
"valid": true,
"timezone": "UTC",
"fields": 5,
"description": "At minute(s) 0, 15, 30, 45 past hour(s) 9, 10, 11, 12, 13, 14, 15, 16, 17 on Monday, Tuesday, Wednesday, Thursday, Friday",
"nextRuns": ["2026-08-08T09:00:00.000Z", "2026-08-08T09:15:00.000Z", "2026-08-08T09:30:00.000Z"]
}

An out-of-range expression like 99 * * * * comes back valid: false with "Value out of range (0-59) in minute field" — free.

Pricing

$0.0008 per expression parsed. No start fee. Invalid expressions are never charged — you pay for schedules, not typos.

Measured against store incumbents (2026-08-07): caulleonard/cron-api charges $0.001 per call, perryay/cron-expression-builder-validator $0.02 start + $0.01 per batch-validate. Validating a 50-crontab file here costs $0.04.

Honest limits

  • Standard cron dialect: 5 or 6 fields, *, ranges, lists, steps, month/day names, @shortcuts. Quartz-specific tokens (L, W, #, ?) are not supported and report as invalid — honestly, rather than guessing their semantics.
  • @reboot is rejected (it has no computable schedule).
  • Fire times are exact for the timezone requested, DST transitions included (wall-clock matching via IANA timezone data, not naive offsets).

FAQ

Does it apply the weird day-of-month/day-of-week rule correctly? Yes — when both fields are restricted, standard cron fires on EITHER match (the rule most humans and some libraries get wrong). Wildcards restrict nothing.

How are timezones handled? Give any IANA name (Europe/Berlin, Asia/Tokyo). Matching happens against wall-clock time in that zone; results are returned as UTC ISO timestamps you can compare and store.

Can I validate a whole crontab in CI? Yes — pass all expressions as expressions, then fail the build if any record has valid: false.

What about 6-field (seconds) cron? Fully supported — six fields are auto-detected and fields: 6 marks it in the output.

Why did some rows come back ok: false? The expression failed to parse (wrong field count, out-of-range value, unknown shortcut) — the error string is the exact reason. Never charged.

Use from code or AI agents

curl -s "https://api.apify.com/v2/acts/EliAI~cron-expression-parser/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-X POST -H 'Content-Type: application/json' \
-d '{"expression": "0 3 * * SUN", "timezone": "Europe/Berlin", "next": 3}'

Agents: connect Apify MCP and call the EliAI/cron-expression-parser tool.

  • Capability: validate, explain, and predict fire times for one or many cron expressions in any IANA timezone
  • Required input: expression or expressions; optional timezone (default UTC), next (default 5)
  • Returns: one record per expression; valid, description, nextRuns summarize it
  • Bounded: 50 expressions, 50 fire times each; failures isolate per expression
  • Side effects: none