# Naver Land Scraper | Korea Real Estate API (`lentic_clockss/naver-land-scraper`) Actor

Scrape Naver Land Korea apartments, officetels, villas, rooms, shops, land & 분양 (iSale) for sale, jeonse, or monthly rent. Prices, complexes, map & article data — Naver 부동산 API alternative.

- **URL**: https://apify.com/lentic\_clockss/naver-land-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does Naver Land Scraper do?

**Naver Land Scraper** extracts South Korea real estate listings from [Naver Land](https://new.land.naver.com/) (*네이버페이 부동산*) through an authenticated Cloud Run acquisition worker. The thin Apify Actor handles input, Korean residential proxy allocation, datasets, and Live View; the worker runs the protected-site acquisition engine. It covers **apartments**, **officetels**, **villas/houses**, **one-room/two-room rentals**, **shops**, **offices**, **factories**, **land**, and **분양 / iSale** (`isale.land.naver.com`) for **sale (매매)**, **jeonse (전세)**, **monthly rent (월세)**, and **short-term lease (단기임대)**.

Choose a Seoul-area preset (Gangnam, Bundang, Mapo…), set coordinates / `cortarNo`, or paste a Naver / iSale map URL, then download structured results as **JSON, CSV, Excel, or HTML**.

This Actor is a practical **Naver Land API alternative** / **네이버 부동산 스크래퍼**. Cloud Run performs protected-site acquisition and parsing; the Actor returns normalized results for proptech, research, and CRM pipelines.

### What can this Naver Land scraper extract?

| Data point | Description |
|---|---|
| Listing / complex ID | `article:{id}`, `complex:{complexNo}`, or `isale:{sy_code}` plus map URL |
| Market & category | `complexes` / `houses` / `rooms` / `offices` / `isale` + slug (`APT`, `VL`, `SG`, `ISALE`…) |
| Channel | `BUY`, `RENT`, `JEONSE`, `MONTHLY`, `SHORT_TERM` |
| Title & complex name | Headline, 단지/빌라/상가/분양 name when shown |
| Price | Raw + formatted Korean price (`12억`, `3,000만원/400`); `priceMissing` when unknown |
| Trade label | `매매` / `전세` / `월세` / `전세/월세` / `분양` |
| Size & floor | Area, supply area, floor info, rooms, direction when present |
| Links | Map deep link (`url`) and mobile `articleUrl` (`m.land.naver.com/article/info/…`) |
| Location | Coordinates, `cortarNo`, address fields when available |
| Agent | Public realtor / CP name on article records |
| Source layer | `single-markers`, `articles`, or `isale-markers` |

### Why scrape Naver Land (네이버 부동산)?

- **Korea market research** — track asking prices and inventory in Gangnam, Bundang, Mapo, and other districts  
- **Investment & proptech** — feed CRM, pricing models, or dashboards with fresh sale / jeonse / monthly rent data  
- **Multi-category coverage** — apartments, officetels, villas, rooms, shops, land in one Actor  
- **Competitive monitoring** — watch new listings on the Naver map without manual browsing  
- **Export & automation** — pull Naver Land property data into Sheets, warehouses, or your own API  

### More Actors like this

Looking for another **property portal**, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for **Naver Land (네이버 부동산)** Korea listings and related search pages.

#### Similar real estate Actors
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

#### Prefer another specialized scraper?

**Jobs & Freelance**
- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Travel & Stays**
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**
- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**
- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic_clockss](https://apify.com/lentic_clockss).

---

### How to scrape Naver Land

1. Open **Naver Land Scraper** in Apify Console.  
2. Set **location** (e.g. `gangnam`) and **property type(s)**, *or* paste Naver **start URLs** (`/complexes`, `/houses`, `/rooms`, `/offices`).  
3. Choose **channel** (`BUY` / `RENT` / …), **max listings**, and apartment **detail** toggle.  
4. Keep **Apify Proxy → RESIDENTIAL + KR** enabled (Naver often geo-blocks non-Korean IPs).  
5. Click **Start**, then export results from the **Dataset** tab.

#### Free Apify plan limits (set by this Actor's developer)

| Limit | Free Apify plan | Paid Apify plan |
| --- | --- | --- |
| Runs of this Actor | **10 runs total** | Unlimited |
| Results per run | **Up to 500** | Up to schema max (500) |

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error.

> **Worker URL is config, not code:** the Actor reads `WORKER_BASE_URL` from Actor environment variables (plus optional per-run `workerBaseUrl`). If you migrate the worker to a new host, update `WORKER_BASE_URL` (and `WORKER_AUTH` if the API key changes) in Apify Console — no Actor code change required. Set `WORKER_PROVIDES_PROXY=1` when the worker supplies its own `PROXY_URL` instead of Apify RESIDENTIAL.

#### Property categories (full Naver LNB coverage)

| Market (path) | Categories / codes |
|---|---|
| `complexes` (`/complexes`) | `APT` 아파트, `ABYG` 아파트분양권, `JGC` 재건축, `OPST` 오피스텔, `OBYG` 오피스텔분양권, `JGB` 재개발 |
| `houses` (`/houses`) | `VL` 빌라/연립, `DDDGG` 단독/다가구, `JWJT` 전원주택, `SGJT` 상가주택 |
| `rooms` (`/rooms`) | `rooms` 원룸/투룸 (`aa=SMALLSPCRENT`) |
| `offices` (`/offices`) | `SG` 상가, `SMS` 사무실, `GJCG` 공장/창고, `APTHGJ` 지식산업센터, `GM` 건물, `TJ` 토지 |
| `isale` (`isale.land.naver.com`) | `ISALE` / `분양` / `isale` — map markers via `SYMapBounding` |

- `propertyType` — single category or market bundle (`complexes`, `houses`, `rooms`, `offices`, `isale`)  
- `propertyTypes` — multi-select; overrides `propertyType` when non-empty  
- `all` — crawls all **five markets** (4 LNB + 분양) with fair-share `maxItems`  
- Default run memory: **1024 MB** (min 1024 / max 4096)  
- `includeRaw` — keep original API JSON under `raw` (default `false`)

#### Example input — scrape Naver apartments for sale in Gangnam

```json
{
  "location": "gangnam",
  "channel": "BUY",
  "propertyType": "APT",
  "maxItems": 20,
  "maxComplexes": 10,
  "scrapeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "KR"
  }
}
````

#### Example input — villas, shops, and officetels in one run

```json
{
  "location": "gangnam",
  "channel": "BUY",
  "propertyTypes": ["OPST", "VL", "SG"],
  "maxItems": 15,
  "maxPages": 1,
  "scrapeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "KR"
  }
}
```

#### Example input — Naver Land map URL (원룸/투룸 rent)

```json
{
  "startUrls": [
    {
      "url": "https://new.land.naver.com/rooms?ms=37.4979,127.0276,16&a=APT:OPST:ABYG:OBYG:GM:OR:DDDGG:JWJT:SGJT:VL&e=RETAIL&aa=SMALLSPCRENT&b=B1:B2"
    }
  ],
  "maxItems": 15,
  "maxPages": 1
}
```

#### Supported Naver Land URL patterns

- Apartments / officetels: `https://new.land.naver.com/complexes?ms={lat},{lon},{zoom}&a=APT:OPST&b=A1&e=RETAIL`
- Complex detail map: `https://new.land.naver.com/complexes/{complexNo}?ms=…`
- Villas / houses: `https://new.land.naver.com/houses?ms=…&a=VL:DDDGG:JWJT:SGJT`
- Rooms: `https://new.land.naver.com/rooms?ms=…&aa=SMALLSPCRENT`
- Shops / land: `https://new.land.naver.com/offices?ms=…&a=SG:TJ`
- 분양 (iSale): `https://isale.land.naver.com/iSale/Map/#?SYMap={lat},{lon},{zoom}`
- Trade params: `b=A1` (매매), `b=B1` (전세), `b=B2` (월세), `b=B1:B2` (rent combo)

