---
title: "Get one client-side course search chunk"
method: GET
path: "/search/chunk/{semester}"
tags: ["Search"]
---

# Get one client-side course search chunk

`GET /search/chunk/{semester}`

## Request

- Base URL: `https://api.nthumods.com`
- URL: `https://api.nthumods.com/search/chunk/{semester}`
- Auth: none declared

Returns the versioned search-only projection for one semester. The body is cacheable and uses a strong ETag; clients must treat a 304 as a cache hit even though Fetch Response.ok is false.

## Path parameters

- `semester` string, required

## Headers

- `If-None-Match` string

## Response `200`

Course search chunk

- SearchChunkResponse
  - `success` true, required
  - `data` object, required
    - `schemaVersion` integer, required
    - `semester` string, required
    - `courses` SearchChunkCourse[], required
      - `objectID` string, required
      - `raw_id` string, required
      - `semester` string, required
      - `department` string, required
      - `course` string, required
      - `class` string, required
      - `name_en` string, required
      - `name_zh` string, required
      - `credits` number, required
      - `capacity` number, nullable
      - `reserve` number, nullable
      - `enrolled` number, required
      - `language` string, required
      - `ge_target` string, nullable
      - `ge_type` string, nullable
      - `closed_mark` string, nullable
      - `note` string, nullable
      - `prerequisites` string, nullable
      - `restrictions` string, nullable
      - `cross_discipline` string[], nullable
      - `teacher_en` string[], nullable
      - `teacher_zh` string[], required
      - `first_specialization` string[], nullable
      - `second_specialization` string[], nullable
      - `times` string[], required
      - `venues` string[], required
      - `tags` string[], required
      - `updated_at` string, required
      - `courseLevel` string, required
      - `separate_times` string[], required
      - `for_class` string[], required

## Other responses

- `304`: Chunk unchanged; response has an empty body.
- `404`: Semester not found
- `500`: Search chunk failed

## Changes

- **2026-09-13** `3aab54a63f86`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nthumodifications/apis/nthu-mods-api/changes/search/chunk/:semester/get.md)

---

[API](https://skmtc.dev/nthumodifications/apis/nthu-mods-api.md) - [All operations](https://skmtc.dev/nthumodifications/apis/nthu-mods-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nthumodifications/apis/nthu-mods-api/revisions/3aab54a63f86?raw)
