PUBLISHED PROVIDER LIMITS
Limits keep their provider-specific dimensions.
Global limits and endpoint-specific limits can both apply. Stripe may grant account-specific increases.
Authentication: Secret API key, Restricted API key, OAuth access token for Connect
Primary scope: Stripe Account
Measured dimensions: Requests, Concurrent Requests, Resource Specific Actions, Read Request Allocations
Profile coverage: Published account-global, default endpoint, selected resource-specific, concurrency, Connect account-creation, and read-allocation limits plus documented 429 reason handling.
Global limits
| Limit | Value | Period | Scope | Conditions and variability |
|---|---|---|---|---|
| Global API rate limit : live mode | 100 requests | Per second | Account | Published provider limit. |
| Global API rate limit : sandbox | 25 requests | Per second | Account | Published provider limit. |
Endpoint limits
| Limit | Value | Period | Scope | Conditions and variability |
|---|---|---|---|---|
| Default individual endpoint limit | 25 requests | Per second | Endpoint Per Account | Unless otherwise documented |
Resource-specific limits
| Limit | Value | Period | Scope | Conditions and variability |
|---|---|---|---|---|
| PaymentIntent updates | 1,000 update requests | Per hour | Payment Intent Object | Published provider limit. |
| Files API reads | 20 requests | Per second | Account | Published provider limit. |
| Files API writes | 20 requests | Per second | Account | Published provider limit. |
| Search API reads | 20 requests | Per second | Account | Published provider limit. |
| Create Payout requests | 15 requests | Per second | Business | Published provider limit. |
| New invoices per subscription | 10 invoices | Per minute | Subscription | Published provider limit. |
| New invoices per subscription | 20 invoices | Per day | Subscription | Published provider limit. |
| Subscription quantity updates | 200 updates | Per hour | Subscription | Published provider limit. |
| Connect account creation in live mode | 30 requests | Per second | Platform | Accounts v1 or Accounts v2 creation |
| Connect account creation in sandbox | 5 requests | Per second | Platform | Accounts v1 or Accounts v2 creation |
Concurrency limits
| Limit | Value | Period | Scope | Conditions and variability |
|---|---|---|---|---|
| Create Payout concurrency | 30 concurrent requests | At one time | Business | Published provider limit. |
Usage allocations
| Limit | Value | Period | Scope | Conditions and variability |
|---|---|---|---|---|
| Read API allocation | 500 read requests per transaction | Per rolling 30 day | Account | Calculated from transaction count over the most recent 30 days. Connect platforms and connected accounts have distinct allocations. |
| Minimum read API allocation | 10,000 read requests | Per calendar month | Account | Published provider limit. |
RESPONSE METADATA
Headers expose the applicable limit state.
Stripe-Rate-Limited-ReasonFormat: Enum- Reason that a request was rate limited.Known values: global-rate, endpoint-rate, global-concurrency, endpoint-concurrency, resource-specific
WHEN A LIMIT IS EXCEEDED
Read the response before choosing a delay.
- Rate-limit responses can use HTTP 429.
- A 429 without Stripe-Rate-Limited-Reason can represent another condition such as an object lock timeout.
RECOMMENDED HANDLING
Protect both the provider and your own queue.
- Reduce request rate or concurrency according to Stripe-Rate-Limited-Reason.
- Retry after a delay.
- Use exponential backoff for repeated transient failures.
- Treat documented ceilings as maximums rather than target throughput.
VERIFICATION RECORD