Mumbai (ap-south-1)
0.0 ms
Nearest major AWS region
N. Virginia (us-east-1)
0.0 ms
Farthest region tested
Anthropic API
0.0 ms
Edge handshake, not the model itself
I wrote a line a few weeks ago about the 2am window when Kathmandu's shared fibre isn't split forty ways and "the free tier of Gemini answers me before I've finished reading my own prompt." It was true, but it was also a feeling, not a number. This post is the number. I ran a real, repeatable latency measurement from the actual residential connection I'm writing this on — a WorldLink line in Kathmandu — to six AWS regions and three major AI APIs, this afternoon, and I'm publishing the raw runs, not just the averages.
The methodology, plainly
I measured TCP-connect time — the duration from opening a connection to completing the TCP handshake, via curl -w "%{time_connect}" — against each target's HTTPS endpoint, five runs per target, taken August 15, 2026. TCP-connect time is a well-established latency proxy (it's what tools like CloudPing use), but it isn't identical to an ICMP ping round-trip, and it isn't the same as full application latency once TLS negotiation, request processing, and response generation are added on top. I'm reporting the median of five runs per target below, and the full set of raw numbers in the table at the bottom, because a single number with the messy reality sanded off is exactly the kind of false precision this site tries not to publish.
For the six AWS regions, I used each region's public S3 endpoint (s3.<region>.amazonaws.com) — a stable, publicly documented target that isn't behind a CDN, so the measurement reflects an actual connection into that specific AWS region rather than a nearby edge cache.
The regional ladder
AWS Regional Latency From Kathmandu
Median TCP-connect time, 5 runs per region, Aug 15, 2026
Measured live from a Kathmandu residential connection (WorldLink), Aug 15, 2026 — median of 5 curl TCP-connect runs per region, S3 regional endpoints
Mumbai wins by a wide margin — 43.9ms median, barely a sixth of the two US regions. That's not surprising geographically, but it's worth having an actual number instead of an assumption: Singapore very nearly doubles it at 81.9ms, Tokyo more than triples it at 150.7ms, and Ireland — despite being roughly as far from Kathmandu as the US East Coast on a map — lands at 174.3ms, closer to the Asia-Pacific cluster than to Oregon or Virginia. Fiber routes don't follow great-circle distance; they follow whatever cable actually got built, and Nepal's international bandwidth runs primarily through Indian transit providers, which is almost certainly why the Asia-Pacific regions cluster so much closer together than pure geography would predict.
The practical takeaway for anyone in Nepal actually choosing where to deploy: ap-south-1 (Mumbai) is not a "close enough" option, it's the only regional choice that's actually close. Every other region tested adds at minimum another 40ms, and the two US regions add a quarter of a second before a single byte of your application logic runs.
The AI APIs are suspiciously fast — here's why that's not the whole story
AI API and Anycast DNS Latency From Kathmandu
Median TCP-connect / ICMP time, Aug 15, 2026
These measure the nearest edge/CDN termination point, not the actual model-serving datacenter — see the traceroute discussion below
This is the number that genuinely surprised me while running it: api.anthropic.com completes a TCP handshake from Kathmandu in a median of 9.3ms — faster than the round-trip to Cloudflare's own 1.1.1.1 anycast resolver (11.1ms). OpenAI's API comes in at 12.3ms, Google's Gemini API at 26.2ms. None of these companies have a datacenter in or near Nepal. What they have is a CDN/edge point of presence that terminates the TLS connection close by and proxies the actual request onward — meaning the number I measured is genuinely real, but it's measuring the doorstep, not the building the model actually lives in.
I ran a traceroute to confirm this rather than just assert it. The path to api.anthropic.com stays entirely within WorldLink's own network for six hops — home router, to WorldLink's Kathmandu core, to its international gateway — before terminating at the target IP on hop seven, total round-trip under 12ms at every hop along the way. That's consistent with a nearby edge PoP, not a multi-thousand-kilometer hop to wherever Claude's inference compute actually runs. The honest implication: the connection to these APIs is fast from Kathmandu, but the time to first token on an actual request — which has to reach the real backend, run inference, and stream a response back — will be measurably higher than a bare TCP handshake suggests. This post measures the doorstep truthfully; it does not claim the building is next door.
The one hop that explains the international leg
Running the same traceroute against the Mumbai S3 endpoint turned up something worth showing rather than just describing: the first eight hops, entirely inside WorldLink's domestic network, average under 15ms round-trip apiece. Then hop nine — the point where the path leaves Nepal's domestic backbone for international transit — jumps to roughly 144ms, and the trace stops responding to ICMP past that point (common; cloud-provider edge routers routinely rate-limit or drop the ICMP replies traceroute depends on, so the missing later hops aren't evidence of a problem, just of routers declining to answer).
I want to be careful about what that single 144ms hop actually proves: per-hop traceroute timing is notoriously unreliable for pinpointing exact costs, because routers commonly deprioritize generating the ICMP time-exceeded replies traceroute measures, inflating exactly the hop where a network boundary sits. So I'm not claiming "the international leg costs precisely 144ms" as a hard fact — I'm reporting that the domestic network is fast and consistent, the international crossing is where the one large, measurable jump appears, and that's consistent with everything else in this dataset: Nepal's bottleneck to the rest of the internet isn't the last mile, it's the border.
What this actually means, practically
If you're a Nepali developer choosing an AWS or GCP region for anything latency-sensitive, this data says the choice barely requires thought: ap-south-1 (Mumbai) or its GCP/Azure equivalents in India are the only "local" option, and every other region — including ones that feel psychologically closer, like anything in Asia generally — adds real, measurable time on top. If you're calling an AI API for anything interactive, the connection itself won't be your bottleneck (9-26ms is nothing), but don't mistake that for the API being "close" — the actual generation happens somewhere else entirely, and that's where your real latency budget goes.
Sources and full raw data
- Measured directly by the author, August 15, 2026:
curl -w "%{time_connect}", 5 runs per target, from a residential WorldLink connection in Kathmandu (public IP geolocation independently confirmed via ipinfo.io before publishing) - AWS S3 regional endpoint documentation (public, non-CDN regional targets)
tracerouteoutput tos3.ap-south-1.amazonaws.comandapi.anthropic.com, same session
| Target | Run 1 | Run 2 | Run 3 | Run 4 | Run 5 | Median |
|---|---|---|---|---|---|---|
| AWS Mumbai (ap-south-1) | 71.9ms | 43.9ms | 44.6ms | 42.1ms | 43.3ms | 43.9ms |
| AWS Singapore (ap-southeast-1) | 112.1ms | 78.0ms | 85.8ms | 81.3ms | 81.9ms | 81.9ms |
| AWS Tokyo (ap-northeast-1) | 181.0ms | 157.3ms | 149.1ms | 143.2ms | 150.7ms | 150.7ms |
| AWS Ireland (eu-west-1) | 242.9ms | 172.6ms | 174.3ms | 172.6ms | 181.7ms | 174.3ms |
| AWS Oregon (us-west-2) | 317.3ms | 271.4ms | 286.2ms | 298.5ms | 277.3ms | 286.2ms |
| AWS N. Virginia (us-east-1) | 325.9ms | 280.1ms | 308.1ms | 296.8ms | 294.0ms | 296.8ms |
| Anthropic API | 9.3ms | 8.7ms | 13.3ms | 8.2ms | 10.7ms | 9.3ms |
| OpenAI API | 8.0ms | 12.3ms | 14.6ms | 14.5ms | 9.2ms | 12.3ms |
| Google Gemini API | 25.7ms | 27.5ms | 27.3ms | 26.2ms | 24.1ms | 26.2ms |
| Cloudflare 1.1.1.1 (ICMP) | 10.4ms | 6.7ms | 13.4ms | 12.2ms | 11.1ms | 11.1ms |
| Google 8.8.8.8 (ICMP) | 25.1ms | 31.4ms | 23.9ms | 21.5ms | 20.5ms | 23.9ms |
Note the first run against every target ran measurably slower than the following four — a cold-connection effect (fresh DNS resolution, no TCP session reuse) rather than a network problem, which is exactly why I'm reporting the median of five runs rather than a single measurement or a mean that a single slow first run would skew.
Written by Abhishek Kushwaha, founder and writer at Global Tech Search, based in Kathmandu, Nepal.
