All Schoology Learning users and integrations are subject to rate limiting on both API and browser-based web requests. Rate limits help maintain platform availability for all users.
Default credit allocations
Credits refill every 5 seconds. When credits are exhausted, subsequent requests return an HTTP 429 status code with a Retry-After header indicating how long to wait before retrying.
|
Request type |
Default credits (per 5 seconds) |
|---|---|
|
Public API requests |
50 |
|
Web (browser) requests |
15 |
Credit consumption per request method
|
Request method |
Credits consumed |
|---|---|
|
POST, PUT, DELETE |
3 credits |
|
GET, OPTIONS, and all other methods |
1 credit |
Requests that do not consume credits
-
JavaScript and CSS web asset requests
-
Static end-user-generated content (thumbnails, profile pictures, user-uploaded files)
-
Gradebook operations, file uploads, and other web UX / SPA data requests that typically generate a high volume of system calls
API and web rate limits are enforced independently. Hitting a rate limit on API requests does not affect the web request rate limit, and vice versa. Individual requests may consume variable credits based on the underlying operation. Applications and integrations should implement exponential backoff and retry logic to handle 429 responses gracefully.
Independent enforcement
API and web rate limits are enforced independently. Hitting a rate limit on API requests does not affect the web request rate limit, and vice versa. Individual requests may consume variable credits based on the underlying operation.
Handling HTTP 429 responses
-
Read the Retry-After response header to determine how many seconds to wait.
-
Pause all outbound requests for that duration.
-
Resume with the original request, then continue normal operations.
Applications and integrations should implement exponential backoff and retry logic to handle 429 responses gracefully. Start with the Retry-After value and double the wait time on each successive retry up to a defined maximum.