✓tick.pro

Developer API & CLI

Every tool on this site is also a command-line and JSON endpoint. No API key, no account — just a GET request. There is no rate limit, so please keep request volume reasonable.

All time values are UTC. Cron expressions are evaluated in UTC, the same way Kubernetes, GitHub Actions, and Quartz evaluate them.

Quick start

Plain text (for humans)
curl https://tick.pro/cron?expr=*/5%20*%20*%20*%20*
JSON (for scripts)
curl "https://tick.pro/cron?expr=*/5%20*%20*%20*%20*&format=json"
curl -H "Accept: application/json" https://tick.pro/now

One URL, three formats

The same endpoint serves all three, so you never have to pick a different host for a script:

RequestResponseContent-Type
Browser (default)Interactive HTML pagetext/html
curl, wget, httpieAligned plain texttext/plain
?format=jsonJSONapplication/json
Accept: application/jsonJSONapplication/json

Response shape

Every JSON response carries a tool field naming the endpoint, so a client can tell what it got. Errors return HTTP 400 with a JSON body too — never an empty response.

{
  "tool": "cron",
  "expression": "*/5 * * * *",
  "human": "At every 5 minutes",
  "nextRuns": [
    {
      "utc": "2026-09-28 14:10:00 UTC",
      "iso": "2026-09-28T14:10:00.000Z",
      "epoch": 1790604600,
      "relative": "in 2m"
    }
  ]
}

What "data" contains

Tool endpoints return their computed result under a data key: the parsed cron expression with its next runs, the current time in every supported zone with DST state, the reference tables behind the format pages, and so on. The same values are what the browser draws, so a script and a person always see the same answer.

A few pages have nothing to compute and return "data": null rather than an empty object: the category hubs, the crontab linter (which needs a POST body), and the Pomodoro timer (which runs in the browser). That is deliberate — a null is a truthful "no structured data for this route", so a client can branch on it instead of parsing an empty result.

All endpoints

71 endpoints. Every one of them accepts format=json.

