北科課程資料 靜態 API
國立臺北科技大學課程資料的非官方靜態 JSON API。
課程與人數每 4 小時自動更新、教學大綱一天兩次,沒有伺服器、不需要 API key,
瀏覽器直接 fetch() 就能用。
—個學期
—門課程
—涵蓋範圍
—最後更新 (UTC+8)
馬上試
// 目前最新的學年期
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.json 的 latest,
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 告知,會立即停止。