### How much does it cost to scrape Naver Land?

This Actor uses **Pay per event** pricing. You pay for:

| Event | Price |
|---|---|
| **Actor Start** (`apify-actor-start`) | **$0.005** per start (scaled by run memory: one event per GB, minimum one) |
| **result** (`apify-default-dataset-item`) | **$2.50 / 1,000** results (**$0.0025** per Naver listing in the default dataset) |

**User pays platform usage costs: No.** Platform compute/proxy usage for this Actor is included — you pay the event prices above, not separate Apify usage on top.

Example (illustrative): 1 start + 1,000 listings ≈ **$0.005 + $2.50** in event fees.

Tip: set a **max total charge** on the run if you want a hard spending cap. Start with `maxItems` 5–20 while validating fields and proxy.

### Input

Open the **Input** tab for the full schema. Main fields:

| Field | Purpose |
|---|---|
| `startUrls` | Naver Land map URLs (`/complexes`, `/houses`, `/rooms`, `/offices`) or iSale 분양 URLs |
| `location` | Preset: `gangnam`, `bundang`, `mapo`, `songpa`, `seocho`, `yongsan`, `seoul` |
| `lat` / `lon` / `zoom` | Map center overrides |
| `cortarNo` | Optional district code (법정동); else resolved via `/api/cortars` |
| `channel` | `BUY`, `RENT`, `JEONSE`, `MONTHLY`, `SHORT_TERM` |
| `propertyType` / `propertyTypes` | Category or multi-select (`all` = 5 markets incl. 분양) |
| `maxItems` / `maxComplexes` / `maxPages` | Caps for records, apartment complexes, article pages |
| `scrapeDetails` | For `/complexes`: expand markers into article listings |
| `includeRaw` | Keep original JSON under `raw` (default false) |
| `requestDelayMillis` | Delay between navigations / API calls |
| `proxyConfiguration` | Prefer Apify **RESIDENTIAL** proxy, country **KR** |

