umd.io (1.0.0 Beta)

Download OpenAPI specification:Download

E-mail: hi@umd.io License: MIT

Welcome to umd.io, the open-source API for University of Maryland data. If you are building a University data-focused app, hack, or project, you’re in the right place. This site will walk you through basic API use and document all supported API calls.

umd.io is a GETful API. It follows RESTful conventions, but for now, you can only get data – you can’t create, update, or destroy.

We're now in version 1! We might add new endpoints or more data to existing responses, but we won't remove anything without a major version change.

We are actively looking for contributors! Tweet, email, or otherwise get in touch with us.

courses

This set of endpoints 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. All the data is scraped from Testudo.

List of courses

Returns paginated list of courses

query Parameters
semester
string
Example: semester=202008|leq

6-digit semester ID to search, with optional comparator, separated by a pipe. Valid comparators are eq, leq, lt, gt, geq, neq.

credits
string
Example: credits=3|leq

The number of credits to watch, with optional comparator, separated by a pipe. Valid comparators are eq, leq, lt, gt, geq, neq.

dept_id
string
Example: dept_id=CMSC

4 Letter department code to search.

grading_method
string

Grading method to search on.

core
string

Core requirement to search on.

gen_ed
string

Gened requirement to search.

Responses

200

Successful Operation

get /courses
https://api.umd.io/v1/courses

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

List of minified courses

Returns list of all course codes and names

Responses

200

Successful Operation

get /courses/list
https://api.umd.io/v1/courses/list

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

List of sections

Returns paginated list of sections

query Parameters
course_id
string

7 or 8 digit course id. See the course object for more info.

seats
string
Example: seats=200

Number of total seats in a section, with optional comparator, separated by a pipe. Valid comparators are eq, leq, lt, gt, geq, neq.

open_seats
string
Example: open_seats=5

Number of open seats in a section, with optional comparator, separated by a pipe. Valid comparators are eq, leq, lt, gt, geq, neq.

waitlist
string
Example: waitlist=10

Number of people on the waitlist for a class, with optional comparator, separated by a pipe. Valid comparators are eq, leq, lt, gt, geq, neq.

semester
string
Example: semester=202008|leq

6-digit semester ID to search, with optional comparator, separated by a pipe. Valid comparators are eq, leq, lt, gt, geq, neq.

Responses

200

Successful Operation

get /courses/sections
https://api.umd.io/v1/courses/sections

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

View specific sections

Returns paginated list of sections

path Parameters
section_ids
required
Array of strings

One or more comma separated section ids

Responses

200

Successful Operation

400

Malformed section id

404

Unknown section id

get /courses/sections/{section_ids}
https://api.umd.io/v1/courses/sections/{section_ids}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

View specific courses

Returns info about one or more courses

path Parameters
course_ids
required
Array of strings

One or more comma separated course ids

Responses

200

Successful Operation

400

Malformed course id

404

Unknown course id

get /courses/{course_ids}
https://api.umd.io/v1/courses/{course_ids}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

View sections for a course

Returns info about one or more courses

path Parameters
course_ids
required
Array of strings

One or more comma separated course ids

Responses

200

Successful Operation

400

Malformed course id

404

Unknown course id

get /courses/{course_ids}/sections
https://api.umd.io/v1/courses/{course_ids}/sections

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

View specific sections for a course

Returns info about one or more courses

path Parameters
course_ids
required
Array of strings

One or more comma separated course ids

section_ids
required
Array of strings

One or more comma separated section ids

Responses

200

Successful Operation

400

Malformed course id or section id

404

Unknown course id or section id

get /courses/{course_ids}/sections/{section_ids}
https://api.umd.io/v1/courses/{course_ids}/sections/{section_ids}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

List semesters

Returns list of all available semesters

Responses

200

Successful Operation

get /courses/semesters
https://api.umd.io/v1/courses/semesters

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

List departments

Returns list of all available departments

Responses

200

Successful Operation

get /courses/departments
https://api.umd.io/v1/courses/departments

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "string"
]

professors

This endpoint contains information about univeristy professors and the courses they have taught.

List professors

Returns list of all professors

query Parameters
name
string

Professor's name.

course_id
string

7 or 8 digit course id. See the course object for more info.

Responses

200

Successful Operation

400

Malformed query parameters

404

No Professors Found

get /professors
https://api.umd.io/v1/professors

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

bus

This endpoint lets you get data about bus routes, schedules, stops, locations, and predicted arrival times. The data is provided by NextBus, which monitors buses and gives the data to us via their API. We think our API is easier to use, but our data might be behind NextBus by a few seconds. If your app requires to-the-second bus location info, you can go right to the source. All bus data is copyright University of Maryland

List routes

Get a list of the available routes.

Responses

200

Successful Operation

get /bus/routes
https://api.umd.io/v1/bus/routes

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

View specific routes

Get route data for one or more routes

path Parameters
route_ids
required
Array of strings

Route ids

Responses

200

Successful Operation

400

Malformed route code

404

Unknown route code

get /bus/routes/{route_ids}
https://api.umd.io/v1/bus/routes/{route_ids}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    },
  • "count": 1
}

List stops

Get a list of the available stops.

Responses

200

Successful Operation

get /bus/stops
https://api.umd.io/v1/bus/stops

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Get specific stops

Get data for one or more stops

path Parameters
stop_ids
required
Array of strings

Stop ids

Responses

200

Successful Operation

400

Malformed route code

404

Unknown route code

get /bus/s