Benchmark report
Is the Stripe API slow?
Response times from 6 cities
Mixed by location
Response times ranged from 13 ms in Tokyo to 190 ms in Mumbai. Where you are matters.
- Fastest
- 13 ms
- Tokyo
- Slowest
- 190 ms
- Mumbai
- Successful requests
- 100%
- 6 locations
Response time around the world
Tokyo
13 msSingapore
15 msAmsterdam
53 msMontreal
53 msSan Francisco
72 msMumbai
190 ms
Why is Mumbai slower?
The Stripe server that answered Mumbai was about 62 ms away, and a new connection needs three round trips: 63 ms to connect, 66 ms to set up the secure connection and 61 ms waiting for the reply in the controlled run of 4 October. Tokyo’s server was about 5 ms away, so the same three steps took 5, 5 and 3 ms. Stripe answers the healthcheck at that server, so nearly all of the time is distance. A server that keeps its connection to Stripe open pays the setup once; after that, each call from Mumbai starts at about one round trip plus whatever work the call needs.
Click the location to see each stage.
Mumbai191 ms
- Finding the server
- 2 ms
- Reaching the server
- 63 ms
- Setting up security: most of the time
- 66 ms
- Waiting for the server
- 61 ms
- Receiving the response
- 1 ms
- Total
- 191 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.
Amsterdam53 ms
- Finding the server
- 1 ms
- Reaching the server
- 18 ms
- Setting up security: most of the time
- 19 ms
- Waiting for the server
- 16 ms
- Receiving the response
- 0 ms
- Total
- 53 ms
San Francisco75 ms
- Finding the server
- 13 ms
- Reaching the server
- 24 ms
- Setting up security: most of the time
- 27 ms
- Waiting for the server
- 22 ms
- Receiving the response
- 2 ms
- Total
- 75 ms
Montreal52 ms
- Finding the server
- 1 ms
- Reaching the server: most of the time
- 18 ms
- Setting up security
- 18 ms
- Waiting for the server
- 15 ms
- Receiving the response
- 1 ms
- Total
- 52 ms
Singapore16 ms
- Finding the server
- 4 ms
- Reaching the server
- 5 ms
- Setting up security: most of the time
- 7 ms
- Waiting for the server
- 4 ms
- Receiving the response
- 0 ms
- Total
- 16 ms
Tokyo13 ms
- Finding the server
- 3 ms
- Reaching the server: most of the time
- 5 ms
- Setting up security
- 5 ms
- Waiting for the server
- 3 ms
- Receiving the response
- 0 ms
- Total
- 13 ms
Mumbai191 ms
- Finding the server
- 2 ms
- Reaching the server
- 63 ms
- Setting up security: most of the time
- 66 ms
- Waiting for the server
- 61 ms
- Receiving the response
- 1 ms
- Total
- 191 ms
The phases come from the controlled run of 4 October 2026. Typical and slower times pool the daily requests. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai.
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
Stripe still feels slow?
- Check Stripe’s status page
- API incidents are posted there. A gap between cities is distance, not an incident.
- This is not a payment benchmark
- Charges, PaymentIntents and Checkout need a key and do real work on Stripe’s side. To look into a slow payment, time the request your application actually makes.
- Where your server runs matters
- Tokyo and Singapore reached a Stripe server about 5 ms away, Amsterdam and Montreal about 18 ms, San Francisco about 24 ms and Mumbai about 62 ms. Reuse connections so you pay the setup once.
Response time over the last 30 days
Show the numbers
| Day | Amsterdam | San Francisco | Montreal | Singapore | Tokyo | Mumbai |
|---|---|---|---|---|---|---|
| 21 September 2026 | 54 ms | 73 ms | 53 ms | 18 ms | 12 ms | 192 ms |
| 22 September 2026 | 73 ms | 75 ms | 53 ms | 17 ms | 13 ms | 196 ms |
| 23 September 2026 | 73 ms | 71 ms | 52 ms | 16 ms | 12 ms | 193 ms |
| 24 September 2026 | 86 ms | 71 ms | 51 ms | 14 ms | 13 ms | 191 ms |
| 25 September 2026 | 68 ms | 71 ms | 55 ms | 16 ms | 15 ms | 190 ms |
| 26 September 2026 | 72 ms | 71 ms | 52 ms | 12 ms | 13 ms | 195 ms |
| 27 September 2026 | 52 ms | 74 ms | 55 ms | 12 ms | 16 ms | 192 ms |
| 28 September 2026 | 54 ms | 71 ms | 53 ms | 14 ms | 13 ms | 195 ms |
| 29 September 2026 | 53 ms | 73 ms | 55 ms | 17 ms | 14 ms | 191 ms |
| 30 September 2026 | 68 ms | 73 ms | 53 ms | 16 ms | 13 ms | 194 ms |
| 1 October 2026 | 52 ms | 72 ms | 54 ms | 16 ms | 17 ms | 193 ms |
| 2 October 2026 | 52 ms | 73 ms | 53 ms | 17 ms | 13 ms | 194 ms |
| 3 October 2026 | 54 ms | 72 ms | 54 ms | 18 ms | 17 ms | 192 ms |
| 4 October 2026 | 51 ms | 70 ms | 52 ms | 17 ms | 18 ms | 190 ms |
| 5 October 2026 | 53 ms | 73 ms | 51 ms | 13 ms | 17 ms | 189 ms |
| 6 October 2026 | 53 ms | 72 ms | 55 ms | 17 ms | 17 ms | 188 ms |
| 7 October 2026 | 53 ms | 74 ms | 54 ms | 16 ms | 13 ms | 193 ms |
| 9 October 2026 | 53 ms | 72 ms | 56 ms | 14 ms | 12 ms | 192 ms |
| 10 October 2026 | 52 ms | 72 ms | 53 ms | 13 ms | 16 ms | 194 ms |
| 11 October 2026 | 53 ms | 74 ms | 53 ms | 15 ms | 11 ms | 188 ms |
| 12 October 2026 | 54 ms | 70 ms | 53 ms | 15 ms | 12 ms | 193 ms |
| 13 October 2026 | 53 ms | 71 ms | 53 ms | 15 ms | 14 ms | 189 ms |
| 14 October 2026 | 55 ms | 70 ms | 54 ms | 15 ms | 12 ms | 189 ms |
| 15 October 2026 | 54 ms | 70 ms | 53 ms | 14 ms | 13 ms | 190 ms |
| 16 October 2026 | 54 ms | 73 ms | 52 ms | 12 ms | 13 ms | 193 ms |
| 17 October 2026 | 53 ms | 69 ms | 54 ms | 20 ms | 14 ms | 190 ms |
| 18 October 2026 | 53 ms | 71 ms | 52 ms | 14 ms | 16 ms | 189 ms |
| 19 October 2026 | 53 ms | 72 ms | 53 ms | 14 ms | 18 ms | 189 ms |
| 20 October 2026 | 53 ms | 73 ms | 53 ms | 15 ms | 13 ms | 190 ms |
About this measurement
GET api.stripe.com/healthcheck · 65 requests per location over 13 daily runs · 7 October 2026 to 20 October 2026
What we tested · API response. GET api.stripe.com/healthcheck: a 66-byte plain-text reply from Stripe's API front end (nginx), no key, no shared cache.
How LatencyRadar measures response time →Also measured: Stripe dashboard login →
Technical details
Doesn’t measure: Charges, PaymentIntents or Checkout, which need a key; the Dashboard; webhook delivery; Stripe.js.
This report covers one Stripe surface: the API’s healthcheck, called without a key. It returns 66 bytes of plain text and does no payment work, so it shows how far each city is from Stripe’s API. The Stripe dashboard sign-in page has its own report. This call does not stand for charges, PaymentIntents, Checkout, webhook delivery or Stripe.js.
Between 7 and 20 October 2026 the typical time was 13 ms in Tokyo and 15 ms in Singapore, 53 ms in Amsterdam and Montreal, 72 ms in San Francisco and 190 ms in Mumbai. It barely moved from day to day: Amsterdam’s daily medians stayed between 52 and 55 ms, Mumbai’s between 188 and 194 ms and Tokyo’s between 11 and 18 ms. In every city, connecting, the secure handshake and the wait each took about one round trip to the nearest Stripe server, as you would expect from a reply that needs no work on Stripe’s side.
| Test location | Typical response time | Slower response time | Requests |
|---|---|---|---|
| Amsterdam | 53 ms | 58 ms | 65 |
| San Francisco | 72 ms | 77 ms | 65 |
| Montreal | 53 ms | 57 ms | 65 |
| Singapore | 15 ms | 22 ms | 65 |
| Tokyo | 13 ms | 19 ms | 65 |
| Mumbai | 190 ms | 195 ms | 65 |
Typical: half of the requests finished within this time (technical: p50). Slower: 95% of requests finished within this time (technical: p95). Statistics
- Request
- GET api.stripe.com/healthcheck
- Measured from
- Amsterdam · San Francisco · Montreal · Singapore · Tokyo · Mumbai
- Requests
- Daily measurements from 7 October 2026 to 20 October 2026. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai. · 7 October 2026 to 20 October 2026
- Timings taken
- DNS, connect, TLS, waiting for the server, download
- Report coverage
- 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai.
- Daily requests in each location
- Amsterdam: 65 · San Francisco: 65 · Montreal: 65 · Singapore: 65 · Tokyo: 65 · Mumbai: 65
- Typical response time
- Median of the eligible daily requests in each included location.
- Slower response time
- The 95th percentile of the same eligible daily requests in each included location.
Stripe API
https://api.stripe.com/healthcheck
Independent measurement by LatencyRadar. Not affiliated with Stripe. · How we measure (v1.3)
How fast is your API compared to Stripe?
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.