serve Property Scraper — Korea Real Estate Data & API
Pricing
from $3.00 / 1,000 overview listing extracteds
serve Property Scraper — Korea Real Estate Data & API
serve.co.kr (부동산써브) scraper & Korea real estate data API. Sale, jeonse & monthly-rent listings: price, deal type, area, rooms, floor, direction, geo, agency contact, cross-portal ids — clean JSON/CSV, one row per listing. Fast overview or full detail. No account needed. 부동산써브 매물 데이터·부동산 API.
Pricing
from $3.00 / 1,000 overview listing extracteds
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
serve Property Scraper — Korea Real Estate Data & API 🏠
🎉 Turn serve.co.kr (부동산써브) into clean, structured data — one row per listing, ready for analysis
For real-estate analysts, investors, relocation agents, and data teams working the South Korean property market
📋 Overview
Need South Korean sale, jeonse and monthly-rent listings as clean data instead of clicking around a map? This scraper turns serve.co.kr search results into structured JSON/CSV — one clean record per listing, with prices normalised to KRW, deal type, area, rooms, floor, geo coordinates, agency contact and cross-portal ids.
Why analysts and agencies choose us:
- ✅ One clean row per listing — every result becomes a structured record, no nested mess
- ⚡ Fast & lightweight — direct JSON extraction, no slow headless browser, no proxy overhead
- 🎯 55+ data points — price (KRW + raw 만원), deal type, supply/exclusive/contract area, rooms, baths, floor, direction, geo, agency name & phone, building approval date
- 📡 Cross-portal ids — surfaces the matching Naver / KB Land / Dabang article ids, so you can join serve data to other Korean portals
- 💰 Pay-per-result — only pay for listings you actually receive — transparent and cheap
- 💎 Two depths — fast overview for whole-market sweeps, full detail for parking, heating, household count and the full street address
- ✨ Four ways in — by legal-dong code, by pasted search URL, by automatic region crawl, or by article id
✨ Features
- 🏢 Listings, done right — clean per-listing records, one row per unit
- 💰 Money normalised — man-won values become whole KRW and keep the raw integer
- 📐 Price-per-m² built in — yield and comparison math ready out of the box
- 🗺️ Region crawl — auto-discover every neighbourhood with listings in a region and sweep them
- 🔎 Detail enrichment — parking count, heating method & fuel, household count, building approval date, full street address
- 📞 Agency contact — agency name, representative, landline and mobile on every listing
- 🔗 Cross-portal join keys — Naver / KB / Dabang article ids on each record
- 🔗 Paste-a-URL mode — paste a serve listing URL and the actor reads the neighbourhood + filters
- 📦 Clean exports — JSON, CSV, Excel straight from the dataset
- 🌐 Optional Korea proxy — off by default, available as a one-click escape hatch
🎬 Quick Start
Pick a scrape mode (overview or detail), choose how to find listings (legal-dong code, search URL, region crawl, or article id), and run. Results land in a clean dataset you can export as JSON, CSV or Excel.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~serve-property-scraper/runs?token=YOUR_TOKEN" \-H 'Content-Type: application/json' \-d '{"scrapeMode": "overview", "searchMode": "byLdong", "ldongCodes": ["4113511100"]}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose your listings
Give a legal-dong code (e.g. 4113511100), paste a serve search URL, turn on region crawl, or list specific article ids.
Step 2: Pick a depth
Overview for fast, near-complete listing rows. Detail to also pull parking, heating, household count and the full address.
Step 3: Run & export
Start the run and download your dataset as JSON, CSV, or Excel.
That's it! In under a minute, you'll have:
- A clean dataset of South Korean property listings
- Prices normalised to KRW with price-per-m² computed
- Agency contact and cross-portal ids ready to join
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| scrapeMode | string | No | overview (fast) or detail (enriched) |
| searchMode | string | No | byLdong, bySearchUrl, byCrawl, or byArticleId |
| ldongCodes | array | No | Legal-dong codes to list (byLdong) |
| searchUrls | array | No | serve.co.kr listing URLs carrying ldongCd (bySearchUrl) |
| articleIds | array | No | atclNo:CATEGORY pairs for detail (byArticleId) |
| category | string | No | apt, officetel, house, presale, all, or a detail code (OFT/APT/RED/LOT) |
| order | string | No | default, newest, price, area |
| maxResults | integer | No | Max listings per run (FREE: 25, PAID: unlimited) |
Example — overview by legal-dong:
{"scrapeMode": "overview","searchMode": "byLdong","ldongCodes": ["4113511100"],"category": "officetel","maxResults": 100}
Example — detail by article id:
{"scrapeMode": "detail","searchMode": "byArticleId","articleIds": ["333750957:OFT"]}
📤 Output
Results are saved to the Apify dataset with 55+ fields including:
| Field | Type | Description |
|---|---|---|
| listingId | string | serve article number (atclNo) |
| url | string | Canonical serve.co.kr listing URL |
| deal_type | string | 매매 (sale) / 전세 (jeonse) / 월세 (monthly) |
| category | string | 오피스텔 / 아파트 / 주택 / 분양권 |
| complex_name | string | Apartment or building name |
| price_krw | number | Sale price or jeonse deposit in whole KRW |
| monthly_rent_krw | number | Monthly rent in whole KRW |
| price_per_sqm_krw | number | Computed price per square metre |
| exclusive_area_sqm | number | Exclusive (net) area in m² |
| rooms / bathrooms | number | Room & bathroom counts |
| floor / floors_total | number | Unit floor & building total floors |
| sido / sigungu / dong | string | Province, city/district, neighbourhood |
| address | string | Full street address (detail) |
| agency_name / agency_phone | string | Listing agency & phone |
| naver_atcl_no / kb_atcl_no / dabang_atcl_no | string | Cross-portal join keys |
Example record:
{"listingId": "333750957","url": "https://www.serve.co.kr/good/map?m=1&lat=37.35108&lng=127.10487&atcl=333750957","source": "overview","deal_type": "매매","category": "오피스텔","complex_name": "코오롱트리폴리스","price_krw": 1200000000,"price_manwon": 120000,"exclusive_area_sqm": 171.19,"price_per_sqm_krw": 7009755,"rooms": 4,"bathrooms": 2,"floor": 11,"floors_total": 37,"sido": "경기도","sigungu": "성남시 분당구","dong": "금곡동","agency_name": "프라임공인중개사사무소","agency_phone": "031-728-3377","naver_atcl_no": "2633107628","currency": "KRW"}
💼 Use Cases & Examples
1. Korea Rent & Sale Market Research
Analysts mapping prices across a Seoul district or Gyeonggi neighbourhood.
Input: A legal-dong code or region crawl Output: Every listing with price, area and price/m² Use: Build rent-by-area and sale-by-area benchmarks over time
2. Property Investment Analysis
Investors comparing gross yields across buildings and unit types.
Input: Officetel or apartment category in a target area Output: Sale price, monthly rent, lease deposit, area, price/m² Use: Compute cap rates and shortlist undervalued units
3. Real-Estate Lead Generation
Agencies sourcing listing-agent contacts at scale.
Input: A region crawl across target neighbourhoods Output: Agency name, representative, landline and mobile per listing Use: Build agent outreach lists for partnerships or buy-side mandates
4. Relocation & Tenant Search
Relocation agents shortlisting rentals with deposit and area.
Input: A neighbourhood + monthly-rent category Output: Rent, lease deposit, rooms, floor, direction, address Use: Hand clients a clean comparison sheet in minutes
5. Cross-Portal Data Joins
Data teams unifying Korean property feeds.
Input: Overview or detail across a region Output: Naver / KB / Dabang article ids on every record Use: Deduplicate and join serve listings to other Korean portals
6. Price & Inventory Monitoring
Teams tracking new inventory and price moves.
Input: A scheduled region crawl Output: Fresh listings with registration date Use: Detect new supply and price changes week over week
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/serve-property-scraper').call({scrapeMode: 'overview',searchMode: 'byLdong',ldongCodes: ['4113511100'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/serve-property-scraper').call(run_input={'scrapeMode': 'overview','searchMode': 'byLdong','ldongCodes': ['4113511100'],})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~serve-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"scrapeMode": "overview", "searchMode": "byLdong", "ldongCodes": ["4113511100"]}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule or webhook
- HTTP Request: Call the actor API
- Process: Handle the JSON results
- Action: Save to a sheet, notify a channel, or push to your CRM
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 listings per run — full feature access, same quality
- No credit card required
- Perfect for testing and small projects
PAID Tier (Production Ready)
- Unlimited listings per run
- Faster processing, no delays
- Pay-per-result: only charged for listings you actually receive
💰 Cheap, transparent pricing — a low per-listing overview rate, with detail enrichment only when you ask for it.
❓ Frequently Asked Questions
Q: How many listings can I scrape? A: FREE tier: 25 per run. PAID tier: unlimited.
Q: What's the difference between overview and detail? A: Overview rows are already ~85% complete (price, area, rooms, floor, geo, agency). Detail adds parking, heating, household count, building approval date and the full street address — at one extra request per listing.
Q: What output formats are available? A: JSON, CSV, Excel — export directly from the Apify dataset.
Q: Do I need a proxy or account? A: No. The actor runs without an account or proxy. A Korea residential proxy is available as an optional one-click escape hatch.
Q: How do I find a legal-dong code?
A: Use the region crawl mode to discover neighbourhoods automatically, or copy the ldongCd from a serve.co.kr listing request.
Q: Is this legal? A: Yes — we only extract publicly available data. See the legal section below.
🐛 Troubleshooting
No listings returned
- Check the legal-dong code is valid, or switch to region crawl mode
- Some neighbourhoods have few or no active listings — try a denser area
Detail run skips some listings
- Detail needs both the article id and its category code; use
atclNo:CATEGORY(e.g.333750957:OFT) or set Category to a single code
Run hit the FREE cap
- FREE runs are capped at 25 listings — upgrade for unlimited results
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
™️ Trademark Disclaimer
serve.co.kr and 부동산써브 are trademarks of their respective owners. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by serve.co.kr or its operators. All product names, logos, and brands are property of their respective owners and are used for identification purposes only.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools