Always-free multi-region uptime monitoring

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
Our network

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.

ams
Amsterdam NL
measuring
lon
London UK
measuring
sto
Stockholm SE
measuring
ash
Ashburn US
measuring
lax
Los Angeles US
measuring
sin
Singapore SG
measuring

Every endpoint is published: hostname, IPv4, IPv6. See the full node list and run a traceroute from any of them.

Built for network engineers

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.

Monitors as code

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"]}'

Read the full API reference →

Inside your network

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.

Private targets

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.

http · tcp · ping · dns · tls
Security model

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.

no inbound · no VPN · open source
Reliability

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.

probe-offline alerts

One command installs the probe on Linux or Windows, and private probes are unlimited on the free plan. Read the internal monitoring guide.

Everything included

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.

Why free

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.