NUEvents API Documentation

The unofficial API for Northwestern University events

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.

Search for events

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 (AND) by separating each term by a + sign (or a space)

Search for events containing at least one of multiple search terms (OR) by using multiple query strings

Search for compound terms in quotes

q=nanotechnology

q=snacks+free

q=research&q=yoga

q="black+holes"

address

Terms to search for in the event address.

You can search for multiple terms (AND, OR) and compound terms like with the q parameter

address=norris

date

Find events happening on a specific date, YYYY-MM-DD

Search for multiple dates by using multiple query strings.

date=2000-01-31

category

Can be one of: Academic , FineArts , Athletics , Social , LecturesAndMeetings , Religious , FitnessAndRecreation , MulticulturalAndDiversity , GlobalAndCivicEngagement *

Search for multiple categories by using multiple query strings.

category=LecturesAndMeetings

* Also valid when URL encoded: Fine Arts, Lectures & Meetings, Fitness & Recreation, Multicultural & Diversity, Global & Civic Engagement

Events Today

Get a list of all events happening today. This is equivalent to /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 a specific event

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

The event object

Below is an example of an event object. For the vast majority of the time, all fields that are not marked "Optional" will be present in every event object.
{
  "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
}