UMBC.me

Programmatic access to public UMBC data
GitHub


Introduction

We are excited to announce UMBC.me which is an API for programmatic access to public data regarding UMBC, such as course data. The goal of this project is to make it easier to access public data regarding the university which is usually fragmented in different places.

Usage #back to top

UMBC.me is a GETful API, this means that currently we only support getting data and do not support creating, updating or deleting. Therefore this API can be used via the browser, curl, or any client with the ability to make HTTP requests.

Example Usages

  • Endpoint: api.umbc.me/v0/classInfo?class=cmsc 331
  • Result: Retrieve information regarding CMSC 331

Response

                                  [
                                     {
                                        "department":"CMSC",
                                        "description":"This course examines the theory, design and implementation of programming languages and provides students with an introduction to programming languages that are likely to be new to them. Topics include specifications of syntax and semantics, declarations, binding, allocation, data structures, data types, control structures, control and data flow, concurrency, and the implementation and execution of programs. The major language paradigms will be described and explored, including imperative, object-oriented, functional, logic programming, concurrent and others. Programming projects will provide experience in several languages.",
                                        "level":331,
                                        "name":"Principles of Programming Language",
                                        "sections":[...],
                                        "title":"CMSC 331"
                                     }
                                  ]
                                

Courses Endpoints #back to top

Below is the documentation for the endpoints for the UMBC API

/v0/getAll #back to top

  • Endpoint: api.umbc.me/v0/getAll
  • Example : api.umbc.me/v0/getAll?limit=2&startAt=AFST
  • Description : Gets all the courses in alphabetical order after the startAt department parameter
  • Parameters
  • limit : Integer
  • startAt : 4 letter department

Response

                              [
                               {
                                  "department":"AFST",
                                  "description":"Understanding the black experience in the African diaspora. A survey of historical and sociocultural ties that link people of African descent worldwide. African roots in world civilizations are discussed. This course is an introductory course for majors and nonmajors.",
                                  "level":100,
                                  "name":"Introduction to The Black Experience",
                                  "sections":[...],
                                  "title":"AFST 212"
                               }
                            ]
                            

/v0/classInfo #back to top

  • Endpoint: api.umbc.me/v0/classInfo
  • Example : api.umbc.me/v0/classInfo?class=ges 286
  • Description : Get information regarding a particular course
  • Parameters
  • class : 4 letter department[SPACE]class number example: cmsc 331

Response

                              [
                                 {
                                    "department":"CMSC",
                                    "description":"This course examines the theory, design and implementation of programming languages and provides students with an introduction to programming languages that are likely to be new to them. Topics include specifications of syntax and semantics, declarations, binding, allocation, data structures, data types, control structures, control and data flow, concurrency, and the implementation and execution of programs. The major language paradigms will be described and explored, including imperative, object-oriented, functional, logic programming, concurrent and others. Programming projects will provide experience in several languages.",
                                    "level":331,
                                    "name":"Principles of Programming Language",
                                    "sections":[...],
                                    "title":"CMSC 331"
                                 }
                              ]
                            

/v0/levelGreater #back to top

  • Endpoint: api.umbc.me/v0/levelGreater
  • Example : api.umbc.me/v0/levelGreater?level=300&limit=100
  • Description : Get information on courses greater than a certain level i.e. 100, 200, 300, 400 etc.
  • Parameters
  • level : Integer
  • limit : Integer

Response

                                      [
                                        {department: "SOCY", level: 300 ...},
                                        {department: "SOCY", level: 301 ...},
                                        {department: "CMSC", level: 304 ...},
                                        ...
                                      ]
                                    

/v0/levelLess #back to top

  • Endpoint: api.umbc.me/v0/levelLess
  • Example : api.umbc.me/v0/levelLess?level=200&limit=100
  • Description : Get information on courses less than a certain level i.e. 100, 200, 300, 400 etc.
  • Parameters
  • level : Integer
  • limit : Integer

Response

                                      [
                                        {department: "SOCY", level: 1 ...},
                                        {department: "SOCY", level: 2 ...},
                                        {department: "CMSC", level: 3 ...},
                                        ...
                                        {department: "CMSC", level: 200 ...},
                                      ]
                                    

/v0/department #back to top

  • Endpoint: api.umbc.me/v0/department
  • Example : api.umbc.me/v0/department?name=cmsc
  • Description : Get information on all the courses in a particular department
  • Parameters
  • name : String
                                      [
                                        {department: "CMSC", level: 104 ...},
                                        {department: "CMSC", level: 201 ...},
                                        {department: "CMSC", level: 203 ...},
                                        ...
                                      ]
                                    

/v0/teachesDept #back to top

  • Endpoint: api.umbc.me/v0/teachesDept
  • Example : api.umbc.me/v0/teachesDept?name=thomas&dept=phil
  • Description : Given a name and a department returns all of the courses a particular professor teaches
  • Parameters
  • name : String
  • dept : 4 Letter Department
                                      [
                                        {instructor(s): "James Thomas", title: "PHIL 100" ...},
                                        {instructor(s): "James Thomas", title: "PHIL 146" ...},
                                        {instructor(s): "James Thomas", title: "PHIL 151" ...},
                                        ...
                                      ]
                                    

/v0/teaches #back to top

  • Endpoint: api.umbc.me/v0/teaches
  • Example : api.umbc.me/v0/teaches?name=bob
  • Description : Given a name and a department returns all of the courses at UMBC that the professor teaches
  • Parameters
  • name : String
                                      [
                                        {instructor(s): "Bob", title: "CMSC 100" ...},
                                        {instructor(s): "Bob Banks", title: "PHIL 146" ...},
                                        {instructor(s): "Bob Ryan", title: "PHIL 151" ...},
                                        ...
                                      ]