ToolAssay

Next occurrences of a cron expression in any IANA time zone, DST-aware via the r

Next occurrences of a cron expression in any IANA time zone, DST-aware via the runtime's ICU tzdb (times skipped by DST shift forward by the gap; ambiguous times fire once). Dialect (croner): 5-7 fields with optional seconds and year, ranges, steps, lists, JAN-DEC/SUN-SAT names, L, W, #, ? and @daily-style aliases. Each occurrence is returned as local ISO with offset plus UTC. Bad expression → 400 naming the offending field.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
19 msmedian answer time
$0.002listed price per call
$0.002price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://402utils.com/v1/cron-next

CategoryEverything else
Provider host402utils.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.002 19 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "count": 5,
    "expr": "*/15 9-17 * * 1-5",
    "tz": "Europe/Paris"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "description": "Query params. `expr` is required; the rest have defaults.",
          "properties": {
            "count": {
              "description": "Occurrences to return, 1-50 (default 5).",
              "type": "integer"
            },
            "expr": {
              "description": "Cron expression, e.g. */15 9-17 * * 1-5.",
              "type": "string"
            },
            "from": {
              "description": "ISO 8601 start instant, exclusive (default now). Without an offset it is wall time in `tz`.",
              "type": "string"
            },
            "tz": {
              "description": "IANA zone for evaluation (default UTC).",
              "type": "string"
            }
          },
          "required": [
            "expr"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "properties": {
            "count": {
              "description": "Number of occurrences actually returned.",
              "type": "integer"
            },
            "expr": {
              "type": "string"
            },
            "from": {
              "description": "The start instant in `timezone`, ISO with offset.",
              "type": "string"
            },
            "note": {
              "description": "Present when fewer occurrences exist than requested.",
              "type": "string"
            },
            "occurrences": {
              "items": {
                "properties": {
                  "local": {
                    "description": "ISO in `timezone`, with offset.",
                    "type": "string"
                  },
                  "utc": {
                    "type": "string"
                  }
                },
                "required": [
                  "local",
                  "utc"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "timezone": {
              "type": "string"
            }
          },
          "required": [
            "expr",
            "timezone",
            "from",
            "count",
            "occurrences"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON