Courses

This endpoint lets you get data about university courses and their sections. You can get one course or section at a time, several courses or sections at a time, or a list of all the courses.


Parameters:

semester – a six-digit string <year><month>. For example, “201401” for 2014’s Winter semester or “201508” for 2015’s Fall semseter.

See http://api.umd.io/v0/courses?semester=012345 for a list of available semesters.

Courses Endpoint

http://api.umd.io/v0/courses

List all courses

List all the courses available (for the given semester, or the current semester by default).

http://api.umd.io/v0/courses/list

Returns: Array of objects with three properties: course_id, name, and department

Request: GET http://api.umd.io/v0/courses/list Trimmed Response:

[
  {
    "course_id": "AASP100",
    "name": "Introduction to African American Studies",
    "department": "African American Studies"
  },
  {
    "course_id": "AASP101",
    "name": "Public Policy and the Black Community",
    "department":"African American Studies"
  }
]

The course object

The course object represents a single UMD course. The properties of a course are:

course_id – a unique string ID with a four-letter dept_id followed by a three digit course number and an optional letter. Examples: “CSMC132”, “BMGT468Z”.

name – string name of the course.

dept_id – Four-letter string like ENGL or BMGT.

department – Full name of the department that offers a course.

semester – Six-digit number identifying the semester the course is offered. Currently, the API only offers courses for the current semester, but that will change soon.

credits – One-digit number of credits the course is worth.

grading_method – Array of string grading options available. The possible options are “Regular”, “Pass-Fail”, “Audit”, and “Sat-Fail”

core – Array of strings of CORE requirements filled by a course.

gen_ed – Array of strings of GEN. ED requirements filled by a course.

description – String description of a course.

relationships – contains the relationships and restrictions of a course which can be: coreqs, prereqs, restrictions, restricted_to, credit_only_granted_for, credit_granted_for,formerly, and also_offered_as.

sections – Array of section_id strings of the sections of a course. See section object.

Sample course object

{
  "course_id": "ENEE380",
  "name": "Electromagnetic Theory",
  "dept_id": "ENEE",
  "department": "Electrical & Computer Engineering",
  "semester": "201501",
  "credits": "3",
  "grading_method": ["Regular"],
  "core": [],
  "gen_ed": [],
  "description": "Introduction to electromagnetic...",
  "relationships": {
    "coreqs": [],
    "prereqs": ["Prerequisite: PHYS271, PHYS270, ..."],
    "restrictions": [],
    "restricted_to": [],
    "credit_only_granted_for": [],
    "credit_granted_for": [],
    "formerly": [],
    "also_offered_as": []
  },
  "sections": [
    "ENEE380-0101",
    "ENEE380-0102",
    "ENEE380-0103"
  ]
}

Get courses

Get information about one or more courses.


http://api.umd.io/v0/courses/<course_id>

Get information about one course.

Returns: The course object specified, or a 404 error, letting you know that the course doesn’t exist on the database.


http://api.umd.io/v0/courses/<course_ids>

Get information about multiple courses where course_ids is a comma-seperated list of course_id’s.

Returns: Array of course objects. If one of the course objects does not exist, the rest are still returned.

Sample Request

GET http://api.umd.io/v0/courses/ENES100

Response:

{
  "course_id": "ENES100",
  "name": "Introduction to Engineering Design",
  "dept_id":"ENES",
  "department": "Engineering Science",
  "semester": "201501",
  "credits": "3",
  "grading_method": ["Regular", "Pass-Fail", "Audit"],
  "core": ["PS"],
  "gen_ed": ["DSSP"],
  "description": "Students work as teams to design...",
  "relationships": {
    "coreqs": ["Corequisite: MATH140"]
  },
  "sections": [
    "ENES100-0101",
    "ENES100-0201",
    "ENES100-0202",
    "ENES100-0301",
    "ENES100-0302",
    "ENES100-0401",
    "ENES100-0501",
    "ENES100-0502",
    "ENES100-0601",
    "ENES100-0602",
    "ENES100-0801"
  ]
}

Sections

http://api.umd.io/v0/courses/sections

Returns: a Paginated array of Section objects.


Example search query: http://api.umd.io/v0/courses/sections?start_time>=12pm gets all sections that start after 12pm.

See Searching courses for more information about searches.

Sections Root URL: http://api.umd.io/v0/courses/sections

Section object

The section object represents a single section of a course. The properties of a section are:

section_id – a unique section identifier, like ENES100-0101. Always the related course_id with a four-digit section number appended to it.

course_id – The course that the section belongs to.

instructors – An Array of names of the instructors for this section.

seats – The total number of seats offered in a section.

semester – Six-digit number specifying the semester a course is offered.

meetings – Array of JSON objects with the following properties: days: string of days for that meeting, like “MWF”, “TuTh”. start_time: start time of the meeting, like “9:00am”. end_time: end time of the meeting. building: building where the meeting takes place, like “KEY”. room: Four digit room code where the meeting takes place. classtype: String indicates what type of meeting. Could be “Lecture”, “Discussion”, or “Lab”.

Sample section object

{
  "section_id": "ENGL101-0101",
  "course_id": "ENGL101",
  "instructors": [
    "Christopher Philpot"
  ],
  "seats": "19",
  "semester": "201501",
  "meetings": [
    {
      "days": "MWF",
      "start_time": "9:00am",
      "end_time": "9:50am",
      "building": "KEY",
      "room": "0120",
      "classtype": "Lecture"
    }
  ]
}

Get sections

Get information about a section or multiple sections.


http://api.umd.io/v0/courses/sections/<section_id>

To get information about a single section, append the section_id to the sections root URL.

Returns: The specified section object or null


http://api.umd.io/v0/courses/sections/<section_ids>

To get information about multiple sections, append comma-separated section_ids to the sections root URL.

Returns: Array of specified section objects. If one of the sections does not exist, the rest are still returned.

Get departments

Get a list of all department ids.

http://api.umd.io/v0/courses/departments

Trimmed sample response:

[
  "AASP",
  "AAST",
  "AGNR",
  "AMSC",
  "AMST",
  ...
  "WMST"
]