VOOZH about

URL: https://apify.com/substitute99/naver-real-estate-scraper

⇱ Naver & Zigbang Korea Real Estate Scraper Β· Apify


πŸ‘ Naver & Zigbang Real Estate Scraper + Gap Finder avatar

Naver & Zigbang Real Estate Scraper + Gap Finder

Pricing

from $2.00 / 1,000 record scrapeds

Go to Apify Store

Naver & Zigbang Real Estate Scraper + Gap Finder

Scrape Korean apartment listings from Naver 뢀동산 and Zigbang (직방) and auto-surface low-gap 갭투자 opportunities (sale vs jeonse) with μ „μ„Έκ°€μœ¨, market position, and recent actual transaction prices. Zigbang mode is token-free; Naver mode needs a KR residential proxy.

Pricing

from $2.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

πŸ‘ Dongwook Kim

Dongwook Kim

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

17 days ago

Last modified

Categories

Share

Naver & Zigbang Real Estate Scraper + Gap-Investment Finder

Scrape Korean apartment listings from Naver 뢀동산 and Zigbang (직방), and automatically surface low-gap 갭투자 (gap-investment) opportunities β€” where a tenant's μ „μ„Έ deposit covers most of the purchase price, so a buyer fronts only the gap.

  • 🟒 Zigbang mode (default) β€” token-free, works on any IP, no proxy needed.
  • πŸ”΅ Naver mode β€” richer coverage + μ‹œμ„Έ/μ‹€κ±°λž˜κ°€ (actual transaction prices), needs a KR residential proxy (Naver blocks datacenter IPs).
  • πŸ’‘ Gap finder β€” pairs λ§€λ§€ vs μ „μ„Έ per complex/ν‰ν˜• and ranks the lowest-gap opportunities with μ „μ„Έκ°€μœ¨, market position, and recent actual transactions.

Quick start (free, no proxy)

Just press Run β€” the default input scrapes Zigbang in 강남 (geohash wydm6):

{"site":"zigbang","targets":["wydm6"],"maxListings":300,"gapAnalysis":true}

Target other regions (geohash)

Zigbang targets are geohashes. Verified examples (2026-06):

RegiongeohashRegiongeohash
μ„œμšΈ 강남/μ„œμ΄ˆwydm6성남 λΆ„λ‹Ήwydks
μ„œμšΈ μ†‘νŒŒ μž μ‹€wydmkμˆ˜μ› μ˜ν†΅wyd7g
μ„œμšΈ 마포wydm8λΆ€μ‚° ν•΄μš΄λŒ€wy7b5
μ„œμšΈ 성동wydmdλŒ€κ΅¬ μˆ˜μ„±wy77z
μ„œμšΈ (κ΄‘μ—­)wydm (4-char = wider)인천 솑도wydh9

Shorter geohash = wider area. Get any area's geohash from its lat/lng (e.g. geohash.org) or pass a https://www.zigbang.com/...?geohash=... URL.

Naver mode (premium coverage, needs proxy)

{
"site":"naver",
"targets":["https://new.land.naver.com/complexes?ms=37.4949,127.0521,15&a=APT&e=RETAIL"],
"useResidentialProxy":true,
"enrichMarket":true,
"maxListings":500
}