EndpointParametersExample
/
tick.pro — Developer Time & Scheduling Toolkit
none
curl "https://tick.pro/?format=json"
/time
Time & Epoch Toolkit — Unix Timestamps, Converters
none
curl "https://tick.pro/time?format=json"
/cron
Cron & Schedule Intelligence — Expression Builder, Parser
expr* = */5 * * * *
curl "https://tick.pro/cron?expr=*%2F5%20*%20*%20*%20*&format=json"
/timezone
Timezone Converter & World Clocks — UTC, EST, PST, IST
none
curl "https://tick.pro/timezone?format=json"
/formats
Date Formats & Standards — ISO 8601, RFC 3339, SQL
none
curl "https://tick.pro/formats?format=json"
/calculators
Time & Date Calculators — Duration, Business Days, Age
none
curl "https://tick.pro/calculators?format=json"
/time/unix-timestamp
Current Unix Timestamp — Live Epoch Seconds & Milliseconds
none
curl "https://tick.pro/time/unix-timestamp?format=json"
/time/epoch-converter
Epoch Converter — Convert Unix Timestamps to Human Dates
epoch = 1700000000
curl "https://tick.pro/time/epoch-converter?epoch=1700000000&format=json"
/time/timestamp-converter
Multi-Format Timestamp Converter — ISO, RFC, SQL
none
curl "https://tick.pro/time/timestamp-converter?format=json"
/time/date-difference
Date Difference Calculator — Precise Duration Between Dates
from = 2024-01-01
to = 2024-12-31
curl "https://tick.pro/time/date-difference?from=2024-01-01&to=2024-12-31&format=json"
/time/seconds-to-hours
Seconds to Hours Converter — Time Unit Calculator
seconds = 3600
curl "https://tick.pro/time/seconds-to-hours?seconds=3600&format=json"
/time/milliseconds-converter
Milliseconds Converter — Human Readable Time
ms = 3600000
curl "https://tick.pro/time/milliseconds-converter?ms=3600000&format=json"
/time/start-of-day
Start of Day/Week/Month Timestamps — Boundary Calculator
date = 2024-06-15
curl "https://tick.pro/time/start-of-day?date=2024-06-15&format=json"
/time/utc-now
UTC Now — Real-Time Atomic UTC Clock
none
curl "https://tick.pro/time/utc-now?format=json"
/time/iso-week-date
ISO Week Date Converter — 2024-W03-4 ↔ Calendar Date
date = 2024-W03-4
curl "https://tick.pro/time/iso-week-date?date=2024-W03-4&format=json"
/time/relative
Relative Time Calculator — "3 Days Ago" to a Date
value = 3 days ago
date = 2027-01-01
from = 2026-10-14T00:00:00Z
curl "https://tick.pro/time/relative?value=3%20days%20ago&date=2027-01-01&from=2026-10-14T00%3A00%3A00Z&format=json"
/cron/generator
Cron Expression Generator — Visual Schedule Builder
expr = 0 9 * * 1-5
curl "https://tick.pro/cron/generator?expr=0%209%20*%20*%201-5&format=json"
/cron/parser
Cron Expression Parser — Field-by-Field Breakdown
expr = */15 * * * *
curl "https://tick.pro/cron/parser?expr=*%2F15%20*%20*%20*%20*&format=json"
/cron/humanizer
Cron Humanizer — Convert Cron to Plain English
expr = 0 9 * * 1-5
curl "https://tick.pro/cron/humanizer?expr=0%209%20*%20*%201-5&format=json"
/cron/natural-to-cron
Natural Language to Cron — English to Cron Converter
q = every weekday at 9am
curl "https://tick.pro/cron/natural-to-cron?q=every%20weekday%20at%209am&format=json"
/cron/next-runs
Cron Next Runs — Execution Countdown Calculator
expr = 0 */2 * * *
n = 10 (1-25, default 5)
curl "https://tick.pro/cron/next-runs?expr=0%20*%2F2%20*%20*%20*&n=10&format=json"
/cron/compare
Cron Schedule Collision Detector — Compare Schedules
expr1 = 0 * * * *
expr2 = */30 * * * *
curl "https://tick.pro/cron/compare?expr1=0%20*%20*%20*%20*&expr2=*%2F30%20*%20*%20*%20*&format=json"
/cron/crontab-linter
Crontab Linter — Validate & Explain a Whole Crontab
none
curl "https://tick.pro/cron/crontab-linter?format=json"
/cron/every-minute
Cron Every Minute — * * * * *
none
curl "https://tick.pro/cron/every-minute?format=json"
/cron/every-5-minutes
Cron Every 5 Minutes — */5 * * * *
none
curl "https://tick.pro/cron/every-5-minutes?format=json"
/cron/every-10-minutes
Cron Every 10 Minutes — */10 * * * *
none
curl "https://tick.pro/cron/every-10-minutes?format=json"
/cron/every-15-minutes
Cron Every 15 Minutes — */15 * * * *
none
curl "https://tick.pro/cron/every-15-minutes?format=json"
/cron/every-30-minutes
Cron Every 30 Minutes — */30 * * * *
none
curl "https://tick.pro/cron/every-30-minutes?format=json"
/cron/every-hour
Cron Every Hour — 0 * * * *
none
curl "https://tick.pro/cron/every-hour?format=json"
/cron/every-2-hours
Cron Every 2 Hours — 0 */2 * * *
none
curl "https://tick.pro/cron/every-2-hours?format=json"
/cron/every-6-hours
Cron Every 6 Hours — 0 */6 * * *
none
curl "https://tick.pro/cron/every-6-hours?format=json"
/cron/every-12-hours
Cron Every 12 Hours — 0 */12 * * *
none
curl "https://tick.pro/cron/every-12-hours?format=json"
/cron/every-day-at-midnight
Cron Daily at Midnight — 0 0 * * *
none
curl "https://tick.pro/cron/every-day-at-midnight?format=json"
/cron/every-day-at-noon
Cron Daily at Noon — 0 12 * * *
none
curl "https://tick.pro/cron/every-day-at-noon?format=json"
/cron/every-weekday-at-9am
Cron Weekdays at 9AM — 0 9 * * 1-5
none
curl "https://tick.pro/cron/every-weekday-at-9am?format=json"
/cron/every-weekend
Cron Every Weekend — 0 0 * * 6,0
none
curl "https://tick.pro/cron/every-weekend?format=json"
/cron/every-sunday
Cron Every Sunday — 0 0 * * 0
none
curl "https://tick.pro/cron/every-sunday?format=json"
/cron/first-day-of-month
Cron First Day of Month — 0 0 1 * *
none
curl "https://tick.pro/cron/first-day-of-month?format=json"
/cron/github-actions
GitHub Actions Cron Schedule — Workflow Validator
expr = 0 9 * * 1-5
curl "https://tick.pro/cron/github-actions?expr=0%209%20*%20*%201-5&format=json"
/cron/kubernetes
Kubernetes CronJob Manifest Generator — YAML Builder
expr = 0 */6 * * *
name = my-job
curl "https://tick.pro/cron/kubernetes?expr=0%20*%2F6%20*%20*%20*&name=my-job&format=json"
/cron/systemd
Cron to systemd Timer — .timer Unit File Generator
expr = 0 */6 * * *
name = cleanup
curl "https://tick.pro/cron/systemd?expr=0%20*%2F6%20*%20*%20*&name=cleanup&format=json"
/timezone/converter
Timezone Converter — Interactive Multi-Timezone Planner
none
curl "https://tick.pro/timezone/converter?format=json"
/timezone/utc-converter
UTC Converter — UTC to Local Timezone Matrix
none
curl "https://tick.pro/timezone/utc-converter?format=json"
/timezone/world-clock
World Clock — Multi-City Developer World Clock
none
curl "https://tick.pro/timezone/world-clock?format=json"
/timezone/est-to-utc
EST to UTC Converter — Eastern Time to UTC
none
curl "https://tick.pro/timezone/est-to-utc?format=json"
/timezone/pst-to-utc
PST to UTC Converter — Pacific Time to UTC
none
curl "https://tick.pro/timezone/pst-to-utc?format=json"
/timezone/gmt-to-utc
GMT to UTC Converter — Greenwich Mean Time Offset
none
curl "https://tick.pro/timezone/gmt-to-utc?format=json"
/timezone/ist-to-utc
IST to UTC Converter — Indian Standard Time
none
curl "https://tick.pro/timezone/ist-to-utc?format=json"
/timezone/dst-transitions
DST Transition Calendar — Daylight Saving Time Changes
tz = America/New_York
year = 2025
curl "https://tick.pro/timezone/dst-transitions?tz=America%2FNew_York&year=2025&format=json"
/timezone/abbreviation
Timezone Abbreviation Resolver — CST, EST, PST Explained
abbr = CST
curl "https://tick.pro/timezone/abbreviation?abbr=CST&format=json"
/formats/iso-8601
ISO 8601 Date Format — Specification & Validator
none
curl "https://tick.pro/formats/iso-8601?format=json"
/formats/rfc-3339
RFC 3339 Internet Timestamp — Standard & Examples
none
curl "https://tick.pro/formats/rfc-3339?format=json"
/formats/sql-datetime
SQL DateTime Format — MySQL, PostgreSQL, SQLite
none
curl "https://tick.pro/formats/sql-datetime?format=json"
/formats/unix-hex
Unix Hex Timestamp — Hexadecimal Decoder
hex = 0x6563a8b0
curl "https://tick.pro/formats/unix-hex?hex=0x6563a8b0&format=json"
/formats/cheat-sheet
Date Formatting Cheat Sheet — strftime, ISO, Moment.js
none
curl "https://tick.pro/formats/cheat-sheet?format=json"
/formats/json-date
JSON Date Handling — API Serialization Guide
none
curl "https://tick.pro/formats/json-date?format=json"
/formats/date-detector
Date Format Detector — Auto-Detect Date Strings
input = 1700000000
curl "https://tick.pro/formats/date-detector?input=1700000000&format=json"
/formats/iso-duration
ISO 8601 Duration & Interval Parser — P1DT2H30M
input = P1DT2H30M
curl "https://tick.pro/formats/iso-duration?input=P1DT2H30M&format=json"
/formats/epoch-in-languages
Unix Timestamp in Any Language — Bash, Python, Go
none
curl "https://tick.pro/formats/epoch-in-languages?format=json"
/jwt
JWT Timestamp Decoder — exp / iat / nbf to Human Dates
token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwibmFtZSI6ImRlbW8iLCJleHAiOjIwMDAwMDAwMDAsImlhdCI6MTc2MDAwMDAwMH0.W5K4jR6ZzVQqYB9mXoPvN8sT2wE3uI7yH0aS9dF1gH2
curl "https://tick.pro/jwt?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIiwibmFtZSI6ImRlbW8iLCJleHAiOjIwMDAwMDAwMDAsImlhdCI6MTc2MDAwMDAwMH0.W5K4jR6ZzVQqYB9mXoPvN8sT2wE3uI7yH0aS9dF1gH2&format=json"
/calculators/duration
Time Duration Calculator — Between Two Timestamps
from = 2024-01-01
to = 2024-12-31
curl "https://tick.pro/calculators/duration?from=2024-01-01&to=2024-12-31&format=json"
/calculators/days-between
Days Between Dates — Calendar & Working Days
from = 2024-01-01
to = 2024-12-31
curl "https://tick.pro/calculators/days-between?from=2024-01-01&to=2024-12-31&format=json"
/calculators/add-time
Add or Subtract Time from a Date
date = 2024-01-15
days = 30
hours = 2
minutes = 0
seconds = 0
curl "https://tick.pro/calculators/add-time?date=2024-01-15&days=30&hours=2&minutes=0&seconds=0&format=json"
/calculators/business-days
Business Days Calculator — Workday Counter
from = 2024-01-01
to = 2024-12-31
curl "https://tick.pro/calculators/business-days?from=2024-01-01&to=2024-12-31&format=json"
/calculators/age-calculator
Age Calculator — Exact Age in Years, Days, Hours
birth = 1990-06-15
curl "https://tick.pro/calculators/age-calculator?birth=1990-06-15&format=json"
/calculators/pomodoro
Pomodoro Timer — Developer Focus Timer
none
curl "https://tick.pro/calculators/pomodoro?format=json"
/until
Countdown Timer — Live Countdown to Any Date
date = 2027-01-01 (a preset name also works: new-year, christmas, halloween, unix-2-billion)
curl "https://tick.pro/until?date=2027-01-01&format=json"
/until/new-year
New Year Countdown — How Many Days Until New Year
none
curl "https://tick.pro/until/new-year?format=json"
/until/christmas
Christmas Countdown — How Many Days Until Christmas
none
curl "https://tick.pro/until/christmas?format=json"
/until/halloween
Halloween Countdown — How Many Days Until Halloween
none
curl "https://tick.pro/until/halloween?format=json"
/until/unix-2-billion
Unix Timestamp 2 Billion Countdown — Epoch 2000000000
none
curl "https://tick.pro/until/unix-2-billion?format=json"

