結果留在磁碟,不進 context
Results stay on disk, not in context
用 --out 把整個行政區寫成一個檔,再用 --top N 或 jq/grep 取列
Write a whole district to one file with --out, then pull rows with --top N or jq/grep
把內政部實價登錄最新的逐棟成交價,整理成結構化 JSON/CSV 寫到磁碟——給 agent、app、腳本與後端串接,不佔 LLM 的 context,隨附可攜的 Agent Skill
Turns the latest building-level transaction prices from 內政部實價登錄 (MOI real-price registry) into structured JSON/CSV written to disk — for agents, apps, scripts and backends, kept out of the LLM context. Ships with a portable Agent Skill
↪ 複製後貼到終端機執行
↪ Copy, then run in your terminal
給程式與 agent 用的實價登錄資料源——不是給人查單一物件的網站
A real-price data source for programs and agents — not a website for looking up a single home
與內政部無關 · unaffiliated
[ { "building": "丹麥", "address": "新竹市關新路19巷99號二樓", "txnDateRoc": "114/12/27", "totalPriceWan": 2380, "siteAdjUnitPrice": 48.1445, "totalAreaPing": 49.43, "layout": "3房2廳2衛" }, { "building": "北歐", "address": "新竹市關新路19巷3號十二樓", "txnDateRoc": "114/12/27", "totalPriceWan": 3930, "siteAdjUnitPrice": 45.6988, "totalAreaPing": 86, "layout": "4房2廳2衛" }, { "building": "月影", "address": "新竹市關新路29號十二樓之33", "txnDateRoc": "114/12/14", "totalPriceWan": 1050, "siteAdjUnitPrice": 53.3028, "totalAreaPing": 19.7, "layout": "1房1廳1衛" } ]
3 筆成交 · 來源:內政部實價登錄(OGDL)· 約 2 秒
3 transactions · Source: MOI real-price registry (OGDL) · ~2s
用 --out 把整個行政區寫成一個檔,再用 --top N 或 jq/grep 取列
Write a whole district to one file with --out, then pull rows with --top N or jq/grep
呼叫前不佔 context,可 import 進後端/CI/cron
Costs no context until you call it; import it into a backend, CI or cron
同查詢 → 同結果;邏輯在程式,不是模型在迴圈裡開瀏覽器
Same query → same result; logic lives in code, not a model looping a browser
一致的欄位與型別,直接餵 app、報表或資料管線
Consistent fields and types, ready for apps, reports or data pipelines
| 對照 · COMPARISON | 自己上官網能做On the official site | +tw-lvr-cli 多給你+with tw-lvr-cli | ||
|---|---|---|---|---|
| query | 一次查一組條件,看網頁表格 | One filter set at a time, in an HTML table | 一行指令拿到乾淨 JSON/CSV | One command returns clean JSON/CSV |
| export | 人工複製 | Copy by hand | 直接 --out 寫檔,可進 pipeline | Write a file with --out, drop into a pipeline |
| batch | 無批次:整區一頁頁翻 | No batch: page through a district by hand | 整個行政區一次取得、寫檔 | Pull a whole district at once, written to disk |
| access | 只能人點,無法程式化 | Clicks only, not programmable | 可被腳本/agent/後端呼叫 | Callable from scripts, agents and backends |
目前涵蓋 買賣(成屋)+預售屋;尚未支援 租賃、預售建案
Currently covers sales (completed homes) + presale units; rentals and presale development listings are not yet supported
內政部實價登錄官網是為「人用瀏覽器查詢、定期批次下載」設計的,沒有給程式逐址查詢用的乾淨 API;tw-lvr-cli 在背後啟動短暫的 headless 瀏覽器擷取官網公開資料,整理成一致、可程式讀取的 JSON/CSV,不論哪個縣市,同一行指令就能取得
非官方 API · 與內政部無關
The official 實價登錄 (MOI real-price registry) site is built for human browser lookups and periodic bulk downloads — not a clean, program-ready per-address API. tw-lvr-cli runs a short-lived headless browser against the official site and normalizes that public data into consistent, machine-readable JSON/CSV; the same one command works for any city
Not an official API · unaffiliated with MOI
$ tw-lvr extract --where 新竹市東區關新路 --from 2024 --to 2026 --top 3 --pretty
--out 寫檔)CSV download (--out to file)
$ tw-lvr extract --where 新北市板橋區文化路一段 --from 2023 --to 2026 --out transactions.csv # → transactions.csv · 整區寫入一個檔,可進 pipeline
import { extract } from 'tw-lvr-cli'; const res = await extract({ where: '臺中市西屯區市政北二路', from: '2024', to: '2026', }); // res.data: CleanRawRecord[] — 結構化、可直接寫入 DB
以可攜的 Agent Skill 形式提供,讓 coding agent 直接呼叫 tw-lvr,結果寫到磁碟、不佔對話 context
Shipped as a portable Agent Skill so a coding agent can call tw-lvr directly — results land on disk, out of the conversation context
# 在 Claude Code 內輸入: /plugin marketplace add felixfu824/taiwan-property-price-cli /plugin install tw-lvr-cli@tw-lvr-cli # 之後可直接「查關新路 2024–2026 成交」
$ codex plugin marketplace add felixfu824/taiwan-property-price-cli $ codex plugin add tw-lvr-cli@tw-lvr-cli # skill 隨專案可攜,無需常駐 server
tw-lvr extract 指定地區與年份;加 --pretty 取得格式化 JSON,或加 --out file.csv 把整個行政區寫成一個 CSV 檔。整個過程在程式內完成,結果留在磁碟,不進 LLM context。tw-lvr extract with a location and year range; add --pretty for formatted JSON, or --out file.csv to write a whole district to one CSV. It all happens in code and the result stays on disk — out of the LLM context.