Rate limits

To keep the service responsive for everyone, each action is capped per rolling window. Hit a cap and the API returns 429 with a Retry-After; just wait it out. Admins and the bot are exempt. These are the live values, straight from the backend.

ActionLimitScope
Upload a skin
Uploading a new .osk to your collection.
3 per hourper user
Save edits
Saving changes to your skins (names, descriptions, tags, order, deletes).
10 per hourper user
Trigger a build
Manually dispatching a CI render of your skins.
5 per hourper user
List builds
Listing recent CI runs.
60 per minuteper user / IP
Read build logs
Fetching a CI run's log.
60 per minuteper user / IP
Live build stream
Opening a live (SSE) stream of a running build.
10 per minuteper user / IP
Open a profile
Loading a member's skin page.
60 per minuteper user / IP
Community list
Loading the community roster.
30 per minuteper IP
Avatars
Fetching member avatars.
120 per minuteper IP
Your own media
Images and .osk files from your own repo.
200 per minuteowner
Others' media
Images and .osk files from anyone else's repo.
60 per minuteper user / IP
Download all
Zipping and downloading every .osk in a collection at once.
5 per hourper user

"per user" limits track your logged-in account; "per IP" track your network address. When signed in, you can check your own remaining budget via the API.