### Output example

You can download the dataset extracted by Naver Land Scraper in JSON, HTML, CSV, or Excel.

```json
{
  "id": "article:2637464869",
  "complexNo": "14219",
  "articleNo": "2637464869",
  "recordType": "article",
  "url": "https://new.land.naver.com/complexes/14219?ms=37.500517,127.023152,16&a=APT:ABYG:JGC&b=A1&e=RETAIL",
  "source": "naver",
  "sourceLayer": "articles",
  "channel": "BUY",
  "tradeType": "A1",
  "tradeLabel": "매매",
  "category": "APT",
  "categoryLabel": "아파트",
  "market": "complexes",
  "title": "두산위브트레지움",
  "complexName": "두산위브트레지움",
  "priceFormatted": "38억",
  "latitude": 37.500517,
  "longitude": 127.023152,
  "scrapedAt": "2026-07-18T11:27:00.000Z"
}
```

### Is it legal to scrape Naver Land?

Our scrapers are ethical and do not extract private user data that is not shown on public listing pages. They only extract what Naver Land has chosen to display publicly. You should still comply with Naver terms, applicable Korean and international laws (including personal-data rules for agent contacts), and only scrape when you have a legitimate purpose. If unsure, consult your lawyers.

### FAQ

#### Why did my free-plan run stop with a limit message?

Free Apify plan users can run this Actor up to **10 times**, with up to **500 results per run**. These caps are set by the **Actor developer, not Apify**. Upgrade to a paid Apify plan for unlimited runs (schema `maxItems` still applies).

#### How do I scrape Naver Land apartments for sale in Seoul?

Set `location` to `gangnam` (or another preset), `channel` to `BUY`, and `propertyType` to `APT` or `complexes`. Keep **RESIDENTIAL + KR** proxy enabled.

