Taiwan Real Estate Sold Prices API in English
Pricing
from $4.00 / 1,000 property records
Taiwan Real Estate Sold Prices API in English
Get Taiwan's official real estate sold prices and rents in English (MOI actual price registration): NT$ per ping and m², size, age and building type for sales, pre-sales and rentals, plus district medians. Any city, every 10 days, back to 2012. No API key. API or MCP, $4 per 1,000 rows.
Pricing
from $4.00 / 1,000 property records
Rating
0.0
(0)
Developer
Japan Open Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Get Taiwan's official real estate sold prices in English: every registered home, land and parking sale, pre-sale (off-plan) contract and rental, with price per ping and per m², size, building age and type, and district medians. This Actor reads the Ministry of the Interior's actual price registration open data (實價登錄, updated every 10 days) and returns clean, flat JSON: one row per transaction, plus summary rows with the median price per district.
- All 22 cities and counties, any district: Taipei, New Taipei, Taoyuan, Taichung, Tainan, Kaohsiung, Hsinchu and the rest.
- Latest 10-day batch (published on the 1st, 11th and 21st of each month) or any past quarter back to 2012 Q4.
- Sales, pre-sales and rentals in one tool, with the same English field names.
- Official English street and district names (Chunghwa Post), prices in NT$, areas in m² and ping (坪).
- Privacy by design: addresses end at the road, section and lane. House numbers, alleys, floors, land lot numbers and the free-text remarks are never returned (see Privacy).
- Built for pipelines and AI agents: flat camelCase fields, a
statuson every row, plain-English errors that are never charged. No API key, no login.
Why use this instead of the MOI website or a Taiwanese price site?
| MOI search site / CSV download | Taiwanese price sites and APIs | This Actor | |
|---|---|---|---|
| Language | Chinese only | Chinese only | English (Chinese kept alongside) |
| Format | CSV per city with ROC dates, full-width digits, 30+ Chinese columns | Web pages, or an API with a Chinese-only sign-up | Flat JSON, ISO dates, numbers as numbers |
| Price per ping and per m² | Per m² only | Yes | Both, plus district medians |
| Special deals (related parties, government, rooftop additions) | Buried in a free-text remark | Partly | Yes/no flags, and left out of the medians |
| Past quarters | Download and merge by hand | Varies | period: "2026Q2" |
| API, schedules, MCP | No | Paid plans | Yes |
What can you do with Taiwan Real Estate Sold Prices API?
- Foreign investors, funds and brokers - benchmark an asking price against what actually sold in the same district and street this month, in NT$ per ping.
- Proptech and data teams - feed a pricing model or a dashboard with every registered sale, pre-sale and rental, refreshed every 10 days.
- Relocation and corporate housing - median rents per district and what a furnished whole unit rents for.
- Analysts and journalists - quarter-by-quarter district medians for a market report.
- AI agents - answer "what do apartments sell for in Da'an District, Taipei?" with one tool call and a source link.
How to use
- Click Try for free. The default input returns the newest 20 sales in Da'an District, Taipei plus one summary row, in a few seconds.
- Change City or county (English, pinyin or Chinese all work:
Taipei,Taibei,臺北市,台北) and District (Xinyi,Banqiao,大安區), or clear the district to get the whole city with one summary row per district. - Choose Transaction type:
sale,presaleorrent. - For history, set Period to a finished quarter such as
2026Q2.
Via the API with only "city", you get the whole city: the newest 20 transactions (often land-only deals first) plus one summary row per district. Add "propertyType": "building" for homes and apartments.
Run it on a schedule
The MOI publishes a new batch on the 1st, 11th and 21st of each month. Create a Schedule in Apify Console that runs on the 2nd, 12th and 22nd with your city, and add a webhook or integration (Google Sheets, Slack, your database) to receive the rows.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
city | text (required) | Taipei | Any city or county, in English (New Taipei, Kaohsiung, Hsinchu County), pinyin (Taibei, Gaoxiong) or Chinese (臺北市, 台中). Hsinchu and Chiayi mean the cities; add County for the counties. |
district | text | Da'an (prefilled in Console) | One district / township within the city (Da'an, Daan, Xinyi District, 大安區). Empty or omitted (for example in an API call) = the whole city, with one summary row per district. |
transactionType | sale / presale / rent | sale | Existing property and land sales, pre-sale contracts of new projects, or rentals. |
period | text | latest | latest = the newest 10-day batch; or a finished quarter from 2012Q4 (e.g. 2026Q2; the MOI code 115S2 also works). |
propertyType | any / building / land / parking | any | building = anything with a building (homes, shops, offices, with or without parking). |
sortBy | date / price | date | Newest first, or highest total price (monthly rent for rentals) first. |
maxResults | integer | 20 | Transaction rows to return (1 to 20,000). Summary rows always use all matching transactions. |
includeSummary | boolean | true | Adds rowType: "summary" rows with count and medians per district (and the whole city when no district is set). |
Input examples
{ "city": "New Taipei", "district": "Banqiao", "transactionType": "sale", "propertyType": "building", "maxResults": 200 }
{ "city": "Kaohsiung", "period": "2026Q2", "maxResults": 1, "includeSummary": true }
{ "city": "台北", "district": "信義區", "transactionType": "rent", "sortBy": "price" }
Output
Transaction row (real data, latest batch published September 2026; some fields trimmed):
{"status": "ok","rowType": "transaction","transactionType": "sale","transactionDate": "2026-08-11","city": "Taipei City","district": "Da'an District","street": "Ln. 176, Sec. 1, Da'an Rd.","locationEnglish": "Ln. 176, Sec. 1, Da'an Rd., Da'an District, Taipei City","locationChinese": "臺北市大安區大安路一段176巷","propertyType": "land+building","buildingType": "Mid-rise residential (up to 10 floors, elevator)","mainUse": "Residential","mainMaterial": "Reinforced concrete (RC)","totalFloors": 9,"builtDate": "2026-05-13","buildingAgeYears": 0.2,"buildingAreaSqm": 30.86,"buildingAreaPing": 9.34,"rooms": 1,"livingRooms": 0,"bathrooms": 1,"totalPriceTwd": 15880000,"unitPriceTwdPerSqm": 514582,"unitPriceTwdPerPing": 1701097,"parkingSpaceCount": 0,"urbanZoning": "Residential","relatedPartyTransaction": false,"includesRooftopAddition": false,"hasOtherRemarks": false,"currency": "TWD","period": "latest","periodDescription": "latest batch: sales registered 2026-09-01 to 2026-09-10; pre-sales signed 2026-08-01 to 2026-08-10; rentals signed 2026-08-01 to 2026-08-10","sourceFileUrl": "https://plvr.land.moi.gov.tw/Download?type=csv&fileName=a_lvr_land_a.csv","fetchedAt": "2026-09-24T22:31:21Z"}
Summary row (same run):
{"status": "ok","rowType": "summary","summaryLevel": "district","transactionType": "sale","city": "Taipei City","district": "Da'an District","transactionCount": 52,"medianSampleCount": 44,"excludedFromMedianCount": 8,"medianTotalPriceTwd": 33100000,"medianUnitPriceTwdPerPing": 1229162,"medianUnitPriceTwdPerSqm": 371822,"medianBuildingAreaPing": 31.58,"medianBuildingAgeYears": 38.5,"currency": "TWD"}
Free rows: an error row for invalid input (for example "Unknown district \"Banqiao\" in Taipei City: use one of its districts ... or leave \"district\" empty for the whole city.") and a not_found row when nothing matches.
Output fields
| Field | Meaning |
|---|---|
status | ok (charged), not_found or error (free) |
rowType | transaction or summary |
transactionType | sale, presale or rent |
transactionDate | Contract date (ISO). Sales are published by registration date, so a batch can contain some older contracts |
city, district, street, locationEnglish | Official English names (Chunghwa Post). street ends at road, section and lane; streetNameSource is pinyin for the 1-2% of roads not in the Chunghwa Post table |
landSection / landSectionChinese | Land-only rows: the cadastral section (no lot number) |
cityChinese, districtChinese, streetChinese, locationChinese | The same place in Chinese |
propertyType | land+building, land+building+parking, land, building, parking (rentals: building, building+parking, ...) |
buildingType, mainUse, mainMaterial | English categories (mainUseChinese keeps the registered wording) |
totalFloors, builtDate, buildingAgeYears | Floors of the whole building, completion date, age at the contract date |
landAreaSqm/Ping, buildingAreaSqm/Ping, mainBuildingAreaSqm/Ping, auxiliaryAreaSqm, balconyAreaSqm | Areas. 1 ping = 3.3058 m². Building area includes the shared common area |
rooms, livingRooms, bathrooms, hasPartitions, hasManagementOrganization, hasElevator | Layout and building facts |
totalPriceTwd, unitPriceTwdPerSqm, unitPriceTwdPerPing | Sales / pre-sales. The total includes parking; the MOI unit price excludes separately priced parking |
parkingSpaceCount, parkingType, parkingAreaSqm, parkingPriceTwd | Parking in the deal |
landParcelCount, buildingCount | Number of land parcels and buildings in the deal |
urbanZoning (+urbanZoningDetailChinese), nonUrbanZone, nonUrbanLandUse | Zoning in English |
projectNameChinese, contractCancelled, cancellationDate | Pre-sales only: the project (building development) name and whether the contract was cancelled |
monthlyRentTwd, rentTwdPerSqm, rentTwdPerPing, rentalType, furnished, hasBuildingManager, leaseStart, leaseEnd, includedEquipment, rentalServiceType | Rentals only |
relatedPartyTransaction, governmentSaleOrPurchase, includesRooftopAddition, includesAdditionOrUnregisteredStructure, parkingOnlyTransaction, defectiveProperty, includesPublicFacilityReservedLand, priceIncludesFurnishingsOrRenovation, surfaceRightsBuilding, presaleOrSeparateRegistration | Yes/no flags derived from the official remark (sales) |
leaseRenewal, rentIncludesManagementFee, socialHousingProgram, sharedTenancy, partialPremisesLease | Yes/no flags derived from the official remark (rentals) |
hasOtherRemarks | The official remark said something that is not one of the flags above (the text itself is not returned) |
Summary: transactionCount, medianSampleCount, excludedFromMedianCount, medianTotalPriceTwd, medianUnitPriceTwdPerPing, medianUnitPriceTwdPerSqm, medianMonthlyRentTwd, medianRentTwdPerPing, medianBuildingAreaPing, medianBuildingAgeYears, landOnlyCount, earliestTransactionDate, latestTransactionDate | Medians use transactions with a building and leave out related-party, government, parking-only, defective-property and public-facility-land deals |
period, periodDescription, sourceFileUrl, sourceUrl, fetchedAt, attribution | Provenance |
error | Plain-English reason on free rows |
How much does it cost?
Pay per event - you pay per returned property record (a transaction row or a district summary row with status: "ok"), plus a tiny fee per run:
| Event | Price |
|---|---|
Property record (result-row) | $0.004 per row ($4.00 per 1,000) |
Actor start (apify-actor-start) | $0.001 per run |
not_found and error rows are free. No subscription, no minimum.
| Use | Rows | Cost |
|---|---|---|
Median price per ping for one district (maxResults: 1) | 2 | under 1 cent |
District medians for a whole city (maxResults: 1, no district) | about 15-40 | about $0.06-$0.17 |
| Default run (Da'an District, 20 sales + 1 summary) | 21 | about $0.09 |
API call with only "city": "Taipei" (20 transactions + 13 summary rows) | 33 | about $0.13 |
| Every sale in Taipei in one 10-day batch | about 370 | about $1.50 |
| Every sale in one district for a quarter | about 200-1,000 | about $0.80-$4.00 |
| One district on a schedule, every batch (3 runs a month) | about 150 a month | about $0.60 a month |
Set Maximum cost per run in the run options to cap any run.
Use via API & MCP (AI agents)
REST API (synchronous, returns the rows):
curl -X POST "https://api.apify.com/v2/acts/japan-open-data~taiwan-property-sold-prices/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"city": "Taipei", "district": "Xinyi", "transactionType": "sale", "maxResults": 20}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("japan-open-data/taiwan-property-sold-prices").call(run_input={"city": "New Taipei", "period": "2026Q2", "maxResults": 1})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["rowType"] == "summary":print(row.get("district"), row["transactionCount"], row["medianUnitPriceTwdPerPing"])
MCP: add the Apify MCP server (https://mcp.apify.com) to Claude, Cursor or any MCP client and enable the tool japan-open-data/taiwan-property-sold-prices.
Recommended settings for agents:
- For "how much do homes cost in district X?", use
{"city": "<city>", "district": "<district>", "propertyType": "building", "maxResults": 5}and quote the summary row'smedianUnitPriceTwdPerPingandtransactionCount. - For a city overview, leave
districtempty and setmaxResults: 1: you get one summary row per district. - The latest batch covers only about 10 days; for a more stable median use a finished quarter (
"period": "2026Q2"). - Taiwanese prices are usually quoted in NT$ per ping (坪); 1 ping = 3.3058 m².
- Quote
periodDescriptionandsourceUrlin answers, and say that prices are declared prices, not appraisals.
Summary for AI assistants: This tool returns Taiwan's official Ministry of the Interior real-estate transaction records (actual price registration, updated every 10 days, quarters back to 2012) for a city and district as English JSON rows: date, street (no house number), building type, age, size in m² and ping, total price and price per ping or monthly rent, plus district median summary rows.
Privacy: what is left out
Since 2021 the official files include the full street address with house number and floor. Combined with the date and price, that can point to a specific owner in the land registry. This Actor therefore:
- cuts every address after the road, section and lane (
Ln. 176, Sec. 1, Da'an Rd.). Alleys (弄), house numbers (號) and floors (樓) are never returned, and neither is the floor of the unit that was sold; - returns only the cadastral section for land deals, never the land lot number (地號);
- never returns the free-text remark (備註), which can contain masked names of buyers and sellers; well-known phrases are turned into yes/no flags instead;
- drops the MOI case serial numbers and, for pre-sales, the building and unit number.
Buyers' and sellers' names are not in the official data. A consequence of this design: you cannot look up the sale history of one specific apartment, only of its street and district.
FAQ
How fresh is the data?
Each run downloads the MOI file live. The MOI publishes a new 10-day batch on the 1st, 11th and 21st of each month. Sales appear once they are registered, usually 1 to 2 months after the contract; pre-sales and rentals are reported by contract date.
Why are some contract dates older than the batch?
Sales are published by registration date. A contract signed long ago but registered recently appears in the current batch. transactionDate is always the contract date.
Are these appraisals?
No. They are the prices the parties declared to the government. Flags such as relatedPartyTransaction mark deals that may not be at market price; the summary medians leave them out.
What is a ping?
The unit Taiwanese buyers use for floor area: 1 ping (坪) = 3.3058 m² = 35.58 sq ft.
I read Chinese. Do I need this?
Maybe not. For a few look-ups, the MOI's own search site and Taiwanese price sites are free, and some Chinese-language APIs have free tiers. This Actor is for English-speaking users, pipelines and AI agents that need the records as clean English JSON, in bulk, on a schedule or through MCP, without a Chinese sign-up.
Is it legal to use this data?
Yes. The MOI publishes it as open government data under the Open Government Data License 1.0, which allows commercial use and re-publishing with attribution. Every row carries the attribution, and personal details are removed (see Privacy).
Is this an official MOI service?
No. It re-publishes the MOI's open data under the Open Government Data License. It is not affiliated with, or endorsed by, the Ministry of the Interior.
Troubleshooting
| Symptom | Fix |
|---|---|
Unknown city | Use a Taiwanese city or county: Taipei, New Taipei, Taichung, Kaohsiung, Hsinchu County, 臺北市 |
Unknown district | The district must be inside the city (Banqiao is in New Taipei, not Taipei). Leave it empty to see all districts |
not_found in a small county | The latest 10-day batch can be empty for small places; use a past quarter ("period": "2026Q2") |
| Quarter "has not ended yet" or "not published yet" | Quarters appear a few weeks after they end; use latest or an earlier quarter |
| Run stopped early | Your Maximum cost per run was reached |
Known limitations
- Street names come from the Chunghwa Post English table; about 1-2% of roads (for example new roads or intersections such as "A Rd. and B St.") are transliterated with Hanyu Pinyin instead (
streetNameSource: "pinyin"). Some rural addresses have no road and show only the village or district. - English building types, uses and materials are fixed translations of the MOI categories;
mainUseChinesekeeps the registered wording. - Prices are in NT$ only; no currency conversion.
- One city per run. Run it several times (or on a schedule) for more cities.
Data source and licence
Source: Ministry of the Interior, Department of Land Administration, Real Estate Actual Price Registration open data (不動產成交案件實際資訊資料供應系統; data.gov.tw datasets 77051 and 25119). English city, district and road names: Chunghwa Post, 縣市鄉鎮中英對照檔 and 路街中英對照. All licensed under the Open Government Data License, version 1.0. The data has been translated and reduced (addresses shortened, remarks converted to flags) by this Actor. This Actor is not affiliated with, or endorsed by, the Ministry of the Interior or Chunghwa Post.
More from Japan Open Data
- UK Importers & Exporters by Product (HMRC Data) — UK companies that imported or exported a product (HS code) each month, with town, postcode district and a "new trader" flag, from official HMRC data.
- UK Visa Sponsor Register Tracker (Daily Changes) — track new, removed and downgraded UK visa sponsors daily from the official Home Office register, or check whether a company holds a sponsor licence.
- US Flood Zone Lookup by Address (FEMA NFHL) — the official FEMA flood zone, SFHA status and base flood elevation for US addresses or coordinates, in bulk.
- France Property Risk Lookup by Address (Georisques) — official Géorisques risks for any French address or coordinates: flood, clay shrink-swell, seismic zone, radon, past natural-disaster declarations and nearby industrial sites.
- UK Flood Risk Lookup by Postcode (England) — Environment Agency flood zone, recorded flood extents and flood defences for any postcode or coordinates in England.
- England Listed Building & Conservation Area Check — official listed buildings, scheduled monuments, conservation areas and Article 4 directions for any postcode or coordinates in England, one row per location.
- UK NHS Organisation Lookup (Official ODS Codes) — official NHS ODS register by postcode, type or ODS code: GP practices, pharmacies, dentists, NHS trusts, care homes and more.
- UK HGV Operator Licence Lookup (Official DVSA) — Great Britain's official HGV and bus / coach operator licences by company, postcode and fleet size.
- UK Waste Carrier Licence Check (Environment Agency) — check whether an English business is a registered waste carrier, broker or dealer.
- US Hail History by Location (NOAA NEXRAD Radar) — every hail day near any U.S. latitude/longitude with max estimated hail size.
- US Storm Reports API: Hail, Wind & Tornado (NWS) — U.S. hail, wind, tornado and flood reports from official NWS Local Storm Reports.
- Mexico Gas Prices API by Station (Official CNE) — today's gas and diesel prices at every Mexican gas station, from the official CNE feed.
- Argentina Fuel Prices API by Station (Official) — last reported gasoline (nafta), diesel and CNG prices at every Argentine gas station.
- TSA Checkpoint Travel Numbers (Daily, Weekly & YoY) — daily U.S. TSA airport checkpoint traveler counts.
- Japan Postal Code & Address in English — Japanese postal codes and addresses in English/romaji, kanji and kana.
Feedback
Found a wrong translation, a street name that should be in English, or want another field or another country's official sold prices? Open an issue on the Issues tab - it will be read.