The University of Waterloo is a public research university in Waterloo, Ontario, Canada, known for cooperative education and for strength in mathematics, engineering and computer science. Unusually for this cohort, Waterloo genuinely operates its own API programme rather than appearing programmable through a vendor's contract: the Open Data API v3 at openapi.data.uwaterloo.ca is Waterloo-built and Waterloo-hosted, publishes a first-party OpenAPI at /swagger/v1/swagger.json, exposes 48 self-serve key-authenticated operations across courses, class and exam schedules, terms, subjects, academic organizations, locations, food services, important dates and web content, and carries a dated release-note stream, a published 120 requests-per-minute cap and a completed v2 retirement. Alongside it Waterloo runs a second, deliberately gated SourceAPI over authoritative Quest and WatIAM data, its own Shibboleth identity provider at idp.uwaterloo.ca, and the UWSpace institutional repository with DSpace REST and OAI-PMH endpoints on a Waterloo Libraries host. What it does not run is the research-data platform: Waterloo's data collection is a tenancy on the consortial Borealis Dataverse, and its status page is a Statuspage tenancy — both recorded here as relationships, not as Waterloo engineering. There is no unified developer portal spanning the three programmes; documentation is split between a Confluence space, a GitHub wiki and a Swagger UI.
University of Waterloo publishes 20 API contracts indexed on the APIs.io network, including AcademicOrganizations API, Account API, ClassSchedules API, and 17 more. Tagged areas include Education, Higher Education, University, Open Data, and Canada.
The University of Waterloo catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.
University of Waterloo’s developer surface includes changelog, documentation, API reference, getting-started guide, signup flow, support, engineering blog, and 46 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Education & Research regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/university-of-waterloo/"><img src="https://apis.io/badge/university-of-waterloo/card.svg" alt="University of Waterloo on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
MCP Server+12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
Stable Error Semantics+8 pts — OpenAPI $refs a shared error schema across 4xx/5xx responses (verified), else common[].type includes ErrorCatalog / ErrorCodes / DeclineCodes
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Delegated User Identity+6 pts — a served discovery document listing authorization_code in grant_types_supported (served), else an oauth2 authorizationCode flow or openIdConnect declared in an OpenAPI (documented)
7 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Access Clarityscores 47.4 — up to +10.5 composite points
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted.
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
A second, deliberately gated University of Waterloo API programme providing authenticated access to data from authoritative source systems including Quest (student information) ...
The REST backend of UWSpace, the University of Waterloo institutional repository, running DSpace 8.4 on a University of Waterloo Libraries host. The root document at /server/api...
The OAI-PMH 2.0 metadata harvesting endpoint for UWSpace, the University of Waterloo institutional repository. A verb=Identify request returns protocolVersion 2.0, repositoryNam...
The University of Waterloo's own SAML 2.0 identity provider metadata, served as XML from idp.uwaterloo.ca. The EntityDescriptor carries entityID https://idp.uwaterloo.ca/idp/shi...
Waterloo's named research-data collection on Borealis, the Canadian consortial Dataverse repository operated by Scholars Portal for the Ontario Council of University Libraries. ...
The University of Waterloo is Crossref member 6095, holding DOI prefix 10.15353 with 3,104 DOIs registered as of 2026-09-01. This is an identifier-registry membership — a fact a...
The University of Waterloo's Research Organization Registry record, ROR ID https://ror.org/01aff2v68, carrying the uwaterloo.ca domain, an establishment year of 1956, and cross-...
Waterloo's public service status page at status.uwaterloo.ca, with the full Statuspage v2 JSON API behind it — status.json, summary.json and an RSS incident history all return 2...
Not yet checked against University of Waterloo's own pricing page. Compiled by API Evangelist on 2026-06-03 from raw.githubusercontent.com/api-evangelist/university-of-wa...; confirm before you rely on a figure. A free plan or tier is listed.
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: university-of-waterloo
name: University of Waterloo
description: 'The University of Waterloo is a public research university in Waterloo, Ontario, Canada, known for cooperative
education and for strength in mathematics, engineering and computer science. Unusually for this cohort, Waterloo genuinely
operates its own API programme rather than appearing programmable through a vendor''s contract: the Open Data API v3 at
openapi.data.uwaterloo.ca is Waterloo-built and Waterloo-hosted, publishes a first-party OpenAPI at /swagger/v1/swagger.json,
exposes 48 self-serve key-authenticated operations across courses, class and exam schedules, terms, subjects, academic organizations,
locations, food services, important dates and web content, and carries a dated release-note stream, a published 120 requests-per-minute
cap and a completed v2 retirement. Alongside it Waterloo runs a second, deliberately gated SourceAPI over authoritative
Quest and WatIAM data, its own Shibboleth identity provider at idp.uwaterloo.ca, and the UWSpace institutional repository
with DSpace REST and OAI-PMH endpoints on a Waterloo Libraries host. What it does not run is the research-data platform:
Waterloo''s data collection is a tenancy on the consortial Borealis Dataverse, and its status page is a Statuspage tenancy
— both recorded here as relationships, not as Waterloo engineering. There is no unified developer portal spanning the three
programmes; documentation is split between a Confluence space, a GitHub wiki and a Swagger UI.'
x-type: university
x-category: Public Research University
type: Index
deliveryModel:
model: saas
license_evidence:
not_product:
- uwaterloo/datasets
- uwaterloo/opendata
open_source: unknown
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: low
source:
- openapi
- pricing
- repository-not-product
generated: '2026-09-25'
method: derived
accessModel:
pricing: free
onboarding: self-serve
trial: false
try_now: true
public: false
gated: none
gated_source:
- onboarding
label: Free · Self-serve signup
confidence: high
probe_state: covered
source:
- plans
- authentication
- rate-limits
- security
generated: '2026-11-06'
method: derived
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/university-of-waterloo.png
url: https://raw.githubusercontent.com/api-evangelist/university-of-waterloo/refs/heads/main/apis.yml
tags:
- Education
- Higher Education
- University
- Open Data
- Canada
- Ontario
- Research
- Research Data
- Course Catalog
- Identity Federation
- Research Repository
- Campus Life
created: '2026-06-03'
modified: '2026-09-01'
specificationVersion: '0.23'
x-coverage:
state: covered
reason: covered
detail: 'Every layer of Waterloo''s programmable footprint was reached unauthenticated. The live first-party OpenAPI was
located behind the Swagger UI at /swagger/v1/swagger.json (48 operations, 12 tags, apiKey scheme) and matches the pristine
copy in openapi/_original/. Live unauthenticated calls to /v3/Terms, /v3/Subjects and /v3/Locations returned the real
401 error envelope, which the contract does not document. The Confluence UWAPI space was read through the Confluence content
API, yielding the SourceAPI programme, its terms of service and acceptable use policy, the roadmap, the dataset inventory
and a dated release-note stream back to 2017 including the published 120 req/min cap. Waterloo''s own Shibboleth IdP metadata,
the UWSpace DSpace 8.4 REST root and its OAI-PMH Identify response all returned 200 on Waterloo hosts. Crossref member
6095 and ROR 01aff2v68 were confirmed against the registries. Two vendor tenancies were recorded rather than credited
as Waterloo contracts: the Borealis Dataverse collection and the Statuspage status API. The one dead pointer found — the
Waterloo News RSS feed, which now returns a deliberate 403 Access denied page — was removed and replaced with the live
news index.'
evidence:
- url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
status: 200
- url: https://openapi.data.uwaterloo.ca/v3/Terms
status: 401
- url: https://idp.uwaterloo.ca/idp/shibboleth
status: 200
- url: https://dspacemainprd01.lib.uwaterloo.ca/server/api
status: 200
- url: https://dspacemainprd01.lib.uwaterloo.ca/server/oai/request?verb=Identify
status: 200
- url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
status: 200
- url: https://status.uwaterloo.ca/api/v2/summary.json
status: 200
- url: https://api.crossref.org/members/6095
status: 200
- url: https://borealisdata.ca/api/search?q=waterloo&type=dataverse
status: 200
- url: https://uwaterloo.ca/news/rss.xml
status: 403
checked: '2026-09-01'
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
common:
- type: Deprecation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/blog/2020/09/17/34163165086
- type: AgentSkill
url: skills/_index.yml
- type: ChangeLog
url: changelog/university-of-waterloo-changelog.yml
- type: Conventions
url: conventions/university-of-waterloo-conventions.yml
- type: Overlay
url: overlays/university-of-waterloo-academicorganizations-api-overlay.yaml
- type: SecurityTxt
url: well-known/university-of-waterloo-api-security.txt
- type: Spectral
url: rules/university-of-waterloo-rules.yml
- type: Spectral
url: rules/university-of-waterloo-jsonschema-spectral-rules.yml
- type: DataModel
url: data-model/university-of-waterloo-data-model.yml
- type: Security
url: https://soc.uwaterloo.ca
- type: SecurityTxt
url: well-known/university-of-waterloo-uwaterloo-security.txt
- type: SecurityTxt
url: well-known/university-of-waterloo-status-security.txt
- type: SecurityTxt
url: well-known/university-of-waterloo-security.txt
- type: Hosts
url: hosts/university-of-waterloo-hosts.yml
- type: IntegrationEdges
url: integrations/university-of-waterloo-integration-edges.yml
- type: Vendors
url: vendors/university-of-waterloo-vendors.yml
- type: Website
url: https://uwaterloo.ca/
- type: DeveloperPortal
url: https://uwaterloo.ca/api/
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Swagger
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: GettingStarted
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: SignUp
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: TermsOfService
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34019780998/Terms+of+Service+SourceAPI
- type: AcceptableUsePolicy
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34019781061/Acceptable+Use+Policy+SourceAPI
- type: PrivacyPolicy
url: https://uwaterloo.ca/privacy/
- type: Compliance
url: https://uwaterloo.ca/secretariat-general-counsel/policies-procedures-guidelines/policy-46-information-management
- type: StatusPage
url: https://status.uwaterloo.ca/
- type: ChangeLog
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/blog/2026/01/23/44869681282/Open+Data+API+Functional+Changes
- type: Roadmap
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34019779689/Roadmap+-+OpenAPI
- type: Support
url: https://uwaterloo.atlassian.net/servicedesk/customer/portal/115
- type: IssueTracker
url: https://github.com/uWaterloo/Datasets/issues
- type: GitHubOrganization
url: https://github.com/uWaterloo
- type: SourceCode
url: https://github.com/uWaterloo/Datasets
- type: WellKnown
url: https://uwaterloo.ca/.well-known/security.txt
- type: LinkedIn
url: https://www.linkedin.com/school/university-of-waterloo/
- type: Blog
url: https://uwaterloo.ca/news/
- type: OpenData
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34019779691/Datasets+OpenAPI
- type: CourseCatalog
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34006663321/Course+Schedule
- type: ResearchRepository
url: https://uwspace.uwaterloo.ca/
- type: IdentityFederation
url: https://idp.uwaterloo.ca/idp/shibboleth
- type: AIPolicy
url: https://uwaterloo.ca/artificial-intelligence-institute/
- type: Conformance
url: conformance/university-of-waterloo-conformance.yml
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: CapabilityMap
url: capabilities/university-of-waterloo-capability-edges.yml
name: University of Waterloo Business Capability Map
- type: AgenticAccess
url: agentic-access/university-of-waterloo-agentic-access.yml
- type: VulnerabilityDisclosure
url: security/university-of-waterloo-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/university-of-waterloo-domain-security.yml
- type: Authentication
url: authentication/university-of-waterloo-authentication.yml
- type: Plans
url: plans/university-of-waterloo-plans-pricing.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
- type: FinOps
url: finops/university-of-waterloo-finops.yml
- type: Review
url: review.yml
apis:
- aid: university-of-waterloo:university-of-waterloo-academicorganizations-api
name: University of Waterloo AcademicOrganizations API
description: The AcademicOrganizations API from University of Waterloo — 2 operation(s) for academicorganizations.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- AcademicOrganizations
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-academicorganizations-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-account-api
name: University of Waterloo Account API
description: The Account API from University of Waterloo — 5 operation(s) for account.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Account
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-account-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-classschedules-api
name: University of Waterloo ClassSchedules API
description: The ClassSchedules API from University of Waterloo — 3 operation(s) for classschedules.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Class Schedules
tags_raw:
- ClassSchedules
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-classschedules-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-courses-api
name: University of Waterloo Courses API
description: The Courses API from University of Waterloo — 5 operation(s) for courses.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Courses
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-courses-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-examschedules-api
name: University of Waterloo ExamSchedules API
description: The ExamSchedules API from University of Waterloo — 2 operation(s) for examschedules.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- ExamSchedules
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-examschedules-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-foodservices-api
name: University of Waterloo FoodServices API
description: The FoodServices API from University of Waterloo — 6 operation(s) for foodservices.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Food Service
tags_raw:
- FoodServices
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-foodservices-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-holidaydates-api
name: University of Waterloo HolidayDates API
description: The HolidayDates API from University of Waterloo — 3 operation(s) for holidaydates.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- HolidayDates
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-holidaydates-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-importantdates-api
name: University of Waterloo ImportantDates API
description: The ImportantDates API from University of Waterloo — 2 operation(s) for importantdates.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- ImportantDates
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-importantdates-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-locations-api
name: University of Waterloo Locations API
description: The Locations API from University of Waterloo — 6 operation(s) for locations.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Location
tags_raw:
- Locations
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-locations-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-subjects-api
name: University of Waterloo Subjects API
description: The Subjects API from University of Waterloo — 3 operation(s) for subjects.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Subjects
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-subjects-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-terms-api
name: University of Waterloo Terms API
description: The Terms API from University of Waterloo — 3 operation(s) for terms.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Terms
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-terms-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
- type: Authentication
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: JSONSchema
url: json-schema/university-of-waterloo-course-schema.json
- type: JSONStructure
url: json-structure/university-of-waterloo-course-structure.json
- type: Examples
url: examples/university-of-waterloo-course-detail-example.json
- type: Rules
url: rules/university-of-waterloo-rules.yml
- type: Vocabulary
url: vocabulary/university-of-waterloo-vocabulary.yml
- type: JSONLD
url: json-ld/university-of-waterloo-context.jsonld
- type: Documentation
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/overview
- type: GettingStarted
url: https://github.com/uWaterloo/OpenData/wiki/Home---Getting-Started
- type: Lifecycle
url: lifecycle/university-of-waterloo-lifecycle.yml
- type: RateLimits
url: rate-limits/university-of-waterloo-rate-limits.yml
x-operator: institution
x-operator-basis: Host openapi.data.uwaterloo.ca is under the University of Waterloo registrable domain; the contract is
titled "Waterloo OpenData API" and is served by Waterloo from its own Swagger UI. No vendor identity appears in servers[],
info.title or info.contact.
- aid: university-of-waterloo:university-of-waterloo-wcms-api
name: University of Waterloo Wcms API
description: The Wcms API from University of Waterloo — 8 operation(s) for wcms.
humanURL: https://uwaterloo.ca/api/
baseURL: https://openapi.data.uwaterloo.ca/v3/
tags:
- Wcms
properties:
- type: OpenAPI
url: openapi/university-of-waterloo-wcms-api-openapi.yml
- type: APIReference
url: https://openapi.data.uwaterloo.ca/swagger/v1/swagger.json
- type: Documentation
url: https://openapi.data.uwaterloo.ca/api-docs/index.html
- type: Signup
url: https://uwaterloo.atlassian.net/wiki/spaces/UWAPI/pages/34025641600/Getting+Started+-+OpenAPI
- type: GitHub
url: https://github.com/uWaterloo/OpenData
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://artifacts.apis.io/university-of-waterloo/apis.yml
University of Waterloo API — frequently asked questions
Does University of Waterloo have an API?
Yes. APIs.io lists 20 APIs from University of Waterloo, including University of Waterloo AcademicOrganizations API, University of Waterloo Account API and University of Waterloo ClassSchedules API, and 17 more.
Is there an OpenAPI specification for the University of Waterloo API?
Yes. APIs.io indexes 12 OpenAPI specifications for University of Waterloo, each linked for download from this page.
How do I authenticate with the University of Waterloo API?
University of Waterloo uses bearer-token authentication (apiKey · 1 scheme). The details are profiled on APIs.io as University Of Waterloo Authentication.
How much does the University of Waterloo API cost?
APIs.io lists 2 pricing plans for University of Waterloo, with each plan's price, limits and inclusions under Pricing on this page.
Is the University of Waterloo API ready for AI agents?
University of Waterloo has a Kin Score of 61.2 out of 100 (strong) and an Agent Readiness score of 25.5 (agent-aware), scored by API Evangelist on 2026-11-06.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.