Ubc Rate Limits

UBC publishes no institution-wide rate-limit policy, but one of its surfaces does publish and enforce a real, documented one. UBC Library's Open Collections API states a two-tier limit — 10 requests per minute on the shared public key, 200 requests per minute on a key registered to an email address — and enforces it with a machine-readable HTTP 429 that names the client IP, the ceiling, the attempt count and the seconds remaining. This was hit and confirmed live on 2026-08-19 after ten requests in a minute. Abacus Dataverse and the OAI-PMH archive publish no limit; the enterprise gateway at api.ubc.ca is not reachable to measure.

Ubc Rate Limits is the machine-readable rate-limit profile for University of British Columbia on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 5 rate-limit definitions, measuring requests-per-minute and unknown.

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

Tagged areas include Education, Higher Education, University, and Rate Limiting.

5 Limits Throttle: 429
EducationHigher EducationUniversityRate Limiting

Limits

Open Collections — public (unauthenticated) client-ip
requests-per-minute
10
Open Collections — registered API key api-key
requests-per-minute
200
Documented by UBC Library ("Users are also constrained to no more than 200 requests per minute"); key obtained by registering an email address at https://open.library.ubc.ca/docs. Not exercised — no key was requested.
Abacus Dataverse client
unknown
none published
No limit documented or observed; Dataverse 5.9 ships no default public throttle.
Abacus OAI-PMH client
unknown
none published
Harvesters should honour resumptionToken pacing. The endpoint advertises gzip and deflate compression, which is the only bulk-harvest accommodation it states.
UBC IEC gateway unknown
unknown
not observable
api.ubc.ca returns 403 to unentitled callers; limits are set per Data Access Framework grant.

Policies

Backoff Strategy
Exponential backoff with jitter. Open Collections gives the exact seconds remaining in the 429 body but sends no Retry-After header, so parse it or wait 60 seconds.
Bot defence
Independent of rate limits, all *.ubc.ca hosts sit behind an F5 bot defence that returns HTTP 200 with an HTML block page. Aggressive clients get blocked rather than throttled, and the block is invisible to any consumer that reads status codes only. See errors/ubc-errors.yml.

Sources