氣象、交通、補助名單、人口統計,台灣的政府開放資料其實都拿得到,理論上能替系統省下大量的資料建置成本。但「拿得到」和「串得起來、跑得穩定」是兩回事:年份格式各行其是、回應狀態碼不可信、機關改制連網域一起搬家。以下 7 個坑全部來自我們 2026 年 8 月的實際串接經驗,每一個都附上解法。
坑 1:民國年無所不在
同樣是日期,證交所回 1150821(民國 115 年 8 月 21 日)、戶政司的年度參數要傳 113、農業部的日期要寫成 113.01.01。三個機關三種寫法,而且文件不一定會提醒你這是民國年。
坑 2:HTTP 200 不代表成功
台灣銀行的匯率 CSV 端點會回 200,但內容有時是 bot 防護的挑戰頁 HTML,不是 CSV。只看狀態碼的健康檢查會以為一切正常,直到解析器炸掉才發現。
坑 3:沒有 CORS,前端不能直連
政府端點幾乎都不送 CORS header,瀏覽器的前端 JavaScript 直接呼叫會被擋下。這代表所有「網頁上即時顯示」的功能,都要經過你自己的後端或 serverless proxy 轉發。
坑 4:機關改制,網域搬家
這幾年的組織改造把一批資料網域整批搬家:氣象局變氣象署(cwb → cwa)、環保署變環境部(epa → moenv)、農委會變農業部(coa → moa)、運輸資料平台從 PTX 換成 TDX。網路上的教學文章一半以上還連到死網域。
坑 5:編碼與欄位名
部分老系統輸出 Big5、或沒有宣告 charset;戶政司、立法院的 JSON key 直接就是中文(例如 {"統計年度": "113"})。用慣英文欄名的 ORM 或型別系統會很有意見。
utf-8-sig,失敗換 cp950);schema 設計時預留「中文欄名 → 內部欄名」的對應表,別讓中文 key 滲進系統深處。
坑 6:CSV 裡藏著換行
數位發展部補助名單的機關名稱欄含內嵌換行,一筆資料在檔案裡佔兩個實體行。用 wc -l 或按行數估筆數,會得到快兩倍的數字。
坑 7:「資料集」不一定是資料
開放資料平台上有些標題看起來是名單或統計的資料集,實際下載後是一份公文 PDF,或只是文件目錄。對自動化管線來說,這種「假資料集」比壞掉的端點更麻煩,因為它下載得下來。
我們常用的免金鑰端點
以下清單全部免金鑰、2026 年 8 月實測可用。注意:全部不支援 CORS,前端要用一律經過自家 proxy(見坑 3)。
| 端點 | 格式 | 即時 | 適合做什麼 | 地雷 |
|---|---|---|---|---|
| 台北 YouBike 2.0 即時站點 | JSON | 是 | 即時地圖:可借/可還車輛數,一分鐘更新 | 無 |
| 證交所 上市個股日成交 | JSON | 否 | 台股看板:當日全部上市股票 OHLC | 日期為民國年(1150821);僅作技術展示,勿包裝成投資工具 |
| 國土測繪中心 縣市/鄉鎮清單 | XML | 否 | 行政區選單的標準資料源(縣市代碼) | 回傳是 XML 不是 JSON |
| 戶政司 村里人口統計 | JSON | 否 | 人口地圖、選點分析 | JSON key 是中文;年度為民國年;有分頁 |
| NCDR 災防告警 | Atom/JSON | 是 | 災防告警跑馬燈 | 無 |
| 農業部 農產品交易行情 | JSON | 否 | 菜價查詢 | 日期參數為民國年加點分隔(113.01.01) |
| 萌典 辭典查詢 | JSON | 否 | 辭典查詢(含台語 /t/、客語 /h/) | 民間專案(g0v);教育部辭典內容 CC BY-ND |
| 空氣盒子 LASS 全台即時 | JSON | 是 | PM2.5 即時地圖 | 檔案數 MB,務必後端快取 |
結語
政府資料能省下大量建置成本,但「串得起來」和「跑得穩定」中間,隔著的就是上面這 7 個坑:年份先統一、回應要驗 body、前端走 proxy、網址追現址、編碼留 fallback、CSV 用 parser、入庫先驗欄位。把這幾件事做進管線的第一版,之後的維運會安靜很多。
如果你的系統需要接政府資料,不論是補助查詢、地圖、氣象還是統計報表,歡迎預約 30 分鐘免費諮詢,聊聊你的架構怎麼設計最省事。