Public API
Everything on KasNodes is built from the same read-only JSON you can use. No key, no sign-up: just ask for it.
Start
Every address below is under https://kasnodes.com/api/v1 and answers GET with JSON. Fetch the leaderboard:
curl https://kasnodes.com/api/v1/nodesOr one node, by the name on its page. In a browser, any site can call it: answers carry Access-Control-Allow-Origin: *.
const node = await fetch("https://kasnodes.com/api/v1/nodes/<name>").then((r) => r.json());Endpoints
/summaryHeadline counts: public, ranked and private nodes, countries, the latest crawl and the newest kaspad release. On the site
/nodesEvery public node with its place, 30-day score, uptime, version, location and operator. On the site
/nodes/{name}One node's full record: each score part, 14 days of crawls, outages, latency, chain tip and achievements.
/operators/{slug}A public operator profile and its nodes.
/network/healthHow the public count, versions, hosting and reach have moved, with network events. On the site
/network/privateCounts of private nodes our sensors hear from, by version and platform. On the site
/network/addressesHow many gossiped addresses answer, by kind. Counts only. On the site
/network/relayHow soon new blocks reach public nodes in each country and region. On the site
/network/releasesEach kaspad release since the fork: share of public nodes upgraded, day by day. On the site
/geographyPublic nodes by country, with each country's share. On the site
/crawls?per_day=1&days=3Recent full crawls: when, how many answered. per_day 1–24, days 1–90.
/reportsEvery weekly network report. On the site
/reports/{week}One week's report by ISO week, e.g. 2026-W44. Frozen once the week ends.
Every field is described in the OpenAPI document, which most API tools can load as it is.
Limits and freshness
Up to 60 requests a minute from one address. Past that you get 429 with Retry-After; RateLimit-Remaining on every answer says how many are left.
Most data moves once per full crawl, about every two hours, so polling faster gains nothing. Answers carry an ETag: send it back as If-None-Match and an unchanged answer comes back empty as 304.
What it shows
Exactly what the site shows, with the same privacy rules: no node's IP address unless its operator chose to share it, and private nodes only as counts. Operators hide their name, location or version in their settings and the API follows. See Privacy.
Changes
This is version 1. New fields may appear at any time, so ignore ones you don't know; fields are not renamed or removed without a new version. Changes are listed on What's new.
Built something with it? A link back to kasnodes.com is appreciated. For a node's live place in a README, each node page offers a badge.