Benchmark report

Stripe thumbnail

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

Amsterdam 53ms typicalSan Francisco 72ms typicalMontreal 53ms typicalSingapore 15ms typicalTokyo 13ms typicalMumbai 190ms typical
  • JapanTokyo
    13 ms
  • SingaporeSingapore
    15 ms
  • NetherlandsAmsterdam
    53 ms
  • CanadaMontreal
    53 ms
  • United StatesSan Francisco
    72 ms
  • IndiaMumbai
    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.

ConnectTLSServer waitDownload
IndiaMumbai
191 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 locations

Click a city to see its stage-by-stage breakdown.

ConnectTLSServer waitDownload
NetherlandsAmsterdam
53 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
United StatesSan Francisco
75 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
CanadaMontreal
52 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
SingaporeSingapore
16 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
JapanTokyo
13 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
IndiaMumbai
191 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

Daily median of 5 requests per location, 21 September 2026 to 20 October 2026.
0125250 ms21 Sept20 Oct
Show the numbers
DayAmsterdamSan FranciscoMontrealSingaporeTokyoMumbai
21 September 202654 ms73 ms53 ms18 ms12 ms192 ms
22 September 202673 ms75 ms53 ms17 ms13 ms196 ms
23 September 202673 ms71 ms52 ms16 ms12 ms193 ms
24 September 202686 ms71 ms51 ms14 ms13 ms191 ms
25 September 202668 ms71 ms55 ms16 ms15 ms190 ms
26 September 202672 ms71 ms52 ms12 ms13 ms195 ms
27 September 202652 ms74 ms55 ms12 ms16 ms192 ms
28 September 202654 ms71 ms53 ms14 ms13 ms195 ms
29 September 202653 ms73 ms55 ms17 ms14 ms191 ms
30 September 202668 ms73 ms53 ms16 ms13 ms194 ms
1 October 202652 ms72 ms54 ms16 ms17 ms193 ms
2 October 202652 ms73 ms53 ms17 ms13 ms194 ms
3 October 202654 ms72 ms54 ms18 ms17 ms192 ms
4 October 202651 ms70 ms52 ms17 ms18 ms190 ms
5 October 202653 ms73 ms51 ms13 ms17 ms189 ms
6 October 202653 ms72 ms55 ms17 ms17 ms188 ms
7 October 202653 ms74 ms54 ms16 ms13 ms193 ms
9 October 202653 ms72 ms56 ms14 ms12 ms192 ms
10 October 202652 ms72 ms53 ms13 ms16 ms194 ms
11 October 202653 ms74 ms53 ms15 ms11 ms188 ms
12 October 202654 ms70 ms53 ms15 ms12 ms193 ms
13 October 202653 ms71 ms53 ms15 ms14 ms189 ms
14 October 202655 ms70 ms54 ms15 ms12 ms189 ms
15 October 202654 ms70 ms53 ms14 ms13 ms190 ms
16 October 202654 ms73 ms52 ms12 ms13 ms193 ms
17 October 202653 ms69 ms54 ms20 ms14 ms190 ms
18 October 202653 ms71 ms52 ms14 ms16 ms189 ms
19 October 202653 ms72 ms53 ms14 ms18 ms189 ms
20 October 202653 ms73 ms53 ms15 ms13 ms190 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 locationTypical response timeSlower response timeRequests
Amsterdam53 ms58 ms65
San Francisco72 ms77 ms65
Montreal53 ms57 ms65
Singapore15 ms22 ms65
Tokyo13 ms19 ms65
Mumbai190 ms195 ms65

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.

Test my API

No account required · Takes about 30 seconds.

More benchmarks

All benchmarks →