Taiwan Real Estate Actual Price Registration — 實價登錄 API
Pricing
from $0.50 / 1,000 results
Taiwan Real Estate Actual Price Registration — 實價登錄 API
Every property deal Taiwan's Ministry of the Interior registers: sales, presale contracts and leases, with price, area, floor, layout, age and parking, normalized to JSON with ping and per-ping prices. All 22 cities, quarterly batches back to 2012.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
chris
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Taiwan Real Estate Actual Price Registration (實價登錄) API
Get structured JSON access to every property deal Taiwan's Ministry of the Interior registers — completed sales, presale contracts and leases — with price, area, floor, layout, building age, parking and the registrar's own notes. All 22 cities and counties, quarterly batches back to 2012. Season 115S2 alone holds 75,399 sales, 8,571 presale contracts and 47,610 leases.
Taiwan has published every registered transaction price since 2012-08-01, which makes it one of the few property markets in the world with a complete, free, official price record. It ships as a 14 MB ZIP of 236 CSVs — one set per city, split three ways, with two header rows, ROC-calendar dates, Chinese numerals for floors and areas in square metres that nobody in Taiwan actually quotes. This Actor turns it into one flat record shape, adds 坪 and per-坪 prices alongside the official ones, and reproduces the Ministry's own unit price from the raw price and areas on every single row as a check that nothing was mis-parsed.
Why this data matters
- Actual transaction prices, not asking prices. Listing sites publish what sellers hope for. This is what the deeds registry recorded, with a statutory 30-day filing deadline behind it.
excludeNoteFlagsis the difference between a price and a market price. The registrar flags related-party deals, and they are not priced like arm's-length ones: in season 115S2, Taipei's 679 related-party residential deals had a median of NT$555,980 per ping against NT$847,385 for the 3,995 arm's-length ones. Averaging the two together is the most common way to get Taiwan property analysis wrong.note_flagssplits the registrar's prose into the flags it actually is. 預售屋、或土地及建物分件登記案件 on 16,393 sales, 其他增建 on 7,033, 陽台外推 on 3,742, 協議價購 on 2,301, 僅車位交易 on 993 — each of which changes how a price should be read.- Prices in 坪, which is how the market quotes them.
unit_price_pingconverts the Ministry's NT$/m² at the exact legal ratio (1 坪 = 400/121 m²). Areas come in both units throughout. - The presale book carries the project name.
project_nameandbuilding_unitmean you can follow a single development contract by contract — andcontract_cancelledcatches the rescissions whose prices stay in the register regardless. - The lease book separates social housing from market rent. 27,715 of season 115S2's 47,610 leases are 社會住宅 代管 or 包租轉租, whose rents are set by policy.
rental_servicelets you drop them;lease_start_date,lease_end_date,has_furnitureandequipmentdescribe what is left. includeDetailsopens up the parcels behind the deal. Every land parcel with its number and ownership share, every registered building layer with its own area and age, every parking bay with its price and floor — and each one summed back against the summary row.- Nobody serves this in English. Search for a Taiwan property price API and you find listing scrapers. The official register is free, complete and effectively unusable without a parser.
Output
One record per registered case. A Da'an District apartment sale:
{"record_type": "SALE","record_type_zh": "買賣","source_batch": "115S2","serial_number": "RPVNMLPKNHLGFFA68DA","city": "臺北市","city_code": "a","district": "大安區","address": "臺北市大安區大安路二段27巷1號五樓之1","property_kind": "房地(土地+建物)","transaction_date": "2026-05-01","transaction_month": "2026-05","transaction_date_roc": "1150501","land_area_sqm": 14.5,"land_area_ping": 4.3862,"building_area_sqm": 88.38,"building_area_ping": 26.7349,"urban_land_use": "住","land_count": 1,"building_count": 1,"parking_count": 0,"transaction_counts_raw": "土地1建物1車位0","floor_raw": "五層","floors": [5],"floor_tags": [],"total_floors": 8,"building_type": "華廈(10層含以下有電梯)","main_use": "住家用","main_material": "鋼筋混凝土造","completion_date": "1981-11-02","building_age_years": 44.5,"rooms": 4,"halls": 2,"baths": 2,"has_compartment": true,"has_management_org": true,"total_price": 27000000.0,"unit_price_sqm": 305499.0,"unit_price_ping": 1009914.05,"parking_type": null,"parking_price": 0.0,"note": "親友、員工、共有人或其他特殊關係間之交易;陽台外推;","note_flags": ["親友、員工、共有人或其他特殊關係間之交易", "陽台外推"],"unit_price_check": "MATCH","unit_price_sqm_recomputed": 305498.98,"main_building_area_sqm": 66.29,"aux_building_area_sqm": 0.0,"balcony_area_sqm": 11.51,"has_elevator": true,"transfer_number": "0026"}
Presale contracts add project_name, building_unit, contract_cancelled and contract_cancellation_date. Leases add lease_kind, lease_start_date, lease_end_date, has_furniture, equipment and rental_service. Fields that belong to only one book are null on the other two.
With includeDetails, each record also carries details.land, details.building and details.parking — the itemised rows behind the summary — plus a detail_check saying whether they add up.
Input
| Field | Type | Notes |
|---|---|---|
recordTypes | array | SALE, PRESALE, RENT. Default ["SALE"]. Three separate books with different columns. |
seasons | array | ROC quarters, e.g. ["115S2"]. Empty means the newest published one. Eight per run. |
includeLatest | boolean | Also fetch the ten-day top-up batch published between quarters. |
cities | array | Chinese names, e.g. ["臺北市", "新北市"]. 台 is accepted for 臺. Empty means all 22. |
districts | array | e.g. ["大安區"]. |
transactionDateFrom / transactionDateTo | string | YYYY-MM-DD. Filters what a season holds; does not choose seasons. |
propertyKinds | array | e.g. ["房地(土地+建物)", "房地(土地+建物)+車位"] for residential deals without bare land or lone parking bays. |
buildingTypes | array | e.g. ["住宅大樓(11層含以上有電梯)"]. |
minTotalPrice / maxTotalPrice | integer | NTD. For leases this is the monthly rent. |
excludeNoteFlags | array | Drop records whose 備註 contains any of these, e.g. ["親友、員工、共有人或其他特殊關係間之交易"]. |
includeDetails | boolean | Attach itemised land, building and parking rows, and cross-check their areas. |
maxResults | integer | Default 5000; 0 for everything. A season's sales across all 22 cities is ~75,000 records. |
How the numbers are verified
The prices and areas are the government's own — this Actor does not compute them. What it does is recompute the government's derived number from the government's raw ones, on every row, and report the result per record in unit_price_check:
- The unit price identity, on every row. The Ministry publishes 單價元平方公尺 but not the rule behind it. Recovering it takes three cases: a land-only deal divides by land area; anything with a building divides by building area after removing the parking bay from both price and area, but only when the bay has a price and an area of its own; a deal with no building area falls back to land area. Applied to season 115S2 this reproduces the published figure for all 129,765 of its 131,580 rows that carry one — every sale, presale and lease, to within the Ministry's own rounding. The remaining 1,815 rows publish no unit price at all.
- The order of those cases is not cosmetic. Eleven land-only rows also carry a building area; dividing those by it lands 20–80% off.
- Itemised areas summed back against the summary row. Land, building and parking areas are published twice — once as a total, once itemised in a separate CSV. Across season 115S2's 75,399 sales, 75,271 reconcile: land and parking areas agree exactly, one building area does not, and 127 are cases where 交易筆棟數 names fewer land parcels than the detail file itemises.
- Column signatures, per file. Every column this Actor reads is pinned by name for each of the three books. If the Ministry renames one, the run fails loudly rather than silently filing nulls.
- Nothing is guessed. The 22 city letters were each confirmed against the district names inside their own file, over every season from 101S4 to 115S2. A letter outside that set yields
city: null, not a guess.
Coverage and limits
- The register opened on 2012-08-01, inside season 101S3. The Ministry lists 101S1 and 101S2 as well, but those archives ship no city files at all.
- A season is cut by registration date, not transaction date. 115S2 holds sales registered 2026-03-11 to 2026-06-10, whose transactions happened weeks to months earlier — and a handful of which date back decades. Use
transactionDateFrom/transactionDateToto filter, and expect a transaction to appear in the season after the one its date falls in. - Leases and presale contracts run on their own windows. The same 115S2 archive holds leases contracted 2026-02-11 to 2026-05-10 and presale transactions over the same span. Each run logs the exact window the Ministry printed.
- Street numbers are masked to a range on residential cases. That is the Ministry's privacy rule, not a parsing loss. Land-only cases carry the parcel instead.
building_age_yearsis null for presale units, which transact before the building exists, and for the roughly one sale in four where the register leaves the completion date blank. About one sale in six hundred carries a completion date whose day is out of range or unreadable; those keepcompletion_monthwhere they can and dropcompletion_date.floorsandfloor_tagssplit a field that is not always a number. One case can name several floors at once and mix them with 全, 騎樓, 陽台, 夾層 or 見其他登記事項. Numbered floors go infloorswith basements negative; everything else is kept verbatim infloor_tagsrather than dropped.- The ten-day increment overlaps nothing and repeats little. Combined with a season it can restate a record; de-duplicate on
serial_number, which is unique within a batch. maxResultscuts city by city, in the Ministry's order. A low limit returns whole cities rather than a sample across all of them. Set0for everything.
Taiwan Market Data Suite
This Actor is part of a suite of 23 Taiwan market data APIs by chamarix — official sources only, cross-validated against independent official endpoints, clean JSON out. Code samples for the whole suite: GitHub.
Market data:
- twse-institutional-trades — Daily institutional buy/sell (foreign, investment trust, dealer) per stock — TWSE listed
- tpex-institutional-trades — Daily institutional buy/sell per stock — TPEx OTC market
- taiwan-monthly-revenue — Monthly revenue of 1,900+ listed & OTC companies, MoM/YoY
- taiwan-financial-statements — Quarterly income statement, balance sheet & cash flow back to 2013
- taiwan-dividend-calendar — Ex-dividend / ex-rights dates, reference prices & payouts back to 2003
- taiwan-margin-trading — Daily margin trading & short sale balances per stock
- taiwan-sbl-short-sale-balance — Securities-lending short sale balances per stock
- taiwan-day-trading-stats — Day-trading volume, value & ratio per stock since 2014
- tdcc-shareholding-dispersion — Weekly TDCC shareholding dispersion (retail vs whale structure)
- taiwan-foreign-shareholding — Foreign ownership percentage & remaining quota per stock
- taifex-institutional-derivatives — Institutional futures & options positions (TAIFEX), incl. put/call ratio
- taiwan-warrants-daily — Daily quotes, strike, expiry & moneyness for every listed/OTC warrant since 2004
- taiwan-stock-alerts — Watch-list, disposition & short-sale suspension alerts
- taiwan-insider-share-transfers — Insider share-transfer filings (directors, officers, 10% holders) since 2002
- taiwan-director-shareholdings — Monthly director/officer shareholdings & share-pledge ratio since 1999
- taiwan-block-trades — Every block trade (鉅額交易) with price, size & basket constituents since 2005
- taiwan-shareholder-meetings — Shareholder meeting dates, book closure periods & e-voting since 2005
- taiwan-emerging-stock-quotes — Emerging (興櫃) board quotes, pre-IPO register & history since 2003
- taiwan-etf-regular-investment — Monthly regular savings plan (定期定額) rankings for stocks & ETFs since 2020
- taiwan-treasury-stock-buybacks — Every treasury-stock buyback (庫藏股) filing, plan vs execution, since 2000
Property market:
- taiwan-real-estate-transactions — Actual registered sale, presale & lease prices (實價登錄) for all 22 cities since 2012
Government & civic data:
- taiwan-legislator-monitor — Legislative Yuan bills, legislators & meetings
- taiwan-tender-monitor — Government e-procurement tenders (open calls, awards, failures)
Data source
Ministry of the Interior 不動產交易實價查詢服務網 (plvr.land.moi.gov.tw) — the quarterly 不動產成交案件實際資訊資料 archives and the ten-day increment. Public open data, no login and no API key required.