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.

If you're looking for the v0 docs, you can find them at https://docs.umd.io/. Please note that v0 is deprecated. It will continue to be supported until at least 2021, but will get no further feature updates, and will eventually be discontinued.

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
sort
string
Example: sort=course_id,-credits

a comma-separated list of course properties. Defaults to ASCENDING order, use a - (minus) prefix for DESCENDING order. For example, ?sort=course_id,-credits sorts the results ASCENDING by course_id and DESCENDING by credits.

page
number
Example: page=3

For paginated responses, the page to view. 1-indexed. Defaults to 1 if omitted.

per_page
number
Example: per_page=3

Endpoints that return a large amount of items are paginated to 30 items by default. You can use this parameter to set a page size up to 100.

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.

gen_ed
string
Example: gen_ed=DSNS

Gened requirement to search.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List of minified courses

Returns list of all course codes and names

query Parameters
sort
string
Example: sort=course_id,-credits

a comma-separated list of course properties. Defaults to ASCENDING order, use a - (minus) prefix for DESCENDING order. For example, ?sort=course_id,-credits sorts the results ASCENDING by course_id and DESCENDING by credits.

page
number
Example: page=3

For paginated responses, the page to view. 1-indexed. Defaults to 1 if omitted.

per_page
number
Example: per_page=3

Endpoints that return a large amount of items are paginated to 30 items by default. You can use this parameter to set a page size up to 100.

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

Response samples

Content type
application/json
[
  • {
    }
]

List of sections

Returns paginated list of sections

query Parameters
sort
string
Example: sort=course_id,-credits

a comma-separated list of course properties. Defaults to ASCENDING order, use a - (minus) prefix for DESCENDING order. For example, ?sort=course_id,-credits sorts the results ASCENDING by course_id and DESCENDING by credits.

page
number
Example: page=3

For paginated responses, the page to view. 1-indexed. Defaults to 1 if omitted.

per_page
number
Example: per_page=3

Endpoints that return a large amount of items are paginated to 30 items by default. You can use this parameter to set a page size up to 100.

course_id
string
Example: course_id=CMSC216

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

Response samples

Content type
application/json
[
  • {
    }
]

View specific sections

Returns paginated list of sections

path Parameters
section_ids
required
Array of strings
Example: ENGL101-0101,MATH140-0201

One or more comma separated section ids, of format DEPTNNN-XXXX.

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

View specific courses

Returns info about one or more courses

path Parameters
course_ids
required
Array of strings
Example: ENGL101,MATH140,CMSC388F

One or more comma separated course ids, in format DEPTNNN with up to 2 trailing characters.

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

View sections for a course

Returns info about one or more courses

path Parameters
course_ids
required
Array of strings
Example: ENGL101,MATH140,CMSC388F

One or more comma separated course ids, in format DEPTNNN with up to 2 trailing characters.

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

View specific sections for a course

Returns info about one or more courses

path Parameters
course_ids
required
Array of strings
Example: ENGL101,MATH140,CMSC388F

One or more comma separated course ids, in format DEPTNNN with up to 2 trailing characters.

section_ids
required
Array of strings
Example: ENGL101-0101,MATH140-0201

One or more comma separated section ids, of format DEPTNNN-XXXX.

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List semesters

Returns list of all available semesters, each in format YYYYMM

Responses

Response samples

Content type
application/json
[
  • "201901",
  • "201905",
  • "201908"
]

List departments

Returns list of all available departments

Responses

Response samples

Content type
application/json
[
  • "AAST",
  • "CMSC",
  • "MATH"
]

professors

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

List professors

Returns list of all professors

query Parameters
name
string
Example: name=Aaron Bartlett

Professor's name.

course_id
string
Example: course_id=CMSC216

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

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

Response samples

Content type
application/json
[
  • {
    }
]

View specific routes

Get route data for one or more routes

path Parameters
route_ids
required
Array of strings

Route ids

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "count": 1
}

List stops

Get a list of the available stops.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get specific stops

Get data for one or more stops

path Parameters
stop_ids
required
Array of strings

Stop ids

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "count": 1
}

Current bus locations by route

Get bus locations for a route

path Parameters
route_id
required
string

Route id

Responses

Response samples

Content type
application/json
{
  • "lastTime": {
    },
  • "copyright": "string"
}

Bus schedules

Get bus schedules for a route

path Parameters
route_id
required
string

Route id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get arrivals for a stop for a route

Get arrivals for a stop for a route

path Parameters
route_id
required
string

Route id

stop_id
required
string

Stop id

Responses

Response samples

Content type
application/json
{