# CourseQuest > CourseQuest is a project created by researchers: a free, fast university course catalog and weekly-schedule planner. It aggregates public course search data into a searchable catalog of courses and sections, including meeting days/times, rooms, instructors, seat availability, credits, and open/closed status. The web interface includes calendar export for various formats (e..g., iCal / Google / Outlook). Data model: Institution (school) → Subject → Course → Section. Each section exposes its current snapshot (status, schedule, room, seats, instructor, units) and is refreshed by periodic scrapes; prior snapshots are retained as history. Sections that disappear from a complete scrape are marked cancelled rather than deleted. ## Institutions - [Rhode Island College (ric)](https://coursequest.org/ric/catalog): 932 courses, 1613 active sections; Fall 2026 — Providence, RI - [University of Rhode Island (uri)](https://coursequest.org/uri/catalog): 1996 courses, 5501 active sections; Fall 2026 — Kingston, RI ## Browse (human-readable pages) - [Catalog home](https://coursequest.org/catalog): search and browse every school - [RIC catalog](https://coursequest.org/ric/catalog) - [URI catalog](https://coursequest.org/uri/catalog) - Course pages follow the pattern `https://coursequest.org/{inst}/catalog/{SUBJECT}/{CATALOG_NBR}` (e.g. `https://coursequest.org/uri/catalog/BIO/101`). Each carries schema.org Course JSON-LD. ## API (read-only catalog data; JSON, plaintext, or Markdown) All endpoints are GET, need no authentication, send the CORS header Access-Control-Allow-Origin: *, and return JSON by default. Catalog search also supports format=text for plaintext and format=markdown (or the Accept: text/markdown request header) for Markdown. - [List institutions](https://coursequest.org/api/institutions): Schools that have course data loaded, with course counts. Returns: `{ institutions: [{ identifier, name, courses }] }`. - [Filters](https://coursequest.org/api/catalog/filters?inst=uri): Available subjects, careers, and terms for a school — useful for building queries or dropdowns. Params: `inst` (school identifier (the official .edu domain minus .edu; e.g. uri)). Returns: `{ subjects: string[], careers: string[], terms: [{ term, year }] }`. - [Search catalog](https://coursequest.org/api/catalog?inst=uri&q=biology): Current (non-cancelled) sections for a school, with filtering and pagination. This is the main data endpoint. Params: `inst` (school identifier (default: uri)), `term` (term name (default: Fall)), `year` (term year (default: 2026)), `q` (free text over subject / number / title / class# / instructor), `subject` (exact subject code, e.g. BIO), `career` (career code, e.g. UGRD or GRAD), `open` (1 (or true) to return only open sections), `days` (comma list of weekdays, 0=Sun … 6=Sat; matches sections meeting on any of them), `page` (1-based page number (default: 1)), `pageSize` (results per page, max 100 (default: 25)), `format` (json (default), text, or markdown; overrides the Accept header). Returns: `{ total, page, pageSize, pages, results[] } — each result includes a `url` linking to its course page`. Examples: ``` curl -H "Accept: text/markdown" "https://coursequest.org/api/catalog?inst=uri&subject=BIO" curl "https://coursequest.org/api/catalog?inst=uri&subject=BIO&open=1&format=markdown" curl "https://coursequest.org/api/catalog?inst=uri&q=calculus&days=1,3,5" curl "https://coursequest.org/api/institutions?format=text" ``` ## More - [Developer docs](https://coursequest.org/docs): the same API, human-readable - Sitemap: https://coursequest.org/sitemap.xml (every school, subject, and course page)