Naver Land Scraper - Korea Apartments & Officetels
Pricing
from $4.00 / 1,000 results
Naver Land Scraper - Korea Apartments & Officetels
Naver Land scraper & data API for South Korea real estate: search apartments, officetels & villas for sale (매매), jeonse (전세) & monthly rent (월세); export price, area, floor, direction, location, tags & the listing agent. Korea property market data & lead generation — fast.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
21
Total users
1
Monthly active users
a day ago
Last modified
Categories
Features
Share
Naver Land Scraper — South Korea Real Estate, Apartments (아파트), Officetels, Jeonse/Sale Prices & Agent Leads
Scrape South Korean property listings from Naver Land (
네이버 부동산) — Korea's #1 real estate portal. Extract apartments (아파트), officetels (오피스텔), villas (빌라), pre-sale units (분양권), and commercial properties for sale (매매), jeonse deposit lease (전세), and monthly rent (월세). Captures Korean price strings (12억 5,000), monthly rent, supply & exclusive area (m²), floor info, facing direction (남향), building/complex details, GPS coordinates, tags, photos, and full real estate brokerage (공인중개사) contact details including agent phone numbers.
⚡ At a glance
| Capability | Details |
|---|---|
| Target Platform | Naver Land (new.land.naver.com — 네이버 부동산) |
| Location Targeting | 35+ pre-mapped Korean districts (구 dropdown: Gangnam, Seocho, Songpa, Mapo, Bundang, Haeundae, etc.) · Custom neighborhoods (동 / towns: 역삼동, 판교동) · Direct cortarNos region codes |
Property Types (realEstateTypes) | Apartment (APT), Officetel (OPST), Villa (VL), Pre-sale (ABYG), Reconstruction (JGC), One-room (OR), Detached house (DDDGG), Retail (SG), Commercial (SMS), Land (GJCG) |
Deal Types (tradeTypes) | Sale (A1 매매) · Jeonse deposit (B1 전세) · Monthly rent (B2 월세) · Short-term (B3 단기임대) |
| Core & Property Fields | articleNo, articleName, price, rentPrice, supplyAreaM2, exclusiveAreaM2, floorInfo, direction, buildingName, confirmDate, tags, latitude, longitude |
| Agent Lead Enrichment | agentName, agentOffice, agentRepName, agentPhone, agentAddress, exposeAddress, description |
| Pagination & Scale | Round-robin multi-region deep pagination — scales seamlessly to 1,000+ unique listings with 0% duplicates |
| Export Formats | JSON, JSONL, CSV, Excel (XLSX), XML, HTML Table, REST API, Webhooks |
🔎 Why scrape Naver Land (네이버 부동산)?
Naver Land is the definitive source of real estate data in South Korea. Virtually every Korean apartment complex (단지), officetel tower, and residential brokerage syndicates its live inventory to Naver Land, making it the primary benchmark for sale prices (매매), Korea's unique lump-sum deposit leases (전세 / Jeonse), and monthly rentals (월세).
However, extracting data from Naver Land is notoriously difficult for analysts and international teams:
- Short-lived session authentication & geo-fencing: Naver Land is a single-page map application gated behind Korean IP checks and dynamically generated client-side authorization tokens.
- Complex regional hierarchy (
시/도→시/군/구→읍/면/동): Every Korean district and neighborhood maps to an internal 10-digit administrative code (cortarNo, e.g.,1168000000for Gangnam-gu). - Two-step agent contact retrieval: While the listing feed provides prices, areas, and coordinates, the licensed brokerage's representative name (
agentRepName), phone number (agentPhone), and street address (agentAddress) live on a per-article detail endpoint.
This Naver Land scraper automates the entire workflow: it bootstraps a valid Korean session once, resolves any Korean district (구) or neighborhood (동) name to its exact cortarNo, paginates across regions in round-robin order with strict articleNo deduplication, enriches agent contact details in parallel, and outputs clean JSON/CSV records.
✨ What this Naver Land data extractor does
- 🏙️ 35+ Major Korean Districts Built In (
regions): Select top markets in Seoul (강남구Gangnam,서초구Seocho,송파구Songpa,마포구Mapo,용산구Yongsan,성동구Seongdong,영등포구Yeongdeungpo, etc.), Gyeonggi/Incheon (분당구Bundang,수지구Suji,영통구Yeongtong,일산동구Ilsan,인천 연수구Yeonsu), and regional metros (해운대구Haeundae Busan,수성구Suseong Daegu,유성구Yuseong Daejeon). - 🔍 Free-Text Korean Location Resolver (
customLocations): Type any neighborhood (동), district (구), or city in Korean (e.g.,"역삼동","판교동","청담동","광교") and the actor resolves itscortarNoautomatically. - 🔓 Unlocked 1,000+ Multi-Region Pagination: Uses round-robin pagination across all selected regions, stepping through
page=1, 2, 3...untilmaxItems(including 1,000+ listings) is reached orisMoreDatais exhausted, with strictarticleNodeduplication. - 📐 Dual Korean Area Metrics (
공급면적&전용면적): Captures bothsupplyAreaM2(area1) andexclusiveAreaM2(area2), plus floorplanareaName(e.g.,84A,49C). - 📞 Real Estate Brokerage Lead Generation (
includeAgentDetails): ExtractsagentOffice,agentRepName(licensed representative),agentPhone(landline or mobile),agentAddress,exposeAddress, and full listingdescription. - 🗺️ Complex & Duplicate-Listing Price Ranges: Includes
complexNo,sameAddrCount(number of competing brokers advertising the same unit),sameAddrMinPrice, andsameAddrMaxPrice.
🎯 High-value use cases & Korean property intelligence
1. Seoul & Metro Apartment Price & Jeonse-to-Sale Ratio Tracking
Monitor 매매 (sale) vs. 전세 (jeonse deposit) prices across Seoul's core districts (강남 3구: Gangnam, Seocho, Songpa; 마용성: Mapo, Yongsan, Seongdong) to calculate live Jeonse ratios (전세가율) and detect market inflection points.
2. Licensed Korean Real Estate Agent (공인중개사) Lead Generation
Enable includeAgentDetails: true to harvest verified brokerage names (agentOffice), representative names (agentRepName), phone numbers (agentPhone), and office addresses (agentAddress) for B2B PropTech SaaS, mortgage, interior/moving services, and advertising sales.
3. Automated Valuation Models (AVM) & Institutional Research
Combine exclusiveAreaM2, supplyAreaM2, floorInfo, direction, confirmDate, tags, latitude, longitude, and price to train machine-learning valuation models for Korean residential and commercial assets.
4. Expat Housing, Corporate Relocation & English-Friendly Platforms
Power international relocation portals and bilingual property apps targeting Yongsan (용산구), Hannam-dong, Itaewon, Gangnam (강남구), Mapo (마포구), and Bundang (분당구) with live availability and photos.
📥 Input parameters
All fields are optional. Running with default/empty locations automatically collects a balanced sample across 8 premier Korean districts.
| Parameter | Type | Default / Prefill | Description |
|---|---|---|---|
regions | array<string> | [] (Auto sample) | Select one or more Korean districts from the dropdown (강남구, 서초구, 송파구, 강동구, 마포구, 용산구, 성동구, 영등포구, 분당구, 해운대구, 수성구, 유성구, etc.). |
realEstateTypes | array<string> | ["APT", "OPST", "VL"] | Property types to include: • APT (Apartment 아파트) · OPST (Officetel 오피스텔) · VL (Villa 빌라/연립)• ABYG (Pre-sale 분양권) · JGC (Reconstruction 재건축) · OR (One-room 원룸)• DDDGG (Detached 단독/다가구) · SG (Retail 상가) · SMS (Office 사무실) · GJCG (Factory/Warehouse) |
tradeTypes | array<string> | [] (All deal types) | Deal types to include: • A1 — Sale (매매) · B1 — Jeonse deposit (전세) · B2 — Monthly rent (월세) · B3 — Short-term (단기임대). Empty = all. |
includeAgentDetails | boolean | true | Fetch each listing's detail endpoint to add agentOffice, agentRepName, agentPhone, agentAddress, exposeAddress, and full description. |
maxItems | integer | Default 100 (Prefill 50) | Maximum total listings to return (0 = unlimited). Set to 1000+ for deep market extraction. (Also accepts maxListings / maxRecords). |
customLocations | array<string> | [] | Advanced: Free-text Korean neighborhood (동), district (구), or town names (e.g., ["역삼동", "판교동", "압구정동"]). |
cortarNos | array<string> | [] | Advanced: Direct 10-digit Naver Land region codes (e.g., ["1168010100"]). |
maxConcurrency | integer | 8 | Parallel detail requests during agent enrichment (1 to 20). |
proxyConfiguration | object | Residential KR | Apify Proxy configuration. South Korean Residential proxy (KR) is preconfigured and required. |
🛠️ Input recipes & examples
Recipe 1: Deep 1,000+ Gangnam, Seocho & Songpa (강남 3구) apartment sweep
Extract 1,200 apartment and officetel listings across Gangnam-gu, Seocho-gu, and Songpa-gu:
{"regions": ["강남구", "서초구", "송파구"],"realEstateTypes": ["APT", "OPST"],"tradeTypes": ["A1", "B1"],"includeAgentDetails": true,"maxItems": 1200,"maxConcurrency": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "KR"}}
Recipe 2: Neighborhood-level (동) monthly rent & jeonse search
Target specific high-demand neighborhoods (역삼동 Yeoksam-dong and 판교동 Pangyo-dong) for officetels and villas:
{"customLocations": ["역삼동", "판교동"],"realEstateTypes": ["OPST", "VL"],"tradeTypes": ["B1", "B2"],"includeAgentDetails": true,"maxItems": 500}
Recipe 3: Fast 2,000-listing price & coordinate sweep (without agent detail requests)
Disable includeAgentDetails for ultra-fast bulk collection of prices, areas, floors, and GPS coordinates:
{"regions": ["강남구", "마포구", "용산구", "분당구", "해운대구"],"realEstateTypes": ["APT", "OPST", "VL"],"includeAgentDetails": false,"maxItems": 2000}
📤 Output schema & field reference
Every dataset item is a flat JSON object representing one unique Naver Land listing (articleNo).
🏷️ Core Identity, Property Type & Price Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
articleNo | string | 🟢 High (100%) | Unique Naver Land listing ID (primary deduplication key). |
articleName | string | 🟢 High (100%) | Complex or building title (e.g., "아츠논현(도시형)", "래미안대치팰리스"). |
url | string | 🟢 High (100%) | Direct link to the listing (https://new.land.naver.com/articles/{articleNo}). |
realEstateType | string | 🟢 High (100%) | Korean property type label ("아파트", "오피스텔", "빌라", "분양권", "상가"). |
tradeType | string | 🟢 High (100%) | Korean deal type ("매매" Sale, "전세" Jeonse, "월세" Monthly rent, "단기임대" Short-term). |
price | string | 🟢 High (100%) | Sale price or lease deposit in traditional Korean units (억 = 100M KRW, 만 = 10K KRW, e.g., "12억 5,000"). |
rentPrice | string | 🟡 Conditional (월세) | Monthly rent amount in 만 원 (10,000 KRW units) for 월세 and 단기임대 listings. |
priceChangeState | string | 🟢 High (100%) | Price trend indicator ("SAME", "INCREASE", "DECREASE"). |
sameAddrCount | number | 🟢 High (100%) | Number of co-listed ads for the same unit across brokerages. |
sameAddrMinPrice / MaxPrice | string | 🟢 High (100%) | Minimum and maximum asking price across co-listed ads for the same property. |
📐 Dimensions, Floor, Direction & Media Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
supplyAreaM2 | number | 🟢 High (100%) | Supply area (공급면적 / area1) in square meters (m²). |
exclusiveAreaM2 | number | 🟢 High (100%) | Exclusive private area (전용면적 / area2) in square meters (m²). |
areaName | string | 🟢 High (~95%) | Floorplan type identifier (e.g., "84A", "49C", "112B"). |
floorInfo | string | 🟢 High (100%) | Unit floor and total building floors (e.g., "12/25", "고/20", "중/15"). |
direction | string | 🟢 High (~98%) | Main window orientation ("남향" South, "남동향" Southeast, "동향" East, etc.). |
buildingName | string | 🟢 High (~95%) | Building/dong identifier (e.g., "101동", "1동"). |
confirmDate | string | 🟢 High (100%) | Listing verification date (YYYYMMDD, e.g., "20261028"). |
verificationType | string | 🟡 Conditional | Verification method code (OWNER, DOC, SITE, NDOC1, etc.). |
features | string | 🟢 High (~92%) | Highlight summary written by the listing agent. |
tags | array<string> | 🟢 High (~98%) | Feature tags (e.g., ["역세권", "신축", "대단지", "주차가능", "탑층"]). |
imageCount | number | 🟢 High (100%) | Number of site photos attached to the listing. |
representativeImage | string | 🟡 Conditional (~75%) | Full URL to the listing's primary thumbnail photo when present. |
latitude / longitude | string/number | 🟢 High (100%) | WGS-84 GPS coordinates of the building/complex. |
complexNo | string | 🟡 Conditional | Naver Land complex (단지) ID when the unit belongs to an indexed complex. |
source | string | 🟢 High (~95%) | Partner MLS feed name (e.g., "부동산뱅크", "매경부동산", "한국공인중개사협회"). |
📞 Brokerage & Agent Contact Fields (includeAgentDetails: true)
| Field | Type | Coverage (Enriched) | Description |
|---|---|---|---|
realtorName | string | 🟢 High (100%) | Brokerage office name from the search card. |
agentName / agentOffice | string | 🟢 High (~99%) | Official licensed real estate brokerage name (공인중개사사무소). |
agentRepName | string | 🟢 High (~98%) | Licensed representative broker's full name (대표 공인중개사). |
agentPhone | string | 🟢 High (~98%) | Direct brokerage telephone or mobile number (e.g., "02-557-7712", "010-xxxx-xxxx"). |
agentAddress | string | 🟢 High (~98%) | Full street address of the real estate agency office. |
exposeAddress | string | 🟢 High (~99%) | City, district (구), and neighborhood (동) of the property (e.g., "서울시 강남구 논현동"). |
description | string | 🟢 High (~98%) | Full detailed property description from the detail view. |
scrapedAt | string | 🟢 High (100%) | ISO-8601 UTC extraction timestamp. |
📋 Sample JSON output
{"articleNo": "2657970383","articleName": "아츠논현(도시형)","url": "https://new.land.naver.com/articles/2657970383","realEstateType": "아파트","tradeType": "매매","price": "12억 5,000","rentPrice": null,"priceChangeState": "SAME","areaName": "49C","supplyAreaM2": 49,"exclusiveAreaM2": 38,"floorInfo": "20/20","direction": "동향","buildingName": "1동","confirmDate": "20261028","features": "인기 최고층,화사한 화이트톤 인테리어 하이엔드 오피스텔","tags": ["4년이내", "소형평수", "탑층", "방한개"],"imageCount": 1,"representativeImage": "https://landthumb-phinf.pstatic.net/20261028_19/1793182835420X911o_JPEG/424a2c61aa9601d507863f1d7565ded3.JPG","sameAddrCount": 4,"sameAddrMinPrice": "12억 5,000","sameAddrMaxPrice": "12억 5,000","latitude": "37.512229","longitude": "127.036154","realtorName": "하이엔드공인중개사사무소","source": "부동산뱅크","complexNo": "140219","verificationType": "OWNER","agentName": "하이엔드공인중개사사무소","agentOffice": "하이엔드공인중개사사무소","agentRepName": "김범수","agentPhone": "02-557-7712","agentAddress": "서울특별시 강남구 언주로 563 ,","exposeAddress": "서울시 강남구 논현동","description": "🌈 [아츠 논현 최다보유] 언주역·학동역·선정릉역 트리플 역세권 하이엔드 주거 공간...","scrapedAt": "2026-11-10T02:30:00.000Z"}
🔁 Pagination, round-robin scaling & deduplication
- Round-Robin Multi-Region Pagination: When you select multiple districts in
regions(or run with the 8 default districts), the scraper pages through all regions in round-robin order (page 1across each region, thenpage 2,page 3...). This ensures every selected district is represented evenly while scaling seamlessly to 1,000+ listings. - Strict
articleNoDeduplication: Every listing is deduplicated in memory byarticleNobefore detail enrichment, guaranteeing 0% duplicate records and avoiding wasted detail requests. - Parallel Detail Enrichment: Detail requests run concurrently via
maxConcurrency(default8, up to20), allowing 50–100 enriched listings to complete in under 90 seconds.
💻 API & integration examples
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/naver-land-scraper").call(run_input={"regions": ["강남구", "서초구"],"realEstateTypes": ["APT", "OPST"],"tradeTypes": ["A1", "B1"],"includeAgentDetails": True,"maxItems": 500,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["articleNo"], item["articleName"], item["price"], item["agentPhone"])
Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('haketa/naver-land-scraper').call({customLocations: ['역삼동', '판교동'],realEstateTypes: ['OPST'],includeAgentDetails: true,maxItems: 300,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Collected ${items.length} Naver Land listings`);
🗺️ Korean property types, deal codes & district reference
Property Type Codes (realEstateTypes)
| Code | Korean Label | English Description | Typical Market Use Case |
|---|---|---|---|
APT | 아파트 | Apartment complex unit | Primary residential benchmark across Seoul & metro Korea |
OPST | 오피스텔 | Officetel (studio/work-live) | Urban rental yield, young professional & expat housing |
VL | 빌라/연립 | Villa / low-rise multi-family | Affordable urban housing & redevelopment (재개발) tracking |
ABYG | 아파트분양권 | Pre-sale apartment right | New construction pricing & pre-completion premium analysis |
JGC | 재건축 | Reconstruction property | High-upside urban redevelopment investment tracking |
OR | 원룸 | One-room studio | University district & single-occupant rental benchmarking |
DDDGG | 단독/다가구 | Detached / multi-household house | Land-value & whole-building yield analysis |
SG | 상가 | Retail / storefront | Street-level commercial rent & vacancy monitoring |
SMS | 사무실 | Commercial office | Business district (GBD, YBD, CBD) office leasing comps |
GJCG | 공장/창고 | Factory / warehouse / land | Industrial & logistics real estate intelligence |
Deal Type Codes (tradeTypes)
| Code | Korean Term | English Meaning | Price Field Mapping |
|---|---|---|---|
A1 | 매매 | Outright purchase / sale | price holds full asking sale price (e.g., "12억 5,000"); rentPrice is null |
B1 | 전세 | Jeonse (2-year lump-sum deposit, no monthly rent) | price holds lump-sum deposit (e.g., "6억 8,000"); rentPrice is null |
B2 | 월세 | Monthly rent with security deposit | price holds deposit (e.g., "5,000"); rentPrice holds monthly rent (e.g., "250") |
B3 | 단기임대 | Short-term furnished rental | price holds short-term deposit; rentPrice holds monthly charge |
Major Korean Districts Included in Dropdown (regions)
| Region Group | Districts (구 / 시) | Market Highlights |
|---|---|---|
Seoul Gangnam 4-Gu (강남4구) | 강남구 (Gangnam), 서초구 (Seocho), 송파구 (Songpa), 강동구 (Gangdong) | Korea's highest-value apartment complexes, flagship officetels & premier school districts |
Seoul Central & Riverside (마용성 / CBD) | 마포구 (Mapo), 용산구 (Yongsan), 성동구 (Seongdong), 종로구 (Jongno), 중구 (Jung-gu), 광진구 (Gwangjin) | High-growth riverside complexes, Hannam/Seongsu luxury developments & CBD offices |
Seoul West & South (여의도 / 목동) | 영등포구 (Yeongdeungpo), 양천구 (Yangcheon), 동작구 (Dongjak), 강서구 (Gangseo), 구로구 (Guro), 관악구 (Gwanak) | Yeouido financial district, Mokdong school zone, Magok tech park & Guro/Gasan digital hubs |
| Gyeonggi & Incheon Metro | 분당구 (Bundang), 수지구 (Suji), 영통구 (Yeongtong), 일산동구/일산서구 (Ilsan), 부천시, 인천 연수구 (Songdo), 인천 서구 | Pangyo/Bundang tech valley, Gwanggyo/Suwon Samsung corridor & Songdo International City |
| Busan, Daegu & Daejeon | 해운대구 (Haeundae), 수영구 (Suyeong), 수성구 (Suseong), 유성구 (Yuseong), 서구, 남구 | Haeundae marine luxury condos, Suseong-gu Daegu & Daedeok/Yuseong R&D corridor |
🔌 Workflow automation & Korean price conversion tip
Converting Korean price strings (억 / 만) to numeric KRW in Python
Naver Land formats prices in traditional Korean units where 1억 = 100,000,000 KRW and 1 (or 1만) = 10,000 KRW:
import redef parse_krw(price_str):if not price_str:return Nones = str(price_str).replace(",", "").strip()eok = re.search(r"(\d+)\s*억", s)rem = re.sub(r"\d+\s*억", "", s).strip()man = re.search(r"(\d+)", rem)total_man = (int(eok.group(1)) * 10000 if eok else 0) + (int(man.group(1)) if man else 0)return total_man * 10000 # Exact KRW integer (e.g. "12억 5,000" -> 1250000000)
⚠️ Known limitations
- Korean (
KR) Residential Proxy Required: Naver Land enforces strict geo-fencing and session validation. Always keep the defaultproxyConfiguration(RESIDENTIAL, countryKR) enabled. - Korean Price Notation: Prices (
priceandrentPrice) are returned in Naver Land's native Korean financial notation (억= 100 million KRW,만= 10,000 KRW, e.g.,"12억 5,000"=1,250,000,000 KRW).
❓ Frequently Asked Questions
How do I scrape 1,000+ listings in one run?
Set maxItems: 1000 (or 0 for unlimited). The scraper automatically paginates through all available pages across your selected regions or customLocations until your target is reached.
Can I search specific neighborhoods (동) instead of entire districts (구)?
Yes. Enter any neighborhood or town name in Korean under customLocations (e.g., ["역삼동", "잠실동", "성수동", "판교동"]) or supply 10-digit cortarNos directly.
How can I make large 2,000+ listing runs faster and cheaper?
If you only need property prices, areas, floors, tags, and GPS coordinates (and do not need agentPhone or full description), set includeAgentDetails: false. That skips per-listing detail requests and speeds up large runs by 5×.
🔗 Related scrapers
- Yad2 Scraper (Israel) — Israel real estate and classifieds listings.
- VivaReal Scraper (Brazil) — Brazilian property listings and agency leads.
- Boliga Scraper (Denmark) — Danish property listings and valuation data.
- Realtor.ca Scraper (Canada) — Canadian MLS real estate listings.
- Domain.com.au Scraper (Australia) — Australian real estate listings.
📋 Changelog
| Version | Date | Highlights |
|---|---|---|
| v1.2 | 2026-11 | Unlocked 1,000+ round-robin pagination & strict deduplication: Replaced single-region-first queuing with round-robin multi-region pagination across districts, added strict articleNo deduplication before enrichment (0% duplicates), optimized prefill to maxItems: 50 for fast sub-90s execution, and added maxListings/maxRecords input alias support. |
| v1.1 | 2026-11 | Added complexNo and verificationType fields, improved session cookie sharing between bootstrap and HTTP calls, and expanded the Korean district dropdown to 35+ markets. |
| v1.0 | 2026-06 | Initial release with Korean location resolution (cortarNo), APT/OPST/VL filtering, and 공인중개사 agent contact enrichment. |