Uptime monitoring that tells you where it hurts.
Checks from six real vantage points, with timing broken out per region: DNS, connect, TLS, first byte. Free forever, personal and commercial. No card.
- No card, no trial timer, no sales call
- 100 monitors, 15-second checks
- HTTP, TCP, ping, DNS, TLS, heartbeats
- p50 / p95 / p99, IPv4 and IPv6
- REST API, scoped tokens, pulsectl CLI
- Open-source probe, Prometheus metrics
Six regions, measured from your browser right now.
Our own machines on a mix of networks, not just one cloud. The number on each card is a live round trip from your connection to that node, sampled as this page loaded.
Every endpoint is published: hostname, IPv4, IPv6. See the full node list and run a traceroute from any of them.
The diagnostics you'd run by hand, on the nodes that run your checks.
A public looking glass on every Pulse location, percentile latency per region, and an open-source probe you can read.
Looking glass
Run a real ping, MTR, dig or HTTP trace from any Pulse location and see loss, jitter, every hop, the DNS answer and the full request timeline.
Open the looking glass →Percentiles, not averages
p50, p95 and p99 with jitter, per region, computed over pooled samples. Where data is missing the chart shows a gap rather than an interpolated line.
Read the probe
The probe that ships every check is one small Go binary, outbound only. Run it inside your network, or read exactly how a check is timed and posted.
Read it on GitHub →Define your monitors in a YAML file.
Version-controlled, reviewed and applied from CI, like the rest of your infrastructure. The file is yours: keep it in the repo next to the thing it watches. Prefer clicking? The panel does the same job.
$ pulsectl apply pulse.yaml- Idempotent apply by name, so re-running a file never duplicates a monitor
- Same YAML drives HTTP, TCP, ping, DNS, TLS and heartbeat checks
- Everything in the UI exists in the API first
- Plain REST underneath: curl, CI, or a Terraform provisioner drives it, and upserts are by name, so re-runs never duplicate
Or skip the YAML and hit the API directly:
$ curl -X POST https://api.pulse.corehost.io/v1/monitors \ -H "Authorization: Bearer $PULSE_TOKEN" \ -d '{"name":"api","type":"http", "url":"https://api.example.com/ping", "regions":["ams","ash","sin"]}'
Monitor your internal network. Free.
NAS, switches, printers, internal APIs: run a probe inside your LAN and Pulse watches the network the internet cannot see. The probe only ever connects outward; Pulse never needs a way in.
Your LAN, first class
Ping the gateway, watch a switch port, a NAS share, an internal API, a certificate on a management UI. Same checks, alerts, percentiles and history as any public monitor.
Outbound only, by design
The open-source probe calls out to Pulse over HTTPS and nothing connects back in. No VPN, no tunnel, no inbound ports, and Pulse's shared probes refuse private addresses, so only your probe ever touches your internal targets.
A dead probe never lies
Every probe carries an offline alert: if it stops checking in, Pulse pages you through your normal channels, and the panel shows its monitors as stale instead of a confident green.
One command installs the probe on Linux or Windows, and private probes are unlimited on the free plan. Read the internal monitoring guide.
One free plan. This is all of it.
No feature matrix, no paid tier holding pieces back. Everything below is live on the free plan today.
Checks and coverage
HTTP and HTTPS
Status codes plus content assertions: a keyword, a regex or a JSON path in the body.
TCP
Any host, any port. Connect time measured from every region you pick.
ICMP ping
Loss, rtt and jitter per region, with an alert threshold on packet loss.
DNS
Query any record type and assert the answer you expect back.
TLS certificates
Expiry countdown, chain validation and weak-cipher warnings on the same handshake.
Heartbeats
Cron jobs check in on schedule. Silence past the grace window raises an alert.
Six vantage points
Real machines in cities worldwide, and you pick the regions each check runs from.
IPv4 and IPv6
Pin a family or check both each interval, with a per-family split in the results.
Timing breakdown
DNS, connect, TLS and first byte, broken out per region on every check.
Percentiles and jitter
p50, p95 and p99 over pooled samples, not just an average.
Degraded before down
Latency thresholds raise a distinct degraded alert while the site is still up.
Alerting
17 channel types
Email, webhook, Slack, Discord, Teams, Telegram, PagerDuty, Opsgenie, ntfy, Gotify, Pushover and more, including browser and mobile push.
Confirmed before it pages
A flip must hold across consecutive checks, agreed across regions.
Flap suppression
A monitor bouncing on the boundary resolves once, not twenty times.
Re-notify until acknowledged
An open alert re-sends at the interval you choose until someone acks it.
Maintenance windows
Planned work mutes its monitors on schedule, then un-mutes itself.
SLO error budgets
Set a target and window; track attained uptime and the budget you have left.
Status pages
Unlimited public pages
Publish as many pages as you need, each with its own monitors and theme.
Your own domain
Point a CNAME, verify with a TXT record, and TLS is issued automatically.
Incidents and maintenance
Post updates on an append-only timeline and announce planned work ahead.
Subscribers and feeds
Double-opt-in email subscribers, webhook delivery and an RSS/Atom feed per page.
Uptime badges
Live SVG badges with Markdown and HTML embeds for any published monitor.
For engineers
Public looking glass
Ping, MTR, dig and HTTP trace from every node, with shareable result links.
Published probe IPs
Every probe address listed, plus a plain ips.txt your firewall can consume.
Prometheus and Grafana
A token-scoped metrics feed and a ready-made Grafana dashboard.
API, tokens and pulsectl
Plain REST underneath, scoped API tokens, and a CLI that applies YAML.
Open-source probe
Every check ships from one small Go binary you can read on GitHub; our probes and yours run the same code.
Private probes
Run the probe inside your network, on Linux or Windows, to watch targets that never face the internet.
Internal monitoring
Check a NAS, a switch or an internal API from a probe on your LAN. Pulse never needs a way in.
Probe-offline alerts
A probe that stops checking in raises an alert itself, so a dead probe never hides behind green monitors.
Uptime Kuma import
Post your Kuma backup export; monitors are created idempotently by name.
Installable PWA
Install the panel on your phone and get incidents as push notifications.
Pulse is the front door to corehost, and corehost pays for it.
We monitor our own services with it and the results are public on the live status page. If you outgrow the defaults, email support@corehost.io and we raise the limits, still free.