Developer Utilities
Tier 3 Ready
POST /v1/cron-explainer
Validate cron expressions, translate to plain English, and compute next N runs with DST. Validate standard 5-field, 6-field (seconds), AWS/Quartz, and @macros cron expressions, translate them to plain English, and compute next N runs with DST.
POST /v1/cron-explainer){
"ok": true,
"data": {
"valid": true,
"normalized_expression": "0 9 * * 1-5",
"format": "5-field",
"timezone": "Europe/Budapest",
"explanation": "At 09:00, Monday through Friday (Europe/Budapest)",
"fields": {
"seconds": "0",
"minutes": "0",
"hours": "9",
"day_of_month": "*",
"month": "*",
"day_of_week": "1-5"
},
"next_runs": [
{
"iso_utc": "2026-11-16T08:00:00.000Z",
"local_time": "2026-11-16T09:00:00+01:00",
"epoch_ms": 1794816000000,
"utc_offset": "+01:00"
},
{
"iso_utc": "2026-11-17T08:00:00.000Z",
"local_time": "2026-11-17T09:00:00+01:00",
"epoch_ms": 1794902400000,
"utc_offset": "+01:00"
},
{
"iso_utc": "2026-11-18T08:00:00.000Z",
"local_time": "2026-11-18T09:00:00+01:00",
"epoch_ms": 1794988800000,
"utc_offset": "+01:00"
},
{
"iso_utc": "2026-11-19T08:00:00.000Z",
"local_time": "2026-11-19T09:00:00+01:00",
"epoch_ms": 1795075200000,
"utc_offset": "+01:00"
},
{
"iso_utc": "2026-11-20T08:00:00.000Z",
"local_time": "2026-11-20T09:00:00+01:00",
"epoch_ms": 1795161600000,
"utc_offset": "+01:00"
}
],
"warnings": [],
"errors": []
},
"meta": {
"request_id": "req_cron_01",
"ms": 2
}
}
curl -X POST "https://api.tinplate.dev/v1/cron-explainer" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-d '{"expression":"0 9 * * 1-5","timezone":"Europe/Budapest","next_runs":3,"reference_time":"2026-11-14T08:00:00Z"}'import { TinplateClient } from "@tinplate/sdk"; // npm install @tinplate/sdk
const tinplate = new TinplateClient({
rapidApiKey: process.env.RAPIDAPI_KEY!,
});
const { data, meta } = await tinplate.call("/v1/cron-explainer", {
"expression": "0 9 * * 1-5",
"timezone": "Europe/Budapest",
"next_runs": 3,
"reference_time": "2026-11-14T08:00:00Z"
});
console.log(`[${meta.ms} ms]`, data);import requests
response = requests.post(
"https://api.tinplate.dev/v1/cron-explainer",
headers={
"Content-Type": "application/json",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
},
json={
"expression": "0 9 * * 1-5",
"timezone": "Europe/Budapest",
"next_runs": 3,
"reference_time": "2026-11-14T08:00:00Z"
}
)
print(response.json())const response = await fetch("https://api.tinplate.dev/v1/cron-explainer", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
},
body: JSON.stringify({
"expression": "0 9 * * 1-5",
"timezone": "Europe/Budapest",
"next_runs": 3,
"reference_time": "2026-11-14T08:00:00Z"
}),
});
const result = await response.json();
console.log(result);{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tinplate_cron_explainer",
"arguments": {
"expression": "0 9 * * 1-5",
"timezone": "Europe/Budapest",
"next_runs": 3,
"reference_time": "2026-11-14T08:00:00Z"
}
}
}POST /v1/cron-explainer)| Parameter | Type & Constraints | Description |
|---|---|---|
expressionrequired |
stringminLen: 1, maxLen: 256 |
5-field UNIX cron, 6-field cron (with leading seconds), or macro (@hourly, @daily, @weekly, @monthly, @yearly, @reboot). Supports L, W, and #. |
timezoneoptional |
stringminLen: 1, maxLen: 64, default: "UTC" |
IANA timezone name (e.g. 'UTC', 'Europe/Budapest', 'America/New_York'). |
countoptional |
integermin: 1, max: 50, default: 5 |
Number of upcoming execution times to compute (1 to 50). |
from_timeoptional |
string |
Optional ISO-8601 starting timestamp (defaults to current UTC time). |
data Object Fields (200 OK)| Field | Type | Description |
|---|---|---|
valid |
boolean |
Field 'valid' |
normalized_expression |
string | null |
Field 'normalized_expression' |
format |
"5-field" | "6-field" | "macro" | "reboot" | "invalid" |
Field 'format' |
timezone |
string |
Field 'timezone' |
explanation |
string | null |
Field 'explanation' |
fields |
object | null |
Field 'fields' |
next_runs |
object[] |
Field 'next_runs' |
warnings |
string[] |
Field 'warnings' |
errors |
string[] |
Field 'errors' |
Release Version: v1.0.7 ·
Last Verified / Benchmarked: 14 November 2026 ·
Latency Note: Sub-millisecond figures measure in-Worker V8 compute time (typical client HTTPS network RTT to the nearest Cloudflare PoP is 15–65 ms) ·
See Full Portfolio Benchmarks & Corpora →
| Plan | Monthly Price | Included Requests | Rate Limit | Max Request Payload | Best For |
|---|---|---|---|---|---|
| BASIC | $0.00 / month | 500 / month (hard limit) | 10 req / min | 64 KB | Evaluation, local development & CI smoke tests |
| PRO | $9.99 / month | 15,000 / month | 60 req / min | 128 KB | Solo developers & production apps |
| ULTRA | $29.99 / month | 100,000 / month | 300 req / min | 256 KB | Growing SaaS & multi-agent pipelines |
| MEGA | $79.99 / month | 500,000 / month | 1,000 req / min | 256 KB | High-volume enterprise workloads |
Yes! In standard POSIX cron, specifying both day-of-month and day-of-week uses OR logic rather than AND. The API explicitly warns when both are restricted.
Yes, pass any IANA timezone name (e.g. Europe/Budapest) and it calculates exact local offsets and flags spring-forward/fall-back DST jumps.
Yes, both standard macros and 6-field second-precision cron strings are supported.
Pure deterministic calculation in V8 memory.
Worker Zero-Logging Guarantee: Cloudflare Workers Observability and invocation logging are disabled in configuration
(observability.enabled = false, head_sampling_rate = 0, invocation_logs = false). Payloads are processed strictly in volatile V8 memory and never logged or stored by Tinplate.
Marketplace Proxies vs. Direct Bearer Key: Requests sent via RapidAPI or Zyla API Hub pass through those marketplaces' proxy infrastructure (subject to their respective privacy policies). Security-sensitive workloads requiring end-to-end zero-intermediary processing can connect directly to https://api.tinplate.dev using a Direct Bearer Key (Authorization: Bearer <API_KEY>).
Read our full Privacy Notice and OpenAPI 3.0.3 JSON Schema.
POST /v1/ics-sanitizer
Developer Utilities
Repair broken .ics calendar feeds, normalize Windows timezones to IANA, and parse VEVENTs.
POST /v1/workday-holiday/between
Compliance & Business
Calculate business days and SLA deadlines across 30+ countries including HU swap Saturdays.
POST /v1/locale-value-parser
AI Data Prep
Normalize messy EU/US prices, dates, percentages, and measurements into structured JSON.