#### How do I scrape Naver Land jeonse or monthly rent?

Set `channel` to `JEONSE` (전세), `MONTHLY` (월세), or `RENT` (전세+월세). For rooms, use `propertyType: "rooms"`.

#### How do I scrape Naver officetels (오피스텔)?

Set `propertyType` to `OPST` (or include `OBYG` for officetel presale rights).

#### How do I scrape Naver villas, shops, or land?

Use `VL` / `houses` for 빌라·주택, `SG` / `offices` for 상가, and `TJ` for 토지. Multi-select with `propertyTypes`.

#### How do I scrape Naver 분양 (iSale)?

Set `propertyType` to `ISALE`, `isale`, or `분양` (or include them in `propertyTypes` / `all`). The Actor opens `isale.land.naver.com` and POSTs `SYMapBounding`.

#### Standby Live View — start a run via HTTP?

With standby mode, `POST /run` with Actor input JSON starts a collection (`runId`, `status`, `consoleUrl`). Poll `GET /runs/{runId}` for status.

#### Do I need a Naver Land API key?

No. This Actor scrapes the public Naver Land website and returns structured property data — useful when you need a **Naver 부동산 data API** without an official partnership.

#### Can I export Naver listings to Google Sheets or Excel?

Yes. Download the Dataset as Excel/CSV, or use Apify **integrations** and the Dataset API to push results into Sheets, webhooks, or your backend.

#### Why is a Korean residential proxy required?

Naver Land frequently blocks or challenges non-Korean / datacenter IPs. Cloud runs should use Apify **RESIDENTIAL** with `apifyProxyCountry: "KR"`.

#### What if a Naver scrape returns zero results?

Confirm location / `cortarNo`, keep KR proxy on, try a smaller zoom or another preset, and inspect Key-Value Store `ERROR_SUMMARY` / `OUTPUT` / `DEBUG_*` records.

### Tips for better Naver Land scraping

- Prefer **`propertyTypes`** for multi-market runs; use `all` only when you need every LNB channel.
- Enable **`scrapeDetails`** for apartment *매물* fields; houses/rooms/offices already return articles.
- Keep **`requestDelayMillis`** around 1200–2000 for stable sessions.
- Start with small `maxItems` to validate price formatting and category tags before scaling.
- Map loading is **viewport / cortar driven** — not classic page numbers for apartment markers.

### Support

Questions or feature requests? Open an issue on the Actor page or contact the developer through Apify. Feedback on additional districts, filters, or export formats is welcome.

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `startUrls` (type: `array`):

