Your cron job ran.
We have proof.

One curl at the end of your script. Zero config. We detect anomalies in your JSON payloads automatically.

# At the end of your script, just add:
curl -X POST https://ping.crontiq.io/p/$API_KEY/update_db \
  -H "Content-Type: application/json" \
  -d '{"rows": 14209, "duration_ms": 842}'

Cron jobs are black boxes

You schedule them and hope for the best. Until something breaks and nobody notices.

Silent failures
Your backup script crashed 3 days ago. You find out when you need the backup.

Successful but wrong
Job exits 0 but only processed 12 rows instead of 14,000. Exit codes don't tell the whole story.

No drift detection
Your ETL took 2 minutes last week. Now it takes 45. Nobody noticed the slow degradation.

Most monitoring tools tell you "it ran".
Crontiq tells you "it ran, here's what it did, and it looks normal."

Send any JSON. We'll figure it out.

Post your job's output as JSON. Crontiq auto-extracts every numeric value, tracks it over time, and detects anomalies. Zero configuration.

// Your script sends this:
curl -X POST .../p/$KEY/etl_sirene \
  -d '{
    "rows_inserted": 14209,
    "rows_updated": 38,
    "duration_ms": 842,
    "db": {
      "connections": 5,
      "pool_size": 20
    }
  }'
Auto-extracted metrics
rows_inserted 14,209
rows_updated 38
duration_ms 842
db.connections 5
db.pool_size 20

Nested JSON? Flattened automatically: db.connections, db.pool_size. No schema. No config. Just send it.

Anomalies found. Automatically.

Crontiq computes a moving average and standard deviation on every metric. When a value deviates beyond 2σ, you get an alert. No thresholds to configure.

+2σ -2σ avg ANOMALY

Your rows_inserted usually hovers around 14,000. Today it dropped to 12. That's a problem — and Crontiq caught it before you did.

Live badges for your README

Show your job's health status anywhere. Dynamic SVG badges with live metric data, cached and fast.

README.md — Live from our dogfood monitors
![health-greencalc](https://crontiq.io/badge/cq_chk_de7a6713382fecef.svg)
Get your badges — free

Custom labels and metric display: ?metric=rows&label=SIRENE+ETL

Free. No tricks.

Crontiq is the free front door to the AZMORIS ecosystem. Monitor your cron jobs without ever paying a cent.

Free forever
$0
  • Up to 20 monitors
  • Unlimited pings
  • Auto JSON metric extraction
  • Anomaly detection (avg + 2σ)
  • Email alerts (max 1/hour per monitor)
  • Public status badges (SVG)
  • Public status pages
  • 90-day data retention
  • API access (REST)
Create free account

No credit card. No trial period. Just monitoring.

How Crontiq compares

Other tools tell you if the job ran. Crontiq tells you if the result was normal.

Feature Crontiq Healthchecks.io Cronitor Better Stack
Ping monitoring
Auto JSON metric extraction
Zero-config anomaly detection Manual thresholds
Nested JSON flattening
Live SVG badges
Public status pages
Free tier monitors 20 20 5 1
Unlimited pings (free) Limited Limited

Frequently Asked Questions

How does Crontiq detect anomalies without configuration?

Crontiq computes a moving average and standard deviation over the last 10 values of each metric. When a new value deviates by more than 2 standard deviations, it's flagged as an anomaly and you receive an email alert. No thresholds to set, no rules to write.

What happens if my cron job doesn't ping Crontiq?

If a ping doesn't arrive within your configured period plus grace time, Crontiq marks the monitor as DOWN and sends you an email alert. Default grace period is 5 minutes.

Is Crontiq really free?

Yes. The free tier includes 20 monitors, unlimited pings, automatic JSON metric extraction, anomaly detection, email alerts, and public badges. No credit card required, no trial period.

How do I add Crontiq to my cron job?

Add one line at the end of your script: curl https://ping.crontiq.io/p/YOUR_API_KEY/my-job. The monitor is created automatically on the first ping. To track metrics, send JSON: curl -d '{"rows": 1542}' https://ping.crontiq.io/p/YOUR_API_KEY/my-job

Can I monitor non-cron jobs?

Yes. Crontiq works with anything that can send an HTTP request: cron jobs, GitHub Actions, CI/CD pipelines, Kubernetes CronJobs, systemd timers, Windows Task Scheduler, or any background process.

How does the JSON auto-extraction work?

Send any JSON in a POST body. Crontiq automatically flattens nested objects ({"db": {"rows": 100}} becomes db.rows = 100), detects all numeric values, and tracks each one as a separate metric with its own sparkline graph.

What is a public status badge?

A dynamic SVG image you can embed in your GitHub README. It shows your monitor's status and optionally a live metric value, like "backup-sirene | 16.8M rows | healthy". It updates automatically and links to a public status page.

Part of the AZMORIS ecosystem

Crontiq is one piece of a connected suite of developer tools, all built by AZMORIS.