Notes

  • URL-encode cron expressions. Spaces must be %20 or +, otherwise the shell splits them. Quote the whole URL.
  • Everything is UTC. There is no timezone parameter, because a cron schedule in this API means a UTC schedule — the same contract Kubernetes, GitHub Actions, and Quartz use.
  • No key, no limit. Requests are anonymous and uncached. If you build something on top of this, please be reasonable about volume.
  • This catalogue is generated. It is built from the same route table the site serves, so it cannot drift out of date.

Frequently Asked Questions

Does the tick.pro API need a key?

No. There is no API key and no account. Every endpoint is a plain GET request that works from curl, a script, or a browser. There is no rate limit, so please keep request volume reasonable.

How do I get JSON instead of text?

Add ?format=json to any endpoint URL, or send an Accept: application/json header. The same URL returns HTML to a browser, plain text to curl, and JSON when asked.

Which endpoints carry structured data?

Every tool endpoint returns its computed result under a data key — the parsed cron expression with its next runs, the current time in every supported zone with its DST state, and the reference tables behind the format pages. Category hubs, the crontab linter, and the Pomodoro timer return "data": null because there is nothing for a GET to compute there.

Are timestamps in the API UTC?

Yes. Every time value is UTC, and cron expressions are evaluated in UTC exactly as Kubernetes, GitHub Actions, and Quartz do.