latencyreport

Latency Report

Data and API

Everything on the pages, as files: JSON and CSV at fixed addresses, rewritten every hour. No key, no sign-up. Start at /data/index.json, which lists them all.

The files

Kansas City, the last 24 hours
/data/latest/mci.json and /data/latest/mci.csv: each pair of networks, one direction and address family, as on the Kansas City page (679 pairs now).
Kansas City, history
/data/history/mci.json: each day's pairs by how they went, the pairs whose way changed and those that left the metro every time, as on the history page.
One network
/data/net/<AS number>.json, for example /data/net/917.json: its pairs in the last 24 hours, both ways, and its changes and detours since the first day (34 networks).
Between metros
/data/links.json and /data/links.csv: each day, the least round trip between anchors in two metros, either way, per address family.
Every daily summary
A CSV a month, listed in /data/days/index.json (/data/days/2026-10.csv, /data/days/2026-11.csv): one row per UTC day, address family and pair (inside Kansas City, and between metros' anchors), kept for good, with that day's judgement for the pairs inside a metro.

Fields

af
4 or 6.
src_asn, src_name, dst_asn, dst_name
The source's and the destination's network: AS number and name (PeeringDB's, or the anchor's company when PeeringDB has none).
class
left (left the metro), local_ix (local, via an exchange), local (local, no exchange hop) or unclear: the judgement of most of the pair's traceroutes in the period, as the methodology explains. A tie between the two local kinds counts as via an exchange.
left, local_ix, local, unclear
How many of the pair's traceroutes were judged each way.
median_rtt_ms, min_rtt_ms
The destination's round trip, median and least, in milliseconds.
median_beyond_line_ms
The round trip less the source's own line (the first public hop before the destination); 7 ms or more is left the metro.
exchanges_in_metro
Exchange LANs crossed where the hop answered under 7 ms beyond the source's own line: in the metro (PeeringDB's exchange names).
exchanges_7ms_plus
Exchange LANs crossed where the hop answered 7 ms or more beyond the source's own line, with the exchange's home city: reached after the traffic left the metro, or a router slow to answer. Not where the exchange is: a KCIX hop can be here. In the CSVs, both lists are separated by semicolons.
back_class, back_median_rtt_ms
The same pair the other way (destination to source), when measured.
runs
In the history files: each stretch of periods judged the same way, from and to (unclear periods skipped).
Days and times
UTC. A period marked "partial": true isn't over yet.

Using it

The measurements are RIPE Atlas's (RIPE NCC): its anchoring measurements, which are public, and our own traceroutes from the anchors back to the probes. Network and exchange names are PeeringDB's. When you use these files, please name Latency Report and RIPE Atlas. The addresses and fields above stay as they are within version 1; a change that breaks them gets a new version number in index.json.