---
title: "Get all information about a specific module"
method: GET
path: "/{acadYear}/modules/{moduleCode}.json"
tags: ["Modules"]
---

# Get all information about a specific module

`GET /{acadYear}/modules/{moduleCode}.json`

Get all information available for a specific module including prerequite tree and timetable.

NUSMods uses this on the module information page.

## Path parameters

- `acadYear` string, required
- `moduleCode` string, required

## Response `200`

Success

- Module
  - `acadYear` string, required
  - `preclusion` string
  - `description` string, required
  - `title` string, required
  - `department` string, required
  - `faculty` string, required
  - `workload` union, required
    - number[]
    - string
  - `prerequisite` string
  - `moduleCredit` string, required
  - `moduleCode` string, required
  - `semesterData` SemesterData[], required
    - `semester` number, required
    - `examDate` string, date-time
    - `examDuration` number
    - `timetable` Lesson[]
      - `classNo` string, required
      - `startTime` string, required
      - `endTime` string, required
      - `weeks` union, required
        - WeekRange
          - `start` string, date, required
          - `end` string, date, required
          - `weekInterval` number
          - `weeks` number[]
        - number[]
      - `venue` string, required
      - `day` string
      - `lessonType` string, required
      - `size` number
  - `prereqTree` union
    - string
    - object
      - `or` PrereqTree[], required
    - object
      - `and` PrereqTree[], required
    - object
      - `nOf` unknown[], required
        - unknown
  - `fulfillRequirements` string[]

## Other responses

- `404` — Not found

## Changes

- **2025-06-23** `905c9f2b2e28` — 1 breaking
  - added `subschema #4` to the `prereqTree` response property `oneOf` list for the response status `200`
- **2021-11-09** `a1c6afee80d3` — 2 breaking, 3 warning
  - the `semesterData` response's property type/format changed from ``/`` to `array`/`` for status `200`
  - removed the required property `semesterData/semester` from the response with the `200` status
  - removed the optional property `semesterData/examDate` from the response with the `200` status
  - removed the optional property `semesterData/examDuration` from the response with the `200` status
  - …1 more
- **2019-03-22** `16eab7486d0f` — 1 info
  - added the optional property `semesterData/timetable/items/size` to the response with the `200` status
- **2019-03-21** `4649390aa932` — 1 warning, 7 info
  - removed the optional property `semesterData/timetable/items/dayText` from the response with the `200` status
  - added the optional property `semesterData/timetable/items/day` to the response with the `200` status
  - the response property `semesterData/timetable/items/classNo` became required for the status `200`
  - the response property `semesterData/timetable/items/endTime` became required for the status `200`
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/nusmodifications/apis/nusmods-api/changes/:acadYear/modules/:moduleCode.json/get.md)

---

[API](https://skmtc.dev/nusmodifications/apis/nusmods-api.md) · [All operations](https://skmtc.dev/nusmodifications/apis/nusmods-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nusmodifications/nusmods-api/revisions/c923393e6cce/schema)
