Korea 아파트 전월세 실거래가 API (Apartment Jeonse & Rent)
Pricing
from $0.50 / 1,000 rental contracts
Korea 아파트 전월세 실거래가 API (Apartment Jeonse & Rent)
Official Korean apartment jeonse and monthly-rent contracts from the Ministry of Land register. Real KRW, English labels, a stable complex ID and a geocodable road address on every row. Every renewal filing carries its previous deposit and rent.
Pricing
from $0.50 / 1,000 rental contracts
Rating
0.0
(0)
Developer
HEESEOK HONG
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Share
Korea Apartment Jeonse & Rent Transactions Scraper — 아파트 전월세 실거래가 API
Every apartment rental contract filed with the Korean government, in real won, with English labels — and the previous contract attached, so you can see what the tenant actually paid before.
Every row carries complexId — the register's stable per-complex key — so you can build a time series for one building without matching on names that get re-spelled between filings, and join rentals against sale transactions for the same complex. Every row also carries a full road-name address, ready to geocode.
What you get that a listing scrape cannot give you
Korean rental filings have carried the previous contract's terms since the 임대차 신고제 came into force. That turns a price list into a rent-increase dataset:
| Field | What it answers |
|---|---|
depositChangePct | How much did this landlord raise the deposit on renewal? Present on every renewal filing. |
monthlyRentChangePct | Same for monthly rent. |
jeonseConversionRatePct | When a tenant swapped deposit for monthly rent, what annual rate did they get? This is the number compared against the legal cap of base rate + 2%p. |
usedRenewalRight | Did the tenant exercise the statutory 계약갱신요구권? |
contractTermFrom / To | When does this lease expire — i.e. what supply is coming back to market? |
Portal listings show asking prices. This is the filed, binding contract.
Field coverage — measured, not promised
Sampled on Gangnam-gu, June 2026 (n=100 filings):
| Field | Present on |
|---|---|
Deposit, rent, area, floor, complexId, road address | 100% of rows |
contractType (new vs renewal) | 70% of rows |
Previous contract — previousDepositKrw, depositChangePct | 100% of renewal filings (24 of 24) |
usedRenewalRight affirmative | 46% of renewals (11 of 24) |
A previous contract is structurally absent from a new lease — there is nothing to compare against. Every renewal in the sample carried its previous deposit and rent, so the increase and conversion figures are complete where they are meaningful rather than sparse everywhere.
Missing values are always null, never 0, so a blank never silently drags an average down.
What one run tells you
That single 100-row sample already yields:
- 34% of classified filings were renewals (24 of 70)
- 46% of those renewals used the statutory 계약갱신요구권 (11 of 24)
- a per-contract deposit increase for every one of those 24
No survey, no panel, no estimation — these are filed contracts.
Sample output
{"propertyType": "APARTMENT","leaseType": "MONTHLY_RENT","sidoEn": "Seoul","sggEn": "Gangnam-gu","umdKr": "삼성동","buildingName": "삼성동롯데아파트","areaSqm": 59.4,"areaPyeong": 17.97,"floor": 2,"buildYear": 2000,"depositKrw": 300000000,"monthlyRentKrw": 2000000,"depositKrwPerPyeong": 16694915,"previousDepositKrw": 800000000,"previousMonthlyRentKrw": 0,"depositChangePct": -62.5,"jeonseConversionRatePct": 4.8,"contractType": "RENEWAL","usedRenewalRight": null,"contractTermFrom": "2026-06","contractTermTo": "2028-06","reportedDate": "2026-06-04"}
A pure jeonse contract has monthlyRentKrw: 0 and leaseType: "JEONSE".
Who uses this
- Proptech and listing platforms — benchmark asking prices against filed contracts
- Banks and insurers — jeonse deposit exposure, LTV against actual deposit levels
- Funds and REITs — rental yield by district, built from contracts rather than surveys
- Policy and press — renewal-right take-up, conversion rates against the legal cap
- Relocation and corporate housing — what a given building actually rents for
Input
| Field | Default | Notes |
|---|---|---|
regions | ["Gangnam-gu"] | English, Korean, or 5-digit 시군구 code. Mix freely. |
monthFrom / monthTo | last completed month | YYYY-MM |
months | — | Exact months; overrides the range |
leaseType | ANY | JEONSE / MONTHLY_RENT |
contractType | ANY | NEW / RENEWAL |
renewalRightOnly | false | Only contracts where the renewal right was exercised |
minDepositKrw / maxDepositKrw | — | In won, not 만원 |
minAreaSqm / maxAreaSqm | — | m² |
maxResults | 500 | Hard cap on billed rows |
serviceKey | shared key | Your own data.go.kr key for scheduled runs |
Running with defaults works — no configuration needed to see output.
Two things that will bite you if you use the raw API
1. Amounts are in 만원, not won. <deposit>50,000</deposit> is ₩500,000,000, not ₩50,000. A foreign analyst reading the raw field is off by 10,000×. This Actor returns real won and keeps the original string in raw.
2. A blank renewal-right field does not mean "not used". It means "not reported" — common for small landlords and for older filings. Treating blanks as false silently understates take-up. This Actor returns null for blanks and true only for an affirmative filing.
Notes
- Official government Open API only. No login, no scraping behind authentication.
- Rental contracts must be filed within 30 days, so the current month is always incomplete. The default is the last completed month.
- Rentals are dense: Gangnam-gu filed 1,921 apartment rentals in June 2026 against 223 sales.
maxResultsdefaults to 500 so a first run cannot surprise you. - A free data.go.kr key allows 10,000 requests per day and is approved automatically. Your existing key works — this API just needs its own 활용신청 on the portal.
Coming next
Officetel (오피스텔), row house (연립다세대) and detached house (단독다가구) rentals come from three sibling registers and are already implemented here. They ship once their field names are confirmed against live responses rather than documentation — a rental row with a null building name is worse than no row at all.
Related
- Korea 아파트 실거래가 API — apartment sale transactions from the same register
- DART Korea 공시·재무제표 API — Korean corporate filings and financial statements