Unofficial API for the University of Illinois at Urbana-Champaign. Provides data for various services on campus such as Dining, Weather, Wi-Fi, etc. The API is built with Python, Flask + Flask RESTful, and Redis. Interest in the project was gauged here. This is still very much a WIP, so please feel free to submit an issue or contribute!
Note: This is an unofficial API and is not supported or controlled by the University of Illinois at Urbana-Champaign itself. Any questions, comments, feedback or feature requests should be directed to xasos or via an issue in this repo.
Notice: This API is currently in progess, so all code may not be up-to-date or working! Initial release coming soon :D
Base URL: http://uiuc-api.herokuapp.com
Output: JSON
Get information about food options from all dining halls.
Get detailed menus from specific dining halls from a range of dates
List of Halls:
Residence Hall | Dining Hall | Hall Nickname | Hall ID |
---|---|---|---|
Lincoln Avenue (LAR) | Lincoln/Allen Dining Hall | lar | 5 |
Lincoln Avenue (LAR) | Field of Greens | fieldofgreens | 12 |
Lincoln Avenue (LAR) | Leafy! | leafy | 13 |
Pennsylvania Avenue (PAR) | PAR Dining Hall | par | 2 |
Pennsylvania Avenue (PAR) | Penn Station | pennstation | 14 |
Illinois Street (ISR) | ISR Dining Hall | isr | 3 |
Illinois Street (ISR) | CHOMPS | chomps | 18 |
Illinois Street (ISR) | Cocina Mexicana | cocinamexicana | 10 |
Illinois Street (ISR) | Taste of Asia | tasteofasia | 17 |
Ikenberry | Ikenberry Dining Hall | ikenberrydininghall | 1 |
Ikenberry | 57 North | 57north | 7 |
Ikenberry | Better Burger | betterburger | 20 |
Ikenberry | Caffeinator | caffeinator | 9 |
Ikenberry | Neo Soul Ingredient | neosoulingredient | 21 |
Florida Avenue (FAR) | FAR Dining Hall | far | 6 |
Florida Avenue (FAR) | Cracked Egg Café | crackedeggcafe | 8 |
Florida Avenue (FAR) | Soul Ingredient | soulingredient | 16 |
Busey-Evans | Busey-Evans Dining Hall | buseyevans | 4 |
Busey-Evans | Busey Bean and Green | buseybeanandgreen | 11 |
Busey-Evans | Oodles | oodles | 19 |
Hall
route parameter can use the Hall ID or Hall nickname when querying.
Example Query:
http://uiuc-api.herokuapp.com/dining/par/2015-11-08/2015-11-08
Response:
{
"Menus":{
"Item":[
{
"EventDate":1446962400,
"DiningMenuID":52456,
"ServiceUnit":"Arugula's Serving",
"Course":"Salads",
"CourseSort":250,
"FormalName":"Fruit & Nut Chicken Salad",
"Meal":"Dinner",
"Traits":"Eggs,Soy,Tree Nuts,",
"DiningOptionID":2,
"ScheduleID":9,
"ItemID":5978
},
{
"EventDate":1446962400,
"DiningMenuID":50688,
"ServiceUnit":"Arugula's Serving",
"Course":"Salads",
"CourseSort":250,
"FormalName":"Macaroni Salad",
"Meal":"Dinner",
"Traits":"Corn,Eggs,Gluten,Soy,Vegetarian,Wheat,",
"DiningOptionID":2,
"ScheduleID":9,
"ItemID":3208
},
...
...
Get today's menu for each of the dining halls
Example query:
https://uiuc-api.herokuapp.com/dining/par
Search dining halls for specific foods.
Example Query:
http://uiuc-api.herokuapp.com/dining/search/pasta
Response:
{
"Data":{
"Table":[
{
"name":"ItemList",
"Row":[
{
"Item_IntID":"16596",
"FormalName":"BLT Pasta Salad",
"ScheduleIDs":[
{
"ScheduleID":4,
"DiningOptionID":4,
"EventDate":1447221600
}
]
},
{
"Item_IntID":"17136",
"FormalName":"Campanelle Pasta",
"ScheduleIDs":[
{
"ScheduleID":21,
"DiningOptionID":5,
"EventDate":1447653600
},
{
"ScheduleID":42,
"DiningOptionID":1,
"EventDate":1447308000
},
{
"ScheduleID":42,
"DiningOptionID":1,
"EventDate":1447912800
}
]
},
...
...
Search information on specific dining halls and calorie content for different food .
Example Query:
http://uiuc-api.herokuapp.com/dining/information
Response:
{
"Data":{
"Table":[
{
"Row":[
{
"Address":"301 E. Gregory Drive, Champaign",
"DiningLocation":"Ikenberry Commons",
"DiningOptionID":1,
"DiningOptionName":"Ikenberry Dining Hall",
"MoreInfo":"<p>Located on the first floor of the Student Dining and Residential Programs Building, the Ike features multiple cuisines and made-to-order dishes in this all-you-care-to-eat dining hall. Use a Classic Meal, Café Credits, Extra Credits, or a credit card.</p>",
"Serving":"('Don''s Chophouse Serving', 'Gregory Street Diner Serving', 'Hortensia''s Serving', 'Penne Lane Serving', 'Prairie Fire Serving', 'Soytainly Serving', 'Euclid Street Deli Serving')",
"Type":"Classic Dining Hall"
},
{
"Address":"906 W. College Court, Urbana",
"DiningLocation":"Pennsylvania Avenue (PAR)",
"DiningOptionID":2,
"DiningOptionName":"PAR Dining Hall",
"MoreInfo":"<p>Located downstairs at the Pennsylvania Avenue Residence Halls, the PAR dining hall features multiple cuisines and made-to-order dishes in this all-you-care-to-eat dining hall. Use a Classic Meal, Café Credits, Extra Credits, or a credit card.</p>",
"Serving":"('Abbondante Serving', 'Arugula''s Serving', 'Better Burger', 'La Avenida Serving', 'Panini Bar', 'Provolone Serving', 'Sky Garden Serving')",
"Type":"Classic Dining Hall"
},
...
...
Get University Dining Hall balances and credits.
Post Parameters:
Example Query:
http://uiuc-api.herokuapp.com/dining/balance
Response:
...
...
(https://web.housing.illinois.edu/MobileDining/WebService/SettingTable.aspx?k=7A828F94-620B-4EE3-A56F-328036CC3C04&t=json&ts=5-10-2012%2014:30:00) (https://web.housing.illinois.edu/MobileDining/WebService/MyBalances.asmx/GetBalances?k=7A828F94-620B-4EE3-A56F-328036CC3C04&HT=) (https://web.housing.illinois.edu/MobileDining/WebService/MobileDining.asmx/SearchMenus?k=7A828F94-620B-4EE3-A56F-328036CC3C04&SearchPhrase=salsa)
Get weather information from the Department of Atmospheric Sciences.
Get Champaign-Urbana weather information from the Williard Airport weather station.
Example Query:
http://uiuc-api.herokuapp.com/weather
Response:
{
"weather_station_location": "Willard Airport",
"last_recorded_time": "1446098674",
"weather_condition": "Cloudy Skies",
"temperature": "54",
"dew_point": "45",
"relative_humidity": "71%",
"winds": "NW at 17 mph",
"visibility": "10 miles",
"pressure": "1020.0 mb (30.13 in)",
"sunrise": "7:13AM",
"sunset": "6:01PM",
"images": {
"latest_radar_image": "https://www.atmos.illinois.edu/weather/tree/prods/current/nicerad/nicerad_N.gif",
"storm_total_precip_image": "https://www.atmos.illinois.edu/weather/tree/prods/current/niceradilxpretx/niceradilxpretx_N.gif",
"surface_temp_image": "https://www.atmos.illinois.edu/weather/tree/prods/current/sfctmp/sfctmp_N.gif",
"surface_dew_point_temp_image": "https://www.atmos.illinois.edu/weather/tree/prods/current/sfctdp/sfctdp_N.gif",
"sea_level_pressure": "https://www.atmos.illinois.edu/weather/tree/prods/current/sfcslp/sfcslp_N.gif",
"mdw_surface_observations": "https://www.atmos.illinois.edu/weather/tree/prods/current/sfcslp/sfcslp_N.gif",
"composite_ir_image": "https://www.atmos.illinois.edu/weather/tree/prods/current/satconusenhir/satconusenhir_N.gif",
"composite_enhanced_ir_image": "https://www.atmos.illinois.edu/weather/tree/prods/current/satnoamir/satnoamir_N.gif"
}
}
Get Wi-Fi information for various places around campus.
Example Query:
http://uiuc-api.herokuapp.com/wifi
Response:
[
{
"building":"100 Trade Center, Ste 403",
"city":"Champaign",
"state":"IL",
"street":"100 Trade Center"
},
{
"building":"1001 W. Nevada",
"city":"Urbana",
"state":"IL",
"street":"1001 W. Nevada St."
},
...
...
Example Query:
http://uiuc-api.herokuapp.com/wifi/nearme/40.1140260/-88.2248070
Response:
{
}
Get information about campus laundry.
Get washing machine/dryer usage information for all residence halls.
Example Query:
http://uiuc-api.herokuapp.com/laundry
Response:
{
"location":{
"name":"University of Illinois at Urbana",
"code":"urba7723",
"networked":"false",
"company":"Jetz Service Co",
"rooms":[
{
"id":"110959186",
"name":"1107 West Green",
"networked":"A",
"machines":[
{
"port":"1",
"label":"1",
"description":"Front-Load Washer",
"status":"Available",
"startTime":"0000-00-00 00:00:00",
"timeRemaining":"0"
},
{
"port":"2",
"label":"2",
"description":"Front-Load Washer",
"status":"Available",
"startTime":"0000-00-00 00:00:00",
"timeRemaining":"0"
},
{
"port":"3",
"label":"3",
"description":"Front-Load Washer",
"status":"Available",
"startTime":"0000-00-00 00:00:00",
"timeRemaining":"0"
},
...
...
Search the university directory for students, academic departments, and faculty/staff.
Search types:
Search Type | Search Type ID |
---|---|
All | all |
Faculty/Staff | faculty |
Student | student |
NetID | netid |
Department | department |
Phone | phone |
searchType
route parameter can use the Search Type ID when querying.
Example Query:
http://uiuc-api.herokuapp.com/directory/search/netid/npant3
Response:
{
"success": "true",
"type": "student",
"email": "[email protected]"
}
Get stories, classifieds, events, and more from UIUC's campus newspaper, The Daily Illini.
Search the Daily Illini for articles.
Example Query:
http://uiuc-api.herokuapp.com/dailyillini/search/unofficial
Response:
{
},
...
Get stories from different news sections.
News Sections:
News Section | News Section ID |
---|---|
Campus (inc. Crime/Administration) | |
Crime | |
Administration | |
Champaign-Urbana | |
State | |
Men's Sports (All-Inclusive) | |
Women's Sports | |
Sports (All-Inclusive) | |
Illini of the Week | |
Wheelchair Basketball |
Example Query:
http://uiuc-api.herokuapp.com/dailyillini/stories/news
Response:
{
},
...
Post Parameters:
News Section | News Section ID |
---|---|
Campus (inc. Crime/Administration) | |
Crime | |
Administration | |
Champaign-Urbana | |
State | |
Name *
First
Last Address
Street Address
Address Line 2
City
State / Province / Region
Postal / Zip Code
Country Phone Number *
Email *
Your News *
http://www.dailyillini.com/page/submit-a-news-tip
Search the Daily Illini for articles.
Example Query:
http://uiuc-api.herokuapp.com/dailyillini/search/unofficial
Response:
{
},
...
Get a list of free food from various events on campus. Data kindly provided by the team at UIUC Free Food!
Example Query:
http://uiuc-api.herokuapp.com/freefood
Response:
[
{
"fields":{
"abbr":"ISB",
"address":"910 S. FIFTH, CHAMPAIGN",
"building":"INTERNATIONAL STUDIES BUILDING",
"calID":"1354",
"counter":0,
"displayTime":"11/27 14:00",
"event":"First Steps Info Session",
"eventID":"32892600",
"food":"info session",
"googleTime":"20151127T185959Z/20151127T195959Z",
"latLng":"40.1072392,-88.2318771",
"link":"http://illinois.edu/calendar/detail/1354?eventId=32892600&calMin=201507&cal=20150715&skinId=12775",
"location":"101 International Studies Building",
"time":"2015/11/27 14:00-15:00"
},
"model":"uiuc.food",
"pk":545
},
{
"fields":{
"abbr":"ISB",
"address":"910 S. FIFTH, CHAMPAIGN",
"building":"INTERNATIONAL STUDIES BUILDING",
"calID":"1354",
"counter":0,
"displayTime":"12/11 14:00",
"event":"First Steps Info Session",
"eventID":"32892601",
"food":"info session",
"googleTime":"20151211T185959Z/20151211T195959Z",
"latLng":"40.1072392,-88.2318771",
"link":"http://illinois.edu/calendar/detail/1354?eventId=32892601&calMin=201507&cal=20150715&skinId=12775",
"location":"101 International Studies Building",
"time":"2015/12/11 14:00-15:00"
},
"model":"uiuc.food",
"pk":546
}
...
...
Get the Daily Illini event calendar.
Example Query:
http://uiuc-api.herokuapp.com/dailyillini/calendar
Response:
{
},
...
Get a list of all buildings and building information on campus.
Example Query:
http://uiuc-api.herokuapp.com/buildings
Response:
{ "building1": "",
"building2": ""
}
Get the availability of EWS (Engineering Workstations) machines across campus.
Example Query:
http://uiuc-api.herokuapp.com/ews-status
Response:
{
"data":[
{
"inusecount":0,
"machinecount":100,
"strlabname":"DCL L416"
},
{
"inusecount":0,
"machinecount":7,
"strlabname":"DCL L426"
},
{
"inusecount":0,
"machinecount":30,
"strlabname":"DCL L440"
},
{
"inusecount":0,
"machinecount":41,
"strlabname":"DCL L520"
},
{
"inusecount":2,
"machinecount":46,
"strlabname":"ECEB 2022"
},
{
"inusecount":6,
"machinecount":17,
"strlabname":"ECEB 3022"
},
...
...
Get the Fighting Illini's athletic schedule across all sports.
Sports:
Search Type | Search Type ID |
---|---|
All | all |
Baseball | baseball |
Football | football |
Men's Basketball | mensbasketball |
Men's Cross Country | mensxc |
Men's Golf | mensgolf |
Men's Gymnastics | mensgymanstics |
Men's Tennis | menstennis |
Men's Track & Field | menstrack |
Soccer | soccer |
Softball | softball |
Swimming & Diving | swimming |
Volleyball | volleyball |
Women's Basketball | womensbball |
Women's Cross Country | womensxc |
Women's Golf | womensgolf |
Women's Gymnastics | womensgymnastics |
Women's Tennis | womenstennis |
Women's Track & Field | womenstrack |
Wrestling | wrestling |
wcross wvball wsoc mbball wbball wswim mgym wgym wrestling baseball softball mgolf wgolf mtrack wtrack mten wten
Example Query:
http://uiuc-api.herokuapp.com/athleticschedule/menscrosscountry
Response:
UIUC's Student Services Development Team offers an API for information on Class Schedule, Course Catalog, and Gened data. However, since the data is not publibly available, you must sign up for access here.
The Champaign-Urbana Mass Transit District offers an API for transporation information in the Champaign-Urbana metropolitan area. There are several API wrappers and Open-source applications written with the CUMTD API on GitHub as well as in their App Garage.
$ pip install -r requirements.txt
$ python app.py
$ pip install -r requirements.txt
$ heroku create
$ (git add, git commit)
$ git push heroku master
If you've built a wrapper for this API, feel free to add it to this list by sending a PR!
Some apps built using this API:
Name | Description | URL |
---|---|---|
uiuc-cli | CLI to university services | https://github.com/xasos/uiuc-cli |
UIUC Laundry | iOS application to track UIUC laundry machines | https://github.com/xasos/UIUC-Laundry |
If you've built an app using this API, feel free to add it to this list by sending a PR!
Please refer to the Contributing Guidelines before submitting any pull requests!
The To-Do List can be found here.
So far, x users have used the API and over y requests have been made!
Use of this API is purely for educational purposes only, unless otherwise noted.