Naver mode adds, per gap opportunity: μ „μ„Έκ°€μœ¨, μ‹œμ„Έμœ„μΉ˜ (where the sale sits in the complex's asking range), and the latest actual transaction (μ‹€κ±°λž˜κ°€). It requires useResidentialProxy: true with a KR residential proxy.

Output

Dataset records:

  • listings β€” site, complexName, areaLabel, tradeType (SALE/JEONSE/MONTHLY), priceManwon, floor, ...
  • gap-opportunity β€” complexName, areaLabel, saleManwon, jeonseManwon, gapManwon, gapRatioPct, bestCaseGapManwon, bestCaseGapRatioPct, sampleConfidence, saleCount, jeonseCount, saleListingId, jeonseListingId (+ Naver: complexSalePositionPct, recentRealSaleManwon, askingVsRealPct)
  • run-insights β€” one per run, with counts and top gap opportunities for quick inspection

Prices are in λ§Œμ› (10,000 KRW). Gap opportunities are sorted lowest-gap first.

Pricing (pay-per-event)

EventWhen
listing-scrapedeach unique listing
gap-opportunityeach low-gap opportunity found (premium)

For developers β€” architecture

src/
core/types.ts SiteAdapter boundary(swap data source without touching
billing/analysis)
analysis/gap.ts Pure 갭투자 logic(median headline + best-case+ counts)
adapters/naver*.ts Naver: fingerprinted browser,JWT capture,in-page fetch
pagination, μ‹œμ„Έ/μ‹€κ±°λž˜κ°€ enrichment
adapters/zigbang*.ts Zigbang: token-free HTTP, concurrent per-danji fetch
main.ts site router β†’ adapter β†’ PPE charge β†’ dataset β†’ RUN_SUMMARY

Both adapters implement the same SiteAdapter; main.ts is site-agnostic. The actor emits a RUN_SUMMARY with a DATA_QUALITY_FAIL flag and per-run stats for health monitoring. Run npm run health:local before deployment; it fails on non-OK run quality, low listing count, high parse failure rate, and actor timeout/start failures. Run npm run verify for the local release gate (tests, TypeScript build, and Apify schema validation), and npm run verify:ops to add the latest cloud-health report status, scheduled-task status snapshot, scheduled-task registration preview self-test, and scheduled-task wrapper self-test without starting a new cloud run. After the scheduled task is registered, use npm run verify:ops:strict so a missing task fails the gate.

After deployment, run npm run health:cloud to smoke the latest Apify build and verify the Actor output links, RUN_SUMMARY, and dataset row mix. For schedulers or alerting wrappers, set HEALTH_REPORT_PATH to write a small machine-readable success/failure report, e.g. PowerShell: $env:HEALTH_REPORT_PATH='storage-healthcheck/cloud-health-latest.json'; npm run health:cloud. Use npm run health:cloud:status as a cheap follow-up probe; it reads the latest report and fails if it is stale, failed, missing run-insights, or below the minimum listing count. The shared health thresholds are MIN_LISTINGS, MAX_PARTIAL_PCT, MAX_COMPLEX_FAILURE_PCT (default 25), and MAX_MALFORMED_RESPONSES (default 0).

On Windows, preview the scheduled-task registration with:

powershell -NoProfile -ExecutionPolicy Bypass -File scripts/register-cloud-health-task.ps1

Register or update the daily task only when the preview looks right:

powershell -NoProfile -ExecutionPolicy Bypass -File scripts/register-cloud-health-task.ps1 -Register -Force -At 08:00

For failure alerts, set ALERT_WEBHOOK_URL in the task user's environment. Treat that URL as a credential; do not put it in the command line, README, logs, or Task Scheduler arguments. The task wrapper posts only on failure and logs only whether the alert send succeeded.

The task log is bounded by default. scripts/run-cloud-health-task.ps1 rotates storage-healthcheck/cloud-health-task.log to .log.1 when it reaches 1 MB; override with -MaxLogBytes if needed.

Check both Task Scheduler registration state and the latest health report with npm run health:cloud:task:status. Add -RequireRegisteredTask when calling scripts/check-cloud-health-task.ps1 directly if a missing scheduled task should fail the check, or use npm run health:cloud:task:status:strict after the task has been registered.

Exercise the wrapper failure path without starting an Apify cloud run with npm run health:cloud:task:self-test. The self-test suppresses webhook delivery, expects the wrapped task to fail, and passes only if the failure marker and alert suppression are written to the self-test log.

Exercise the scheduled-task registration preview without creating or updating an OS task with npm run health:cloud:task:register:self-test. It verifies that the preview remains non-mutating and that the generated task arguments include the report path, log path, report staleness threshold, and log rotation limit.

Notes

  • Naver's PC API requires an Authorization: Bearer JWT and rejects datacenter direct fetch (401/429); the adapter captures the JWT from the warmed browser session and refreshes on expiry.
  • Zigbang apartment inventory is sparser than Naver's (it began as 원룸/μ˜€ν”ΌμŠ€ν…”); many large μž¬κ±΄μΆ• complexes have 0 Zigbang listings.

Legal / ToS

Scrapes publicly visible listings. Operate on public data, respect rate limits, and review each portal's ToS before commercial use.

You might also like

Zigbang Scraper β€” Korea Property Data & API

sian.agency/zigbang-property-scraper

Zigbang scraper & real estate data API for zigbang.com β€” Korea's #1 rental app. Rent (μ›”μ„Έ), jeonse (μ „μ„Έ) & sale (λ§€λ§€) listings: deposit, rent, area, floor, options, fees, address, subway access, agent & photos β€” clean JSON/CSV, one row per unit. Overview or full detail.

2

KR Naver Stores Scraper

styleindexamerica/kr-naver-stores-scraper

This actor is intended to extract data from smartstore.naver.com and brand.naver.com

πŸ‘ User avatar

PopinBorder Castnet

16

Naver Apify Integration

groupbwt/naver-apify-integration

Scrape product details, prices, coupons, and vendor info from Naver.

Naver Search API β†’ Clean English JSON

maolab/naver-search-api

Korean Naver search results normalized to English JSON via the official Naver Open API. News, blog, web, and shopping verticals.

Naver Map Search Results Scraper

delicious_zebu/naver-map-search-results-scraper

Input any search term and collect detailed information from Naver Maps (https://map.naver.com) results, including business names, addresses, phone numbers, ratings, and more. Fast, flexible, and tailored to your needs!

Zigbang Scraper - Korea Real Estate Listings & Agents

haketa/zigbang-scraper

Zigbang scraper & data API for South Korea real estate: search officetels, villas & one-room studios for monthly rent (μ›”μ„Έ), jeonse (μ „μ„Έ) & sale; export price, deposit, size, floor, address, photos plus the listing agent name & phone. Korea property data & lead-gen β€” fast, no login.

Naver Map Scraper

solidcode/naver-map-scraper

[πŸ’° $1.3 / 1K] Extract places from Naver Maps (map.naver.com) search results β€” business name, category, address, phone, website, rating, review count, opening hours, amenities, coordinates, plus inline menu and a sample of reviews. Search by keyword or paste Naver Maps URLs.

Naver Place Reviews + Blog β€” Korean Review Scraper

huggable_quote/naver-place-reviews-scraper

Extract visitor reviews, ratings, keywords and visit details from Naver Place. Supports place URL and ID input. Korean sentiment analysis ready. From the #1 Naver data provider on Apify.

πŸ‘ User avatar

OrbitData Labs

28