Skip to main content

Rate limits

The Good Grants API employs rate limits to help maximize stability and prevent service disruptions.

Request rate limits

Rate limiting is set at 60 requests per API key per minute. Requests above this limit return a 429 TOO MANY REQUESTS response. All API responses include the following headers to help you monitor and manage your request rate:
integer
Maximum number of requests allowed per minute.Example: 60
integer
Number of requests remaining in the current rate limit window.Example: 58
integer
Unix timestamp when the rate limit window resets.Example: 1783470988
When you receive a 429 error, the rate limit headers are replaced with a Retry-After header indicating the number of seconds to wait before retrying.

File upload size limits

File uploads are limited to a maximum size of 256 MB. Requests exceeding this limit return a 413 PAYLOAD TOO LARGE response.

Retry recommendations

We recommend implementing retry logic for 429 and 503 errors using an exponential backoff strategy with randomized jitter to avoid overwhelming the server.
Only retry after the time indicated by the Retry-After header (in seconds) has elapsed. Immediate retries will always receive a 429 error.
Example retry strategy:
  1. Receive a 429 or 503 error
  2. Read the Retry-After header value (seconds)
  3. Wait for the specified duration plus a random jitter (0-5 seconds)
  4. Retry the request
  5. If the request fails again, double the wait time and repeat