https://mcmaster-course-api.herokuapp.com
Definitions
GET /courses
Response
200 OKon success
[
{
"identifier": "CLASSICS 1A03",
"name": "CLASSICS 1A03 - Introduction to Classical Archaeology",
"units": "3 unit(s)",
"description": "A study of the history and methodology of Greek and Roman archaeology illustrated with materials from excavated sites.",
"other": "Three lectures; one term"
},
{
"identifier": "CLASSICS 1A03",
"name": "CLASSICS 1B03 - An Introduction to Ancient Myth and Literature",
"units": "3 unit(s)",
"description": "A study of Greek and Roman mythology and literature. Texts such as Homer, Virgil and Greek tragedies will be read in translation.",
"other": "Two lectures, one tutorial; one term"
}
]
Definitions
PUT /courses/<identifier>
Arguments
"identifier" : stringunique identifier for the course"name": stringfriendly name for the course with course code"units": stringhow many units is the course, add unit/unit(s) beside number"description": stringdescription of the course if there is any"other": stringanything additional to add, course requisites, semesters taught
Response
-- 201 Created on success
-- 404 Not Found if the course does not exist
-- Updated course
{
"identifier": "CLASSICS 1A03",
"name": "CLASSICS 1A03 - Introduction to Classical Archaeology",
"units": "3 unit(s)",
"description": "A study of the history and methodology of Greek and Roman archaeology illustrated with materials from excavated sites.",
"other": "Three lectures; one term"
}
Definitions
POST /courses
Arguments
"identifier" : stringunique identifier for the course"name": stringfriendly name for the course with course code"units": stringhow many units is the course, add unit/unit(s) beside number"description": stringdescription of the course if there is any"other": stringanything additional to add, course requisites, semesters taught
If course with identifier already exists, overwrites it
Response
-- 201 Created on success
{
"identifier": "CLASSICS 1A03",
"name": "CLASSICS 1A03 - Introduction to Classical Archaeology",
"units": "3 unit(s)",
"description": "A study of the history and methodology of Greek and Roman archaeology illustrated with materials from excavated sites.",
"other": "Three lectures; one term"
}
Definitions
GET /courses/<identifier>
Response
-- 404 Not Found if the course does not exist
-- 200 OK on success
{
"identifier": "CLASSICS 1A03",
"name": "CLASSICS 1A03 - Introduction to Classical Archaeology",
"units": "3 unit(s)",
"description": "A study of the history and methodology of Greek and Roman archaeology illustrated with materials from excavated sites.",
"other": "Three lectures; one term"
}Definitions
DELETE /devices/<identifier>
Response
--404 Not Found if device doesnt exist
--204 No Content happened successfully but no content to return
Returns CSV of McMaster course information. Scraped data using Selenium library.
If you want to use this script, make sure you install selenium's chrome driver and have it in the correct location.
FYI, This only scrapes information from the McMaster Calender (I noticed that its not always updated, etc there are courses listed on McMaster's CAS website that are not yet on the calender)
