Cloudflare attaches all of this to the request before the Worker runs. It is
more than /cdn-cgi/trace exposes and it costs no extra round trip, which is why
nothing on this page fetches anything to build it.
| Field | Value | Meaning |
|---|---|---|
| colo | CMH | The datacenter that terminated your connection. This is the answer. |
| colo city | Columbus, US | Looked up locally from the airport code. The table covers 248 datacenters. |
| client ip | 216.73.216.137 | The address Cloudflare sees. Behind a VPN or WARP this is the tunnel's address, not yours. |
| asn | AS16509 | The network that address belongs to. AS13335 is Cloudflare itself. |
| as org | Anthropic, PBC | The operator of that network, usually your ISP. |
| city | Columbus | Where Cloudflare geolocates you. Frequently coarse, and wrong on a VPN. |
| region | Ohio | State or province, where Cloudflare has one. |
| country | US | ISO country code for the client address. |
| timezone | America/New_York | Timezone inferred from that location, not read from your browser. |
| client tcp rtt | 1 ms | Measured round trip between you and the colo. The honest distance number on this page. |
| http protocol | HTTP/2 | Protocol negotiated for this connection. |
| tls version | TLSv1.3 | TLS version negotiated. |
| tls cipher | AEAD-AES256-GCM-SHA384 | Cipher suite negotiated. |
Cloudflare announces the same addresses from every datacenter, so the one you reach is decided by internet routing rather than by anything on this page. Maintenance, a capacity shift, or your ISP changing peering can all move you to a different colo without anything changing on your side.
This hits /api/trace, which returns the same reading as JSON.
Running it twice in a row is the cheapest way to see whether your colo is stable.
Not run yet. The reading above came with the page.
$ curl -s https://colo.fe50.net/api/trace | jq