北科課程資料 靜態 API

國立臺北科技大學課程資料的非官方靜態 JSON API。 課程與人數每 4 小時自動更新、教學大綱一天兩次,沒有伺服器、不需要 API key, 瀏覽器直接 fetch() 就能用。

馬上試

// 目前最新的學年期
const meta = await (await fetch("https://tntrock.github.io/ntut-course-crawler/meta.json")).json();

// 資工系這學期開的課
const url = `https://tntrock.github.io/ntut-course-crawler/${meta.latest}/courses/59.json`;
const dept = await (await fetch(url)).json();
console.log(dept.course_count, dept.courses[0].name_zh);
不要把學年期寫死。meta.jsonlatest, 115-2、116-1 之後才不用改你的程式。

端點

路徑內容看看
meta.json學年期清單、端點清單、節次與必選修對照開啟
index.json最新兩個學期的輕量索引(約 1.5 MB)開啟
{semester}/index.json單一學期的輕量索引115-1
{semester}/departments.json學院 / 系所 / 班級三層對照115-1
{semester}/courses/{系所代碼}.json系所課表(完整課程物件)資工系
{semester}/teachers.json教師清單115-1
{semester}/teachers/{教師代碼}.json教師課表範例
{semester}/classes.json班級清單115-1
{semester}/classes/{班級代碼}.json班級課表資工四
{semester}/programs.json學程 → 課號115-1
{semester}/classrooms.json教室 → 課號115-1
{semester}/schedule.json星期 × 節次 → 課號115-1
errors.json各學期抓取失敗的單位開啟
changes.json最近的課程與教師異動事件開啟
enrollment.json修課 / 撤選人數逐日快照的索引開啟
{semester}/syllabus/{課號}.json單一課程的教學大綱與進度範例
syllabus.json教學大綱的抓取進度開啟

欄位說明、系所代碼對照表、schema_version 相容性承諾都在 README

免責聲明

本專案為非官方個人專案,與國立臺北科技大學無隸屬關係。 資料以自動化方式蒐集自 北科大課程查詢系統, 可能因學校改版、網路異常或解析錯誤而不完整或過時。

選課、抵免、畢業學分等一切事項請以學校公告與課程系統當下顯示的內容為準。 若校方認為本專案造成困擾,請 開 issue 告知,會立即停止。