Benchmark report
Is crates.io slow?
API response times from 5 cities
Slow from some locations
Singapore waited 1408 ms, about 8.6× Montreal. The gap suggests some test locations reach a distant server.
- Fastest
- 163 ms
- Montreal
- Slowest
- 1408 ms
- Singapore
- Successful requests
- 100%
- 5 of 6 locations
Response time around the world
Montreal
163 msSan Francisco
453 msAmsterdam
529 msTokyo
1052 msSingapore
1408 msMumbai
Collecting since 7 Sept 2026
Why is Singapore slower?
In the controlled run of 7 September every city connected to a nearby Fastly edge in 2 to 11 ms and finished the TLS handshake in 4 to 12 ms; the cache header named the local point of presence in each city. The time went into the two phases after that. Montreal waited 94 ms for the first byte and downloaded for 68 ms, 169 ms in all. Amsterdam waited 120 ms and downloaded for 320 ms; Tokyo waited 213 ms and downloaded for 798 ms; Singapore waited 498 ms and downloaded for 881 ms, 1,386 ms in all. A download that takes 68 ms in one city and 881 ms in another for the same 440 KB is what a body streamed from one distant origin through the edge looks like. A body served from the edge's cache would not vary like that.
Click the location to see each stage.
Singapore1386 ms
- Finding the server
- 6 ms
- Reaching the server
- 3 ms
- Setting up security
- 4 ms
- Waiting for the server
- 498 ms
- Receiving the response: most of the time
- 881 ms
- Total
- 1386 ms
Finding the server is measured once per location, so it sits outside these bars. Open a city to see it.
Bars show the typical request, so the parts add up to its total. Why
Compare all locationsHide the comparison
Click a city to see its stage-by-stage breakdown.
Amsterdam446 ms
- Finding the server
- 3 ms
- Reaching the server
- 2 ms
- Setting up security
- 4 ms
- Waiting for the server
- 120 ms
- Receiving the response: most of the time
- 320 ms
- Total
- 446 ms
San Francisco305 ms
- Finding the server
- 20 ms
- Reaching the server
- 11 ms
- Setting up security
- 12 ms
- Waiting for the server
- 122 ms
- Receiving the response: most of the time
- 160 ms
- Total
- 305 ms
Montreal169 ms
- Finding the server
- 3 ms
- Reaching the server
- 2 ms
- Setting up security
- 5 ms
- Waiting for the server: most of the time
- 94 ms
- Receiving the response
- 68 ms
- Total
- 169 ms
Singapore1386 ms
- Finding the server
- 6 ms
- Reaching the server
- 3 ms
- Setting up security
- 4 ms
- Waiting for the server
- 498 ms
- Receiving the response: most of the time
- 881 ms
- Total
- 1386 ms
Tokyo1018 ms
- Finding the server
- 9 ms
- Reaching the server
- 2 ms
- Setting up security
- 5 ms
- Waiting for the server
- 213 ms
- Receiving the response: most of the time
- 798 ms
- Total
- 1018 ms
The phases come from the controlled run of 7 September 2026. Typical times pool daily requests; slower times use controlled full runs. 5 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo.
Finding the server is measured once per location, so it sits outside these bars. Open a city to see it.
Bars show the typical request, so the parts add up to its total. Why
crates.io still feels slow?
- Check crates.io’s status page
- Registry incidents are posted there. A slow cargo build during one is not your network.
- This is not a cargo build benchmark
- Cargo reads the sparse index and downloads .crate files from static.crates.io, both served differently from this API document. Publishing, login and the website are not measured either.
- The edge is close, the body is far
- Two Fastly addresses across our five cities, and each city's cache header named its own local point of presence. Every response came from the origin rather than the cache, and Montreal was fastest on every run, which suggests the origin is in eastern North America.
Response time over the last 30 days
Show the numbers
| Day | Amsterdam | San Francisco | Montreal | Singapore | Tokyo | Mumbai |
|---|---|---|---|---|---|---|
| 27 August 2026 | 538 ms | 460 ms | 173 ms | 1434 ms | 1361 ms | — |
| 28 August 2026 | 697 ms | 477 ms | 161 ms | 1387 ms | 1430 ms | — |
| 29 August 2026 | 531 ms | 454 ms | 161 ms | 1381 ms | 1333 ms | — |
| 30 August 2026 | 217 ms | 185 ms | 167 ms | 1398 ms | 1063 ms | — |
| 31 August 2026 | 532 ms | 547 ms | 161 ms | 1401 ms | 1009 ms | — |
| 1 September 2026 | 530 ms | 298 ms | 170 ms | 1408 ms | 1034 ms | — |
| 3 September 2026 | 531 ms | 441 ms | 161 ms | 1478 ms | 1050 ms | — |
| 4 September 2026 | 535 ms | 567 ms | 168 ms | 1452 ms | 1454 ms | — |
| 5 September 2026 | 529 ms | 420 ms | 160 ms | 1412 ms | 1050 ms | — |
| 6 September 2026 | 134 ms | 246 ms | 160 ms | 1532 ms | 1021 ms | — |
| 7 September 2026 | 539 ms | 573 ms | 162 ms | 1435 ms | 1296 ms | 1642 ms |
| 8 September 2026 | 505 ms | 453 ms | 149 ms | 1390 ms | 1333 ms | 1221 ms |
| 9 September 2026 | 511 ms | 551 ms | 168 ms | 1405 ms | 1300 ms | 1618 ms |
| 10 September 2026 | 696 ms | 558 ms | 162 ms | 1415 ms | 1341 ms | 1613 ms |
| 11 September 2026 | 282 ms | 557 ms | 163 ms | 1393 ms | 1013 ms | 1623 ms |
| 12 September 2026 | 447 ms | 420 ms | 163 ms | 1362 ms | 1004 ms | 1628 ms |
About this measurement
GET crates.io/api/v1/crates/serde · 65 requests per location over 13 daily runs · 30 August 2026 to 12 September 2026
What we tested · Package registry. GET crates.io/api/v1/crates/serde: the serde crate's metadata, about 440 KB of JSON from a Heroku origin behind Fastly, seen uncached.
How LatencyRadar measures response time →
Technical details
Doesn’t measure: cargo build: index lookups and .crate downloads from static.crates.io, or the website.
One crates.io surface: the API metadata document for the serde crate, about 440 KB of JSON listing every published version. This is the request the crates.io website and API clients make to learn about a crate. It sits behind Fastly, but every response we saw came from the origin rather than from the cache. It does not stand for cargo build: Cargo reads the sparse index and downloads .crate files from static.crates.io, and both are served differently.
Not measured: the sparse index, .crate downloads, publishing, login or the crates.io website itself. From outside we cannot see where the origin runs or why the document is served uncached. We see only that the Fastly edge nearest each city answered, and that the body arrived at a speed set by the distance behind that edge.
Between 30 August and 12 September 2026 the typical time ranged from 163 ms in Montreal to 1,408 ms in Singapore, with Tokyo at 1,052 ms, San Francisco at 453 ms and Amsterdam at 529 ms. Montreal was steady at 149 to 170 ms on every daily run, and so was Singapore at 1,362 to 1,532 ms. Amsterdam and San Francisco were not. Amsterdam's daily median was 505 to 697 ms on nine runs, 134 to 282 ms on three (30 August, 6 and 11 September) and 447 ms on 12 September; San Francisco swung between 185 and 573 ms. The pooled typical times for those two cities sit between the two regimes, and the history chart shows both. The controlled runs point the same way: Amsterdam's p95 was 1,202 ms on 30 August and 696 ms on 7 September. PyPI, measured the same way on the same days from a cached document, took 12 to 59 ms.
| Test location | Typical response time | Slower response time | Requests |
|---|---|---|---|
| Amsterdam | 529 ms | 949 ms | 20 |
| San Francisco | 453 ms | 566 ms | 20 |
| Montreal | 163 ms | 191 ms | 20 |
| Singapore | 1408 ms | 1447 ms | 20 |
| Tokyo | 1052 ms | 1380 ms | 20 |
| Mumbai | Collecting since 7 Sept 2026 | ||
Typical: half of the requests finished within this time (technical: p50). Slower: 95% of requests finished within this time (technical: p95). Statistics
- Request
- GET crates.io/api/v1/crates/serde
- Measured from
- Amsterdam · San Francisco · Montreal · Singapore · Tokyo
- Requests
- Daily measurements from 30 August 2026 to 12 September 2026. 5 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo. · 30 August 2026 to 12 September 2026
- Timings taken
- DNS, connect, TLS, waiting for the server, download
- Report coverage
- 5 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo.
- Daily requests in each location
- Amsterdam: 65 · San Francisco: 65 · Montreal: 65 · Singapore: 65 · Tokyo: 65
- Typical response time
- Median of the eligible daily requests in each included location.
- Slower response time
- Median of recent controlled full-run p95 values in each included location.
crates.io API
https://crates.io/api/v1/crates/serde
Independent measurement by LatencyRadar. Not affiliated with crates.io. · How we measure (v1.1)
How fast is your API around the world?
Run a free speed test from multiple cities and find out where your users are waiting. No setup, no account required.
No account required · Takes about 30 seconds.