← ClaudeAtlas

taiwan-hospitallisted

健保特約醫療院所查詢——全台三萬七千家醫院診所的名稱、地址、電話、類型(健保署開放資料)。附近診所、醫院電話、牙醫診所地址、看診掛號電話的問題適用。免 API 金鑰、免登入。即時看診進度、掛號、醫師排班不適用。
tahodev/baodao-skill · ★ 1 · AI & Automation · score 77
Install: claude install-skill tahodev/baodao-skill
# taiwan-hospital > 實測日:2026-09-20(最近一次端對端實測;數值基準日各自標於內文) 用健保署開放資料 API 查全台健保特約醫療院所(醫院、診所、藥局、護理機構…)的基本資料。不需要 API 金鑰或登入。 ## 基本流程 1. 大量下載資料集(一次 limit 拉高)或帶參數查詢 2. 依院名、縣市(地址開頭)、類型篩選 3. 回報名稱、地址、電話;註明資料為健保特約院所名錄(非即時看診資訊) ### 1. API 端點 ```bash # 院所基本資料:API 單次最多回 1,000 筆,先看 total 再分頁(37,133 筆,2026-09-20 實測) curl -sm 30 -A 'Mozilla/5.0' 'https://info.nhi.gov.tw/api/iode0010/v1/rest/datastore/A21030000I-D2100G-001?limit=1&offset=0' -o /tmp/hosp_meta.json # 資料集目錄 curl -sm 30 -A 'Mozilla/5.0' 'https://info.nhi.gov.tw/api/iode0010/v1/rest/dataset?limit=100' -o /tmp/datasets.json ``` **全量下載要分頁**:這個 datastore API 把 limit 封頂在 1,000(2026-09-20 實測:帶 `limit=40000` 只回 1,000 筆、`result.limit` 顯示 1000;總數看 `result.total`)。用 offset 逐頁取: ```python import json, urllib.request UA = {'User-Agent': 'Mozilla/5.0'} BASE = 'https://info.nhi.gov.tw/api/iode0010/v1/rest/datastore/A21030000I-D2100G-001' def page(offset): req = urllib.request.Request(f'{BASE}?limit=1000&offset={offset}', headers=UA) return json.loads(urllib.request.urlopen(req, timeout=40).read())['result'] first = page(0) total, recs = first['total'], list(first['records']) for off in range(1000, total, 1000): recs += page(off)['records'] print(total, len(recs)) # 37133 37133 (2026-09-20 實測,約 38 頁) ``` 2026-09-20 實測:HTTP 200、`{"success": true, "result": {...}}`、`result.total` = 37,133 筆。欄位:BRANCH_CODE(分區)、HOSP_ID、HOSP_ATTR_NAME(如 部立及直轄市立醫院)、HOSP_NAME、HOSP_ADDR、TEL_AREA/TEL、HOSP_CNT_TYPE、HOSP_TYPE、CONT_ORIG_DATE(簽約起日)。首筆實