If your Freshping dashboard stopped loading, your status page 404s, or the alerts just quietly stopped: Freshping was permanently retired by Freshworks on March 6, 2026. Monitoring stopped that day for free accounts, the data-export window closed roughly 90 days later, and freshping.io now just redirects to freshworks.com (we checked while writing this β September 2026). There is no Freshworks replacement product; their FAQ said "supporting Freshping is no longer part of our go forward plan" and recommended finding an alternative.
This page is two things: a quick, honest map of where ex-Freshping users can go β and a 60-second way to get the core loop back (URL checked from the edge β webhook when it goes down β webhook when it recovers β public status page + README badge) with one curl and no account, free.
| Date | Event |
|---|---|
| 2018 | Freshworks acquires Insping, relaunches it as Freshping β pitched as free forever |
| Mid-2023 | New signups and plan upgrades quietly suspended, citing a product revamp (which never shipped) |
| January 5, 2026 | Freshworks emails users: Freshping will be discontinued |
| March 6, 2026 | Free accounts disabled, monitoring stops; paid accounts run out their billing period |
| ~June 4, 2026 | All data permanently deleted (~90 days after shutdown) |
The context: after a 2024 leadership change, Freshworks consolidated around Freshdesk and Freshservice, and a free monitoring tool with no revenue didn't survive the portfolio cleanup. If you're reading this after June 2026, your monitor configs and uptime history are unrecoverable β the rebuild below starts from the URL list in your head (or your old alert emails).
Freshping's free tier was reported at 50 monitors, 1-minute check intervals, 5 status pages with custom domains, and 10 global probe locations, plus ping/TCP/WebSocket-style check types. That combination doesn't exist for free anywhere today β including here. Part of why it doesn't exist is the lesson of this page: it cost real money to run and made none, and when priorities changed it vanished along with everyone's data. Calibrate accordingly: whatever you migrate to, prefer things that are either paid and sustainable, self-hosted and yours, or so simple that leaving takes a minute.
The replacement below is in the third category. It is deliberately small: HTTP GET checks every 30 minutes, webhook-only alerts, a minimal public status page. What it has that a dashboard product doesn't: no account, no migration, no lock-in β a monitor is one curl to create, one to inspect, one to delete.
curl -X POST https://mockbird.mockbird.workers.dev/api/status/monitor \
-H 'content-type: application/json' \
-d '{"url":"https://api.example.com/health","notify":"https://hooks.slack.com/services/T000/B000/XXXX"}'
We GET your URL every 30 minutes from Cloudflare's network (8s timeout, redirects followed, 2xx/3xx = up). The response contains everything β your URL is probed immediately, and a confirmation delivery hits your webhook so you know the channel works before you rely on it:
{
"id": "mon-XXXX",
"secret": "β¦",
"current": { "ok": true, "http_status": 200, "ms": 58 },
"checked_every_minutes": 30,
"status_page": "https://mockbird.mockbird.workers.dev/status/mon-XXXX",
"badge_svg": "https://mockbird.mockbird.workers.dev/status/mon-XXXX/badge.svg",
"feed_atom": "https://mockbird.mockbird.workers.dev/status/mon-XXXX/feed.xml"
}
notify takes a Slack webhook, a Discord webhook, or any HTTPS endpoint β format sniffed from the host; everything that isn't Slack/Discord gets JSON signed with your monitor's secret (x-mockbird-signature: sha256=hex(hmac-sha256(secret, body)), verify it like a Stripe webhook). Alerting is deliberately quiet: one POST on down, one on recovery, debounced β two consecutive checks must agree, so a single blip never pages you.
Freshping's public status pages were a headline feature. Every monitor here gets a smaller version automatically: a public page at an unguessable URL showing the hostname, live state, 24h/7d OK-rate and recent down/recovered events β plus an embeddable SVG badge and an Atom feed of incidents. Drop the badge in a README:
[](https://mockbird.mockbird.workers.dev/status/mon-XXXX)
Honest gaps vs Freshping's pages: no custom domains, no multi-monitor roll-up page, no incident posts, hostname-only display. It's a live health page you can link, not a branded status site.
The inverse monitor β your job pings us, and the alert fires when the pings stop (dead man's switch):
curl -X POST https://mockbird.mockbird.workers.dev/api/status/heartbeat \
-H 'content-type: application/json' \
-d '{"name":"nightly backup","period_minutes":1440,"notify":"https://hooks.slack.com/services/T000/B000/XXXX"}'
The response includes a secret ping URL; append && curl -fsS -m 10 <ping_url> to the cron job so it only checks in on success. Miss the period + grace β one service.down; resume β one service.up. Crontab/systemd/GitHub Actions recipes: cron-job monitoring with one curl.
| Freshping concept | Here |
|---|---|
| Check (HTTP/HTTPS monitor) | POST /api/status/monitor {"url": β¦, "notify": β¦} β no account; response includes the first check result |
| Alert integrations (email, Slack, Twilioβ¦) | notify webhook β Slack/Discord payloads auto-detected, anything else HMAC-signed JSON. No email/SMS β honest gap |
| Public status page (5 free, custom domains) | /status/mon-XXXX β auto-created per monitor, unguessable URL, hostname-only, no custom domain |
| Badge | /status/mon-XXXX/badge.svg β README-embeddable SVG |
| Reports / uptime history | GET /api/status/monitor/:id?secret=β¦ β 24h/7d OK-rate + recent checks as JSON; Atom feed of incidents |
| 1-min checks, 10 global locations | 30-min checks from Cloudflare's edge β honest gap, stated plainly |
| Ping / TCP / UDP / WebSocket / DNS checks | HTTP(S) GET only β honest gap |
| (no equivalent) | Cron heartbeats (Β§5) and a free tracker of 50+ public dev APIs you can subscribe a webhook to |
| Free tier | Pick it when | |
|---|---|---|
| UptimeRobot | 50 monitors at 5-min checks (their pricing pitches Free at personal projects); Slack alerts paid, webhooks on Team plan | You want the closest free monitor count to Freshping's 50 and a real dashboard β our UptimeRobot page. |
| Uptime Kuma | Free & open source, unlimited monitors, 20s intervals, 90+ notifiers β self-hosted (needs a server outside the stack you're watching) | You never want a hosted free tier to die on you again β you run it, you own it. Our Uptime Kuma page. |
| Better Stack / StatusCake / HetrixTools | Hosted free tiers in the ~10β15 monitor range with faster checks than ours; details shift, check their pricing pages | You want a commercial dashboard product where monitoring is the core business, not a side project. |
| Mockbird monitor | 3 live monitors/IP (deleting frees the slot), 30 total, 30-min checks; heartbeats 5 live/IP; webhook+Slack+Discord alerts, status page/badge/feed β no account | You want the alert re-armed this minute from the terminal, a CI step, a script or an agent β and leaving later should cost one curl. |
Fact-check note: Freshping numbers above are as widely reported at shutdown (its own pricing page no longer exists to cite); competitor numbers move β verify against their pricing pages before deciding.
# info + 24h ok-rate + recent checks Β· then stop
curl "https://mockbird.mockbird.workers.dev/api/status/monitor/mon-XXXX?secret=YOUR_SECRET"
curl -X DELETE "https://mockbird.mockbird.workers.dev/api/status/monitor/mon-XXXX?secret=YOUR_SECRET"
Both endpoints self-document on a bare GET (GET /api/status/monitor, GET /api/status/heartbeat). Full feature walkthrough: the uptime monitor API guide.