Naver Land map URLs (/complexes, /houses, /rooms, /offices) or iSale 분양 URLs (https://isale.land.naver.com/iSale/Map/…). Overrides location-built searches when provided.

## `location` (type: `string`):

Friendly preset: gangnam, bundang, mapo, songpa, seocho, yongsan, seoul. Ignored when lat/lon or a start URL with ms= is set.

## `lat` (type: `number`):

Map center latitude. Overrides location preset when set with lon.

## `lon` (type: `number`):

Map center longitude. Overrides location preset when set with lat.

## `zoom` (type: `integer`):

Naver map zoom level (higher = tighter viewport).

## `cortarNo` (type: `string`):

Optional 법정동/행정구역 cortarNo. When empty, resolved via /api/cortars from lat/lon (preset cortar used only as collector fallback).

## `channel` (type: `string`):

BUY (매매), RENT (전세+월세), JEONSE, MONTHLY, or SHORT\_TERM (단기임대).

## `propertyType` (type: `string`):

Single category or market bundle. Ignored when propertyTypes is non-empty. Use all for 5 markets including 분양 (iSale).

## `propertyTypes` (type: `array`):

Multiple categories/markets in one run (shared maxItems, ID de-dupe). Overrides propertyType when non-empty.

## `maxItems` (type: `integer`):

Maximum dataset records across all selected categories (1–500). Free Apify plan users: also limited to 10 total runs of this Actor (Actor developer policy).

## `maxComplexes` (type: `integer`):

For apartment markets: max complexes to expand for articles.

## `maxPages` (type: `integer`):

For houses/rooms/offices: max /api/articles pages per category.

## `scrapeDetails` (type: `boolean`):

For /complexes markets only: open each complex and capture article listings. Houses/rooms/offices already return articles. iSale details are skipped in v1.

## `includeRaw` (type: `boolean`):

When true, each dataset record keeps the original Naver/iSale JSON under `raw`. Default false to keep rows smaller.

## `requestDelayMillis` (type: `integer`):

Politeness delay before browser navigations / API fetches.

## `proxyConfiguration` (type: `object`):

Apify Proxy recommended when the Actor mints RESIDENTIAL + KR. Ignored when Actor env WORKER\_PROVIDES\_PROXY=1 (worker supplies PROXY\_URL).

## `workerBaseUrl` (type: `string`):

Optional per-run override of the Cloud Run worker origin. Production runs should leave this empty and use Actor env WORKER\_BASE\_URL.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://new.land.naver.com/complexes?ms=37.4979,127.0276,16&a=APT:ABYG:JGC:OPST&b=A1&e=RETAIL"
    }
  ],
  "location": "gangnam",
  "zoom": 16,
  "channel": "BUY",
  "propertyType": "APT",
  "propertyTypes": [],
  "maxItems": 20,
  "maxComplexes": 30,
  "maxPages": 3,
  "scrapeDetails": true,
  "includeRaw": false,
  "requestDelayMillis": 1500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "KR"
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Normalized Naver complex/article records from map markers and optional articles API.

## `runSummary` (type: `string`):

