ToEstate

實價登錄開放資料怎麼用:下載、檔案結構,和直接算平均會出錯的 6 個地方

ToEstate 資料團隊・發布於 2026-10-02・數字依本站資料庫,資料更新時重算

內政部的實價登錄開放資料可以免費下載、再利用,但直接拿 CSV 算平均單價,幾乎一定會算錯。 我們每天把它整理進資料庫(目前買賣 4,903,354 筆、租賃 831,490 筆、預售 572,637 筆), 以近三年的 786,807 筆買賣為例:29% 是純土地、18% 是特殊交易, 而官方的「單價」依車位有沒有分開標價,用的是兩種不同公式。

去哪裡下載

  • 下載頁:不動產成交案件實際資訊資料供應系統,分「本期下載」「非本期下載」「預售備查建案下載」三種。
  • 本期:每月 1 日、11 日、21 日發布。
  • 非本期(按季):以民國年+季為單位,例如 115 年第 2 季是 115S2。我們用的下載網址格式是 https://plvr.land.moi.gov.tw/DownloadSeason?season=115S2&type=zip&fileName=lvr_landcsv.zip。
  • 授權:開放資料無償、非專屬、得再授權,可以重製、改作、編輯、公開傳輸,但要註明出處。

檔案結構

解壓縮後是一堆 CSV,檔名格式是 縣市代碼_lvr_land_類別.csv:類別 a 是買賣、b 是預售屋、c 是租賃。 每個主檔還有三個明細檔:_build(建物)、_land(土地)、_park(車位),一筆交易可能對到好幾列明細,用「編號」對應。預售建案另有 縣市代碼_lvr_buildcase.csv。

a
台北市
b
台中市
c
基隆市
d
台南市
e
高雄市
f
新北市
g
宜蘭縣
h
桃園市
i
嘉義市
j
新竹縣
k
苗栗縣
m
南投縣
n
彰化縣
o
新竹市
p
雲林縣
q
嘉義縣
t
屏東縣
u
花蓮縣
v
台東縣
w
金門縣
x
澎湖縣
z
連江縣

縣市代碼。代碼不是連續字母(沒有 l、r、s、y)。

讀檔時會遇到的問題

  • 第二列是英文欄名:第一列中文欄名、第二列英文欄名,第三列才是資料。直接用 pandas 讀,第一筆資料會是一列英文字。
  • 編碼:UTF-8 加 BOM,要用 utf-8-sig 讀;少數檔案夾帶 NUL 字元,寫進 PostgreSQL 的 jsonb 會失敗,要先去掉。
  • 超長欄位:110 年第 4 季有超過 128 KB 的欄位,Python 的 csv 模組預設上限是 128 KB,要先調高 csv.field_size_limit。
  • 民國日期:交易年月日是 1150101 這種 7 位數字(民國 115 年 1 月 1 日)。
  • 同一筆會重複出現:同一筆交易會出現在不同期的檔案,也可能在後來的檔案被修正(我們看過 1,499 個編號內容被改過)。合併多期資料要用「編號」去重,以較新的為準。

陷阱一:不是每一筆都是「一間房子」

「交易標的」欄位分五種。近三年買賣裡,將近三成是純土地,還有只買車位的:

房地(土地+建物)
39.6%・311,934 筆
房地(土地+建物)+車位
29.6%・232,608 筆
土地
28.8%・226,981 筆
車位
1.4%・11,363 筆
建物
0.5%・3,921 筆

算房價只能用「房地(土地+建物)」與「房地(土地+建物)+車位」。另外約 13% 的交易是持分移轉、6,714 筆一次買了好幾棟,單價都不能直接比。

陷阱二:官方「單價」有兩種公式

有車位的成交裡,47% 的車位沒有分開標價(車位總價是 0)。我們用近三年單一建物、非特殊交易逐筆驗算官方的「單價元平方公尺」:

情況筆數官方單價怎麼算符合比例
車位沒有分開標價102,980總價 ÷ 建物總面積(含車位面積)100.0%
車位有分開標價114,765(總價 − 車位價)÷(建物面積 − 車位面積)94.6%

