Rate Limiting Guidance

Pushpay uses a tiered system of rate limits to ensure that no single API client can cause detrimental performance to the Pushpay platform.

The rate limits are enforced in tiers - this is to allow bursts of activity.

The rate limits are applied at the Client ID and Organization level (so if 2 different Pushpay Organizations have authorized access to different sets of data, those 2 issued refresh tokens/access tokens will not share the same rate limit).

When a rate limit is hit the Pushpay API will return a 429 status code response Too many requests.

This response will include the following:

  • A body containing information about the limit e.g. "API calls quota exceeded! Maximum admitted 10 per Second."
  • In the header of the response will be a retry-after value which indicates the number of seconds the client needs to wait before attempting another request.
    We recommend using the value in this header and implementing an incremental back-off mechanism as well.

So when making your first attempt at an API request, if you receive a 429 status code response then wait the retry-after number of seconds + 1 second before attempting another request.
If that first retry fails, retry again after retry-after number of seconds + 2 seconds before attempting another request.
Then for subsequent requests wait for an exponential number of seconds e.g. retry-after + 4 seconds,retry-after + 8 seconds, retry-after + 16 seconds etc.

In some cases, including a small random amount of delay will also help to ensure you don't end up with all the retries happening at the same time.

This will provide accommodation for your application making multiple concurrent retry attempts.

The current rate limits of the platform are:

  • 10 requests per second.
  • 60 requests per minute.
  • 500 requests per hour.
  • 5,000 requests per day.
  • 10,000 requests per week.

If you have concerns that your application will need to exceed these limits please contact api@pushpay.com so we can discuss your needs and work together on finding a suitable solution.