Undergraduate Course API
Pricing
This API consumes credits, and different endpoints consume different amounts of credits. You are billed for the amount of credits you use.
| Credits | Cost |
|---|---|
| 100 | $0.01 |
Welcome! This API provides access to over 13 years of continously available Undergraduate course data at Vanderbilt University. It has been scraped and preprocessed allowing you to focus less on data warehousing.
We are unable to offer free access at this time. This API is relatively expensive to run, particularly when executing search requests.
https://courses.clubfair.io
const endpoint = "https://courses.clubfair.io/v1/course"
const authHeader = "Bearer {API TOKEN HERE}"
const res = await fetch(endpoint, { method: "POST", headers: {authorization: authHeader, "Content-Type": "application/json"}, body: JSON.stringify({ id: "CS 2201" }) })
import requests
endpoint = "https://courses.clubfair.io/v1/course"
auth_header = "Bearer {API TOKEN HERE}"
res = requests.post(endpoint, json={"id": "CS 2201"}, headers={"authorization": auth_header})
Endpoints
Fetch a specific attribute by its ID
Response
Cost
1 Credit
Parameters
id
string
Attribute ID
Fetch a list of all the courses tagged with a given attribute
Response
Cost
1 Credit
Parameters
attribute_id
string
Attribute ID
active
boolean
OptionalFilter to only active or inactive courses
Paginate the results
Fetch a specific course by its ID
Response
Cost
1 Credit
Parameters
id
string
Course ID
Fetch a specific professor by their ID
Response
Cost
1 Credit
Parameters
id
string
Professor ID
Fetch a list of all the sections taught by a Professor
Response
Cost
1 Credit
Fetch a list of all the sections of a specific course taught by a Professor
Response
Cost
1 Credit
Parameters
professor_id
string
Professor ID
course_id
string
Course ID
Paginate the results
Fetch a specific professor by their ID
Response
Cost
1 Credit
Parameters
id
string
Section ID
Fetch a specific professor by their ID
Response
Cost
1 Credit
Parameters
id
string
Subject ID
Fetch a list of available subjects
Response
Cost
1 Credit
Parameters
Paginate the results
Fetch a list of courses available for a given subject
Response
Cost
1 Credit
Parameters
subject_id
string
Subject ID
active
boolean
OptionalFilter to only active or inactive courses
Paginate the results
Fetch a specific professor by their ID
Response
Cost
1 Credit
Parameters
id
string
Term ID
Fetch a list of available terms
Response
API Response<Term[]>
Cost
1 Credit
Parameters
Paginate the results
Fetch a list of courses listed in a given term
Response
Cost
1 Credit
Parameters
term_id
string
Term ID
Fetch a list of Sections available for a course in a given term
Response
Cost
1 Credit
Parameters
term_id
string
Term ID
course_id
string
Course ID
Paginate the results
Searches for specific Courses given a set of criteria
Response
Cost
3 Credits
Parameters
query
string
The search query
active
boolean
OptionalFilter to active or inactive courses
term_ids
string[]
OptionalFilter to courses from a set of terms
subject_ids
string[]
OptionalFilter to courses from a set of subjects
attribute_ids
string[]
OptionalFilter to courses from a set of attributes
number
dictionary
OptionalFilter courses by their number
eq
number
OptionalSearch for a specific number
min
number
OptionalSearch for course numbers greater than or equal
max
number
OptionalSearch for course numbers less than or equal
Paginate the results
Data Types
Attributes are labels that the University has placed upon a course. These may include AXLE qualifications.
Fields
$id
string
Unique identifier for the course
name
string
A human-readable name for the attribute
A course offering about a specific topic at the University, identifiable by its class code e.g. CS 2201. Courses can be either 'Single' or 'Umbrella' type. Single courses are self contained. Umbrella courses, like Special Topics courses, are categorized under a single course number but contain a variety of 'Subcourses' with different names and topics.
Fields
$id
string
Unique identifier for the course
course_type
'single' or 'umbrella'
The type of this course
name
string
Human-readable course name, e.g. Principles of Software Engineering
number
integer
Integer representation of the course number, e.g. 2201
A list of references to the subcourses within the Umbrella course
description
boolean
Whether this course has been listed at least once in the past two years
A reference to this course's parent course, if this course is contained within an Umbrella course
active
boolean
Whether this course has been listed at least once in the past two years
hours
number
OptionalThe number of credit hours granted by the course
format
string
The format of the course, e.g. Seminar or Lecture
school
string
The school to which this course belongs, e.g. School of Engineering
An individual listing of a course, listed in a given semester with specific professors
Fields
$id
string
Unique identifier for the section
section_number
string
The numerical ID for this section in Your Enrollment Services
notes
string
OptionalNotes for the specific section
enrollment
dictionary
OptionalA map containing details of student enrollment in the course
enrolled
number
The number of enrolled students
seats
number
The number of available seats
waitlist_enrolled
number
The number of students on the waitlist
waitlist_seats
number
The number of seats available on the waitlist
bookstore_url
string
OptionalA URL pointing to the bookstore page for this section
last_updated
ISO string
OptionalA timestamp for the last time this Section was scraped
A subject of teaching within the school.
Fields
$id
string
Unique identifier for the subject
name
string
A human-readable name for the subject
A semester-like object
Fields
$id
string
Unique identifier for the subject
name
string
A human-readable name for the subject
term_type
'spring' or 'fall' or 'summer'
The type of term
appx_start
ISO string
An estimate of roughly when this term started
appx_end
ISO string
An estimate of roughly when this term ended
An input type that can be passed into array endpoints to specify the pagination state of the request
Fields
page_size
number [1:100]
How many results to return on each page
page
number
The page of results to return
A utility type referencing an instance of another Type. Can be used to resolve the object directly using the resolveRef API endpoint
Fields
$id
string
Unique identifier for the referenced object
$ref
string
A string combining the object's identifier and type
The standard structure of an API endpoint response
Fields
data
any
OptionalThe requested content
error
dictionary
OptionalThe requested content
code
string
An error code
message
string
A descriptive message for the error
pagination
dictionary
References the pagination state of the query
page
number
Current page of the returned data
page_size
number
Size of a page
page_count
number
Number of pages available in the current request
results_count
number
Total number of unique results in the current request
performance
dictionary
Overview of the request performance
timestamp
number
When the request was received
duration
number
How long the request took in milliseconds
usage
dictionary
Overview of the request billing usage
credits
number
How many credits the request took to complete