也就是說,車位沒標價的那一半,官方單價等於把車位當成房子的一部分、按坪攤進去;有標價的那一半,則是扣掉車位後的房子單價。 兩種混在一起算平均,比的不是同一件事。如果自己用「總價 ÷ 扣掉車位的面積」算,中位數會比官方單價高約 14%。

本站的做法:車位有標價就扣標價;沒標價時,用同一區車位成交估一個車位價扣掉,再除以扣車位的面積,讓每一筆都是「不含車位的房子單價」。 車位實際值多少,見機械車位與平面車位價差。

陷阱三:近兩成是特殊交易

「備註」是自由文字,近三年有 57% 的買賣有填。用關鍵字分類後,18.1% 屬於價格不能當行情的特殊交易:

親友、員工、共有人等特殊關係
11.3%・89,039 筆
公共設施保留地
3.8%・29,765 筆
法拍、標售
1.7%・13,313 筆
僅車位交易
1.5%・11,437 筆
政府機關承購
1.1%・8,769 筆
繼承、地籍清理
0.6%・4,514 筆
都更、重劃、合建
0.2%・1,264 筆
毛胚屋
0.1%・839 筆

另有 22% 的備註提到增建、加蓋、外推、夾層或未登記建物。這些面積不在登記面積裡,單價會被高估;我們會標記,但不排除。

陷阱四:日期會打錯

資料裡有 1,369 筆的交易日期早於 2010 年或晚於下載日,例如買賣的最新交易日是 2101-10-17。取「最新資料日」之前要先排除這些,實際的最新買賣日是 2026-09-16。

陷阱五:樓層是中文字

「移轉層次」是文字,不是數字。有建物的買賣裡,24% 是「全」(整棟,多為透天),5% 一次移轉好幾層或連同騎樓、陽台。常見的寫法:全一層,騎樓四層,陽台三層,陽台一層,二層二層,陽台一層,二層,騎樓一層,見其他登記事項

要算樓層價差,得先把「十二層」轉成 12、排除多層與整棟的交易;方法見樓層價差。

陷阱六:最近兩個月還沒到齊

買賣要等辦完移轉登記才申報,發布又按旬。所以最新一兩個月的筆數一定偏少,直接拿來算「成交量暴跌」是錯的:

成交月份目前筆數前一年同月比例
2026-0412,55413,95590%
2026-0512,43814,21188%
2026-0611,49913,82983%
2026-079,04412,49472%
2026-083,59812,72328%
2026-0919913,0982%

買賣、非特殊交易,資料截至 2026-09-16。比例偏低的月份同時包含市場變化與申報延遲,越近的月份延遲影響越大。

本站的統計只算到「資料完整月」,之後的月份標成初步值。

不想自己清:用 API 或 MCP

上面這些都已經在本站處理好(扣車位單價、特殊交易標記、樓層解析、去重、地址對到社區與座標)。 要程式化取用可以用 REST API;要讓 ChatGPT、Claude 這類 AI 助理直接查,可以接 MCP 伺服器。 單價欄位:REST API 的 unit_price_ping 是官方單價換算成元/坪、unit_price_ping_net 是扣車位後的單價; MCP 回傳的 unit_price_ping 一律是扣車位後的單價,官方原始值放在 unit_price_ping_official。

資料與方法

  • 來源:內政部實價登錄開放資料,本站資料庫的現行版本;近三年買賣為 2026-09-16 往前三年。快照 2026-10-02。
  • 單價驗算:交易標的含車位、單一建物、非特殊交易;官方單價與公式的差距在 1% 以內視為符合。
  • 特殊交易:依備註關鍵字分類,規則見 realestate/units.py;預售屋分件登記、增建等只標記、不排除。
  • 下載頁、發布頻率與授權:plvr.land.moi.gov.tw/DownloadOpenData(2026-10-02 查詢)。
  • 分析程式:scripts/content/open_data.py;讀檔與轉換:realestate/etl/plvr/。

相關工具與資料