NUEvents is a RESTful API for getting data about events happening around campus. All data is gathered and parsed from PlanitPurple. As this is just my fun experiment, there are no guarantees about accuracy or reliability.
Questions or comments? Hit me up at: sean NOSPAM[at] seanyeh.com.
Get a list of events that match the given search criteria.
If more than 100 results are found, only the first 100 are returned. Also, only events up to 30 days in the future (including the current day) are accessible.
GET https://api.nuevents.seanyeh.com/search
Parameter | Description | Example |
---|---|---|
q |
Search for a specific term in the event description
Search for events that contain multiple search terms
(
Search for events containing at least one of
multiple search terms ( Search for compound terms in quotes |
|
address |
Terms to search for in the event address.
You can search for multiple terms ( |
|
date |
Find events happening on a specific date, Search for multiple dates by using multiple query strings. |
|
category |
Can be one of:
Search for multiple categories by using multiple query strings. |
|
* Also valid when URL encoded: Fine Arts, Lectures & Meetings, Fitness & Recreation, Multicultural & Diversity, Global & Civic Engagement
/search?date=YYYY-MM-DD
, where YYYY-MM-DD
is today's date.
Like in /search
, you can also use q
, address
, and
category
parameters to limit your search.
GET https://api.nuevents.seanyeh.com/today
Retrieve an event object given its event_id
. This
event_id
is also found in the URL in the corresponding
event page on
PlanitPurple.
For example, the event with the url
https://planitpurple.northwestern.edu/event/123
is
123
.
GET https://api.nuevents.seanyeh.com/event/:event_id
{
"id": 489787,
"title": "SUNRISE YOGA",
"url": "http://planitpurple.northwestern.edu/event/489787",
"datetime": {
// Date this event starts on in YYYY-MM-DD format
"date": "2016-11-15",
// Start and end timestamps in RFC 2822 format
"start": "Tue, 15 Nov 2016 13:00:00 -0000",
"end": "Tue, 15 Nov 2016 14:00:00 -0000",
// Boolean for whether this event is listed as an "all day" event
// If true, the start and end times will default to 8:00am and 10:00pm,
// and may not be an accurate representation of the exact start/end times
"allday": false
},
// Event contact
"contact": {
"name": "John Doe",
"email": "xxxxxxxxx@northwestern.edu",
// Optional: Phone number of contact
"number": "5555555555"
},
// Optional: Location object
"location": {
// A list of strings representing the lines of the address
"address": [
"Henry Crown Sports Pavilion / Norris Aquatic Center, studio 2",
"2311 Campus Drive",
"Evanston, IL 60208"
],
// Optional: A link to the Northwestern map showing the location
"url": "https://maps.northwestern.edu/facility/93"
},
// Categories are: Academic, Fine Arts, Athletics, Social,
// Lectures & Meetings, Religious, Fitness & Recreation,
// Multicultural & Diversity, Global & Civic Engagement
"category": "Fitness & Recreation",
"group": {
// The name of the department that is hosting the event
"name": "Department of Athletics and Recreation",
// A link to a listing of other events hosted by this department
"url": "http://planitpurple.northwestern.edu/calendar/3890"
},
// Optional: A list of departments that co-sponsor the event
"co-sponsors": [
{
// Name of the department
"name": "Some department",
// A link to the listings of other events this department hosts/co-sponsors
"url": "http://planitpurple.northwestern.edu/calendar/some-department"
}
],
// Optional: A link to a listing of which other days this event occurs
// If series_url exists, then this event is a recurring event
"series_url": "http://planitpurple.northwestern.edu/event/series/122524",
// List of audience types who are invited to this event
// Audience types are: Faculty/Staff, Student, Public,
// Post Docs/Docs, Graduate Students
"audience": [
"Faculty/Staff",
"Student",
"Public",
"Post Docs/Docs",
"Graduate Students"
],
// Cost of the event
// Note that this is represented with an array of strings,
// where each string is a paragraph
"cost": [
"Student/members FREE; Non-Members $18"
],
// Description of the event
// Note that this is represented with an array of strings,
// where each string is a paragraph
"description": [
"SUNRISE YOGA - This class begins with quiet reflection...",
"Some more information..."
],
// In rare cases, an event may become cancelled.
// If so, there will be a boolean field, cancelled, set to true
// cancelled: true
}