Badgr · Rate Limits

Badgr Rate Limits

Badgr does not publish fixed numeric rate limits for its v2 API. Access is gated by OAuth2 - a bearer token from /o/token carrying the granted scopes (rw:profile, rw:issuer, rw:backpack) - and by whatever plan or self-hosted deployment you use rather than by a documented per-minute request cap. On the hosted service, throughput is governed by your subscription and by Instructure's platform protections. On self-hosted badgr-server, throughput is bounded only by your own infrastructure and any throttling you configure in Django REST Framework / the reverse proxy. Bulk workflows favor the batch issue (/v2/badgeclasses/{id}/issue) and batch revoke (/v2/assertions/revoke) endpoints and the *-changed feeds over tight per-record polling.

Badgr Rate Limits is the machine-readable rate-limit profile for Badgr on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 4 rate-limit definitions, measuring requests, seconds, and badges.

The profile also includes 3 backoff/retry policies defined and response codes documented for throttled and unauthorized.

Tagged areas include Digital Badges, Open Badges, Micro-Credentials, Rate Limiting, and Quotas.

4 Limits Throttle: 429
Digital BadgesOpen BadgesMicro-CredentialsRate LimitingQuotas

Limits

v2 API Requests token
requests
not published
No fixed numeric request-rate limit is documented for the v2 API. Gated by OAuth2 scope and plan.
Self-Hosted Throughput deployment
requests
infrastructure-bound
Constrained by your own badgr-server infrastructure and any DRF/proxy throttling you configure.
Access Token Lifetime token
seconds
token expiry (commonly ~86400s)
Bearer tokens expire; refresh via the OAuth2 refresh_token grant at /o/token.
Hosted Plan Quotas account
badges
per plan
Hosted Canvas Credentials / Parchment quotas depend on the institutional subscription.

Policies

OAuth2 Scoped Access
Requests must present a bearer token whose scopes (rw:profile, rw:issuer, rw:backpack) cover the operation; missing scope returns 401/403.
Batch Over Poll
Use batch issue and batch revoke endpoints and the issuers/badgeclasses/assertions changed feeds instead of high-frequency per-record calls.
Backoff Strategy
Clients should implement exponential backoff with jitter and honor Retry-After on 429 responses.

Sources