Counts, engine, cortar, and timestamps for the run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://new.land.naver.com/complexes?ms=37.4979,127.0276,16&a=APT:ABYG:JGC:OPST&b=A1&e=RETAIL"
        }
    ],
    "location": "gangnam"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/naver-land-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://new.land.naver.com/complexes?ms=37.4979,127.0276,16&a=APT:ABYG:JGC:OPST&b=A1&e=RETAIL" }],
    "location": "gangnam",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/naver-land-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://new.land.naver.com/complexes?ms=37.4979,127.0276,16&a=APT:ABYG:JGC:OPST&b=A1&e=RETAIL"
    }
  ],
  "location": "gangnam"
}' |
apify call lentic_clockss/naver-land-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/naver-land-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Naver Land Scraper | Korea Real Estate API",
        "description": "Scrape Naver Land Korea apartments, officetels, villas, rooms, shops, land & 분양 (iSale) for sale, jeonse, or monthly rent. Prices, complexes, map & article data — Naver 부동산 API alternative.",
        "version": "0.1",
        "x-build-id": "k9SXe6keb9bWAU7Cg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~naver-land-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-naver-land-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lentic_clockss~naver-land-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-naver-land-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lentic_clockss~naver-land-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-naver-land-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Naver Land map URLs (/complexes, /houses, /rooms, /offices) or iSale 분양 URLs (https://isale.land.naver.com/iSale/Map/…). Overrides location-built searches when provided.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "location": {
                        "title": "Location preset",
                        "type": "string",
                        "description": "Friendly preset: gangnam, bundang, mapo, songpa, seocho, yongsan, seoul. Ignored when lat/lon or a start URL with ms= is set.",
                        "default": "gangnam"
                    },
                    "lat": {
                        "title": "Latitude",
                        "type": "number",
                        "description": "Map center latitude. Overrides location preset when set with lon."
                    },
                    "lon": {
                        "title": "Longitude",
                        "type": "number",
                        "description": "Map center longitude. Overrides location preset when set with lat."
                    },
                    "zoom": {
                        "title": "Map zoom",
                        "minimum": 10,
                        "maximum": 19,
                        "type": "integer",
                        "description": "Naver map zoom level (higher = tighter viewport).",
                        "default": 16
                    },
                    "cortarNo": {
                        "title": "Cortar (district) code",
                        "type": "string",
                        "description": "Optional 법정동/행정구역 cortarNo. When empty, resolved via /api/cortars from lat/lon (preset cortar used only as collector fallback)."
                    },
                    "channel": {
                        "title": "Channel",
                        "enum": [
                            "BUY",
                            "RENT",
                            "JEONSE",
                            "MONTHLY",
                            "SHORT_TERM"
                        ],
                        "type": "string",
                        "description": "BUY (매매), RENT (전세+월세), JEONSE, MONTHLY, or SHORT_TERM (단기임대).",
                        "default": "BUY"
                    },
                    "propertyType": {
                        "title": "Property type (single)",
                        "enum": [
                            "APT",
                            "ABYG",
                            "JGC",
                            "OPST",
                            "OBYG",
                            "JGB",
                            "VL",
                            "DDDGG",
                            "JWJT",
                            "SGJT",
                            "rooms",
                            "SG",
                            "SMS",
                            "GJCG",
                            "APTHGJ",
                            "GM",
                            "TJ",
                            "ISALE",
                            "complexes",
                            "houses",
                            "offices",
                            "isale",
                            "APT:ABYG:JGC",
                            "all"
                        ],
                        "type": "string",
                        "description": "Single category or market bundle. Ignored when propertyTypes is non-empty. Use all for 5 markets including 분양 (iSale).",
                        "default": "APT"
                    },
                    "propertyTypes": {
                        "title": "Property types (multi)",
                        "type": "array",
                        "description": "Multiple categories/markets in one run (shared maxItems, ID de-dupe). Overrides propertyType when non-empty.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "APT",
                                "ABYG",
                                "JGC",
                                "OPST",
                                "OBYG",
                                "JGB",
                                "VL",
                                "DDDGG",
                                "JWJT",
                                "SGJT",
                                "rooms",
                                "SG",
                                "SMS",
                                "GJCG",
                                "APTHGJ",
                                "GM",
                                "TJ",
                                "ISALE",
                                "complexes",
                                "houses",
                                "offices",
                                "isale",
                                "분양",
                                "all"
                            ]
                        },
                        "default": []
                    },
                    "maxItems": {
                        "title": "Max records (max 500; free users capped at 500/run)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum dataset records across all selected categories (1–500). Free Apify plan users: also limited to 10 total runs of this Actor (Actor developer policy).",
                        "default": 20
                    },
                    "maxComplexes": {
                        "title": "Max complexes",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "For apartment markets: max complexes to expand for articles.",
                        "default": 30
                    },
                    "maxPages": {
                        "title": "Max article pages",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "For houses/rooms/offices: max /api/articles pages per category.",
                        "default": 3
                    },
                    "scrapeDetails": {
                        "title": "Scrape apartment articles",
                        "type": "boolean",
                        "description": "For /complexes markets only: open each complex and capture article listings. Houses/rooms/offices already return articles. iSale details are skipped in v1.",
                        "default": true
                    },
                    "includeRaw": {
                        "title": "Include raw API payloads",
                        "type": "boolean",
                        "description": "When true, each dataset record keeps the original Naver/iSale JSON under `raw`. Default false to keep rows smaller.",
                        "default": false
                    },
                    "requestDelayMillis": {
                        "title": "Delay between requests (ms)",
                        "minimum": 0,
                        "maximum": 20000,
                        "type": "integer",
                        "description": "Politeness delay before browser navigations / API fetches.",
                        "default": 1500
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy recommended when the Actor mints RESIDENTIAL + KR. Ignored when Actor env WORKER_PROVIDES_PROXY=1 (worker supplies PROXY_URL).",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "KR"
                        }
                    },
                    "workerBaseUrl": {
                        "title": "Worker base URL (Advanced)",
                        "type": "string",
                        "description": "Optional per-run override of the Cloud Run worker origin. Production runs should leave this empty and use Actor env WORKER_BASE_URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
