The University of Waterloo API allows anyone to build applications using data from the uWaterloo websites. The API currently features more than 40 methods of accessing various datasets across the University network.
If you find an error in the documentation, file an issue or send a pull request.
Review the 'No Warranty' section of the University of Waterloo ODL before using this data. If building services upon this data, please inform your users of the inherent risks (as a best practice).
Version 2 (legacy) Documentation
Accessing the API
All calls are made to the following URL with the required parameters for a given service.
In order to make an API call, you must have a valid API Key (at this time we are not issuing new keys pending a replacement version).
The data is returned in
xml where the output format can be specified in the request URL
Client Libraries (Community supported)
Please address any customer service issues regarding client libraries to the community developers of the libraries. If you would like your library to be added, please make a pull request.
- UWaterlooDriver (Python)
- UWaterlooAPI (Python)
- UWAPI (NodeJS)
- UWaterloo-API (NodeJS)
- UWaterlooAPI (Ruby)
- UWaterlooAPI (C#)
- UWAPI.go (Golang)
- UWDart (Dart)
- UWaterloo-API (Java)
- UW-Open-Data-API (Java)
- uwaterloo-api (Java)
- WatSwift (Swift)
- UWAPI-PHP (PHP)
- uw-api-objc (Objective-C)
- See Terms endpoint for bulk data
- See Codes endpoint for subject listings
Definitions and Codes
Points of Interest
People Directory Search
If you would like to offer your suggestions or report any problems regarding the API, simply create a new issue on the issues tab of the OpenData Repository and assign it an appropriate label.
The API is now free to use with unlimited calls!
The intent of data offered through this API is limited to publicly visible data only. Private data such as student specific information is out of the API's scope.
If you have any inquiries or suggestions, please feel free to contact us at https://uwaterloo.ca/api/contact-us.
Please consider subscribing to our mailing list in order to receive updates on the API and follow discussions.