APIsRate Limits

Rate Limits

Overview

TestGorilla’s API implements rate limiting to ensure stability and fair usage for all users. Rate limits are determined by the number of requests allowed per minute from a single API token or IP address. When a rate limit is exceeded, the API will return a 429 Too Many Requests response until the limit period has elapsed.

⚠️

Important: Exceeding the rate limits consistently may result in temporary or permanent blocking of your API token. Monitor your request patterns and implement proper error handling to manage rate limits effectively.

Rate Limit Headers

When making API requests, the following headers are returned to help you monitor your rate limit usage:

  • X-RateLimit-Limit: The maximum number of requests allowed in the current time window.
  • X-RateLimit-Remaining: The number of requests remaining in the current time window.
  • X-RateLimit-Reset: The time in seconds until the rate limit resets.

API Endpoints Rate Limits

The table below outlines the rate limits for each TestGorilla API endpoint based on the latest specifications. Note that rates are specified in requests per minute.

EndpointMethodRate Limit *
/api/assessments/GET20
/api/assessments/<ASSESSMENT_ID>GET20
/api/assessments/candidates/<TEST_TAKER_ID>/?candidature=<CANDIDATURE_ID>GET100
/api/assessments/candidates/<TESTTAKER_ID>/GET100
/api/assessments/<ASSESSMENT_ID>/invite_candidate/POST60
/api/assessments/public_links/<PUBLIC_LINK_UUID>PUT10
/api/assessments/candidature/<ID>/send-invitation/POST60
/api/assessments/candidature?assessment=<ASSESSMENT_ID>GET100
/api/assessments/candidature/<CANDIDATURE_ID>/DELETE20
/api/assessments/candidature/<CANDIDATURE_ID>/change_stage/PATCH60
/api/assessments/candidature/<CANDIDATURE_ID>/send-reminder/POST30
/api/assessments/results/?candidature_assessment=<ASSESSMENT_ID>&candidature_test_taker=<TESTTAKER_ID>GET60
/api/assessments/results/<TEST_RESULT_ID>/GET60
/api/assessments/candidates/<TEST_TAKER_ID>/render_pdf/?candidature=<CANDIDATURE_ID>GET10
/api/assessments/code_questions/<TEST_RESULT_ID>/invitation_token/GET12
* Rate Limit is expressed in requests per minute

Handling Rate Limiting

When you exceed the rate limit, you’ll receive a 429 Too Many Requests response. We recommend implementing strategies like exponential backoff in your applications to handle these situations gracefully and retry requests after the X-RateLimit-Reset period.

Tip: If you have any questions about rate limits, please contact our support team.