Your own relay is coming. Reserve yours, no payment

Relay monitor · Data

Nostr relay dataset

Every public Nostr relay we list (1,429 as of 2026-11-04), with its status, uptime, connect time, software, NIPs and location. Updated every hour. Free to reuse under CC BY 4.0: credit "anchorman.lol relay monitor" with a link to anchorman.lol/monitor.

Fields

url, host
The relay's address (wss://…) and the same without the scheme, as in /monitor/<host>
name
Its NIP-11 name, else the host
status
up, slow (connects in over a second), down (3 failed checks in a row), blocked or paid (refuses our checker)
uptime_24h, uptime_30d
Share of checks that succeeded, 0–1; empty for a relay that refuses us
connect_ms, read_ms
Last time to open the WebSocket, and from REQ to EOSE, in milliseconds
software, version
From its NIP-11 document
nips
NIPs it lists in NIP-11
payment_required, auth_required
NIP-11 limitation flags; empty when not stated
country, place, lat, lon
IP geolocation (approximate; lat/lon rounded to 0.1°)
ours
True for relays we run ourselves (never ranked)
checked_at, page
When we last checked it, and its page here

Public API

GET https://anchorman.lol/api/monitor/relays.json returns the same data. It is free and needs no key; please stay under 60 requests a minute (the answer changes every few minutes at most, and it is cached for 5). Over the limit you get HTTP 429 with Retry-After. CORS is open, so it works from a browser.

How we measure

Every relay is checked once an hour from Cloudflare's edge: we open a WebSocket, send a REQ and time the EOSE, and fetch the relay's NIP-11 document. A relay is down after 3 failed checks in a row, slow when connecting takes over a second. Relays that refuse our checker (HTTP 401, 402, 403 or 429) are listed but not measured. Locations are IP geolocation by DB-IP and place names from GeoNames, both CC BY 4.0.

Read this month's State of Nostr relays