# Naver Place Scraper: Businesses, Hours, Menus and Reviews (`themineworks/naver-place-scraper`) Actor

Scrape Naver Place and Naver Map by keyword and area (Korean or English) or place link: name, category, address, phone, coordinates, rating, review counts, opening hours, menu prices, photos. Optional visitor reviews with text, date, tags, author and owner reply. No login.

- **URL**: https://apify.com/themineworks/naver-place-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Lead generation, Travel, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.76 / 1,000 places

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Naver Place Scraper: Businesses, Hours, Menus and Reviews

[![24 Naver places with hours, menus and 120 visitor reviews in 63 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/naver-place-scraper-hero.png)](https://console.apify.com/actors/3ElTbKBEfbgC495Po/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 140,000 runs across 170+ public actors.

Updated 25 Oct 2026: first release. Naver Place and Naver Map businesses by keyword and area (Korean or English) or by place link, with phone, coordinates, rating, review counts, opening hours by day, menu items with prices and photos, plus visitor reviews with text, date, tags, author and owner reply. Bookmark this Actor on its Store page so it is one click away next time.

### Why choose this actor?

- **Korea's local directory in columns.** Naver Place is where Koreans look up restaurants, cafes, clinics, salons, hotels and sights, and many small businesses have no Google listing at all. Every row carries the name, category, address, road address, phone, latitude and longitude, rating, visitor review count and blog post count.
- **Hours, menus and prices per business.** With product pages on (the default), each row has opening hours day by day with break times and last order times, the menu or price list with a numeric `price` in won, the owner's description, keywords, parking, nearby subway stations and the review keywords visitors voted for most.
- **Visitor reviews as their own rows.** Switch on reviews and each place also returns reviews, newest first: text, visit date, 1 to 5 rating, the tags the reviewer ticked, how many times they had visited, how the visit was verified (receipt, booking, payment), reviewer history and the owner's reply.
- **English keywords work.** Naver finds far more with Korean: "Hongdae cafe" returns 50 places, "홍대 카페" returns 2,520. A keyword typed only in English letters is translated word by word, and the run log shows what was searched.
- **Pay per row, nothing for errors.** Links that are not Naver places, the summary row and duplicates are never charged. No Naver account, cookies or API key.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/3ElTbKBEfbgC495Po/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Food and local services family:** [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns the first 20 restaurants Naver lists for "강남 맛집" (Gangnam restaurants) with their pages opened:

```json
{
  "searchQueries": ["강남 맛집"],
  "maxPlacesPerSearch": 20
}
```

Put several keywords on separate lines to run several searches at once. A place that two searches find is delivered once.

Apify's free plan includes $5 of credit every month, which covers about 900 places at this actor's price.

#### Copy to your AI assistant

```text
themineworks/naver-place-scraper on Apify. Searches Naver Place and Naver Map (Korean local businesses) by keyword and area, or opens place links and ids, and returns one flat row per business, plus optional visitor review rows, with no login. Call ApifyClient("TOKEN").actor("themineworks/naver-place-scraper").call(run_input={"searchQueries": ["강남 맛집"], "maxPlacesPerSearch": 50}), then client.dataset(run["defaultDatasetId"]).list_items().items. Give searchQueries (Korean or English keywords), locations (areas crossed with every keyword), placeUrls (Naver Map or Naver Place links, naver.me links or place ids) or any mix; up to 100 searches. Optional: mode (places, places_and_reviews or reviews_only), maxPlacesPerSearch (default 50, 1 to 300, Naver answers at most 300 per search), includeDetails (default true; opening hours, menu items with prices, description, keywords, stations, voted keywords), maxReviewsPerPlace (default 20, up to 5000), reviewSort (recent or default), language (ko, en, ja, zh), translateEnglish (default true). Place rows have record_type "place" and carry place_id, name, category, address, road_address, latitude, longitude, phone, rating, visitor_review_count, blog_review_count, opening_hours, menu_items, description, keywords, image_urls, place_url. Review rows have record_type "review" and carry review_id, place_id, rating, text, visit_date, written_date, tags, visit_count, verified_by, author_name, owner_reply. Each run also writes one row with _type "summary", one with _type "info" when rows were delivered, and a row with _type "error" for each input that could not be read; none of these is charged. Full spec: GET https://api.apify.com/v2/acts/themineworks~naver-place-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **Keyword, area or link.** Type keywords as you would in the Naver Map search box, cross them with a list of areas (`카페` with `강남` and `홍대` runs two searches), or paste place links and ids. Links from `map.naver.com`, `pcmap.place.naver.com` and `m.place.naver.com` work, and so do `naver.me` short links and plain place numbers.
- **Every kind of business.** Restaurants, cafes, hospitals and clinics, hair and beauty salons, hotels and stays, attractions, pharmacies, gyms and more. Naver's own category is in `category`; `business_type` gives its group.
- **Up to 300 places per search.** That is Naver's own limit for one search. To cover a bigger area, split it into districts with `locations`.
- **Korean, English, Japanese or Chinese output.** `language` switches names, categories, addresses, menus and opening days to Naver's own translation. In English Naver gives one address and no separate road address.
- **Fast without product pages.** With `includeDetails` off, 600 places came back in 14 seconds from 15 requests, about 1.5 KB per place.
- **Stops cleanly.** Two result pages in a row with no new place end a search; six failed or refused calls in a row end the run; the run stops before its time limit and keeps every row it read. The summary row says why.

### How to use it

#### Basic: restaurants in a district

```json
{
  "searchQueries": ["강남 맛집"],
  "maxPlacesPerSearch": 100
}
```

#### Keywords crossed with areas

```json
{
  "searchQueries": ["카페", "디저트"],
  "locations": ["성수", "연남동", "한남동"],
  "maxPlacesPerSearch": 100
}
```

Six searches, each up to 100 places. Sort by `visitor_review_count` or `rating` in a spreadsheet to find the busiest.

#### English keywords

```json
{
  "searchQueries": ["dermatology clinic"],
  "locations": ["Gangnam", "Apgujeong"],
  "language": "en",
  "maxPlacesPerSearch": 50
}
```

#### Places with their reviews

```json
{
  "searchQueries": ["홍대 카페"],
  "mode": "places_and_reviews",
  "maxPlacesPerSearch": 10,
  "maxReviewsPerPlace": 100
}
```

Reviews are rows in the same dataset with `record_type` set to `review`. Filter on that field, or use the Reviews view.

#### Specific places by link

```json
{
  "placeUrls": [
    "https://map.naver.com/p/entry/place/11571707",
    "https://m.place.naver.com/restaurant/2025884279/home",
    "1263226933"
  ],
  "mode": "places_and_reviews",
  "maxReviewsPerPlace": 500
}
```

#### Reviews only

```json
{
  "placeUrls": ["2025884279"],
  "mode": "reviews_only",
  "maxReviewsPerPlace": 1000
}
```

Only review rows are delivered and charged. In our test, 130 reviews of one place took 4 requests and 4 seconds.

#### Fast export from search results only

```json
{
  "searchQueries": ["제주 호텔"],
  "maxPlacesPerSearch": 300,
  "includeDetails": false
}
```

Name, category, address, phone, coordinates, review counts, amenities and a few photos, without opening hours, menus or descriptions. Same price per place.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `searchQueries` | array of strings | empty | Keywords, one search each. Korean or English. |
| `locations` | array of strings | empty | Areas combined with every keyword. |
| `placeUrls` | array of strings | empty | Naver Map or Naver Place links, naver.me links or place ids. |
| `mode` | string | `places` | `places`, `places_and_reviews` or `reviews_only`. |
| `maxPlacesPerSearch` | integer | `50` | Most places per search, 1 to 300. |
| `includeDetails` | boolean | `true` | Opens each place for hours, menu items, description, keywords, stations and voted keywords. |
| `maxReviewsPerPlace` | integer | `20` | Most visitor reviews per place, 1 to 5,000, when reviews are on. |
| `reviewSort` | string | `recent` | `recent` (newest first) or `default` (Naver's order). |
| `language` | string | `ko` | `ko`, `en`, `ja` or `zh`. |
| `translateEnglish` | boolean | `true` | Translates English-only keywords to Korean before searching. |
| `proxyConfiguration` | object | Apify Proxy | Switch to residential proxy with country KR if Naver refuses requests. |

Give `searchQueries`, `locations`, `placeUrls` or a mix. Up to 100 searches per run.

### What data do you get?

Each run has place rows (`record_type` `place`), review rows (`record_type` `review`) when you ask for them, and one summary row. The dataset has four ready views: Places, Location and contact, Hours and menu, and Reviews.

**Place row**

| Field | What it is |
|---|---|
| `place_id`, `name`, `category`, `business_type`, `category_codes` | Identity and Naver category |
| `address`, `road_address`, `full_address`, `region`, `region_code` | Lot-number address, road-name address, full Korean address, district |
| `latitude`, `longitude` | Coordinates (WGS84) |
| `phone`, `phone_is_forwarding_number` | Phone; many Korean businesses publish only a Naver forwarding number (0507) that reaches them |
| `rating`, `visitor_review_count`, `text_review_count`, `blog_review_count`, `booking_review_count` | Score out of 5 and review counts |
| `opening_hours`, `open_status`, `regular_closed_days`, `hours_note` | Hours per day with break and last order times |
| `menu_items`, `menu_count`, `menu_images` | Menu or price list: name, `price` in won, description, category, image |
| `description`, `directions`, `keywords`, `facilities`, `amenities`, `payment_methods`, `parking`, `pet_friendly` | What the owner publishes |
| `voted_keywords`, `short_review_phrases`, `image_review_count`, `photo_count`, `visitor_photo_count` | What visitors say and show |
| `homepage`, `other_links`, `naver_booking_url`, `has_naver_booking`, `accepts_naver_pay` | Links and booking |
| `nearby_stations` | Subway stations with exit and walking minutes |
| `image_url`, `image_urls`, `place_url`, `map_url` | Photos and links |
| `source`, `search_query`, `search_query_used`, `search_total_results`, `search_position` | Where the row came from |
| `details_scraped`, `details_error`, `output_language`, `scraped_at` | Run information |

**Review row**: `review_id`, `place_id`, `place_name`, `rating`, `text`, `visit_date`, `written_date`, `written_date_text`, `visit_count`, `tags`, `verified_by`, `item_ordered`, `booking_item`, `photo_count`, `photo_urls`, `has_video`, `author_name`, `author_id`, `author_profile_url`, `author_review_count`, `author_photo_review_count`, `author_average_rating`, `owner_reply`, `owner_reply_date`, `view_count`, `review_language`, `review_url`, `position`.

Rows carry only the fields a business or review has. A field Naver does not publish for that place is left out.

#### Output examples

A place row (shortened):

```json
{
  "record_type": "place",
  "place_id": "2025884279",
  "name": "대물섬 강남점",
  "category": "한식",
  "business_type": "restaurant",
  "address": "서울 강남구 논현동 98-12",
  "road_address": "서울 강남구 언주로148길 14 1층 103~106호",
  "region": "서울 강남구 논현동",
  "latitude": 37.5206335,
  "longitude": 127.0361667,
  "phone": "0507-1451-3697",
  "phone_is_forwarding_number": true,
  "rating": 4.97,
  "visitor_review_count": 176,
  "blog_review_count": 37,
  "has_naver_booking": false,
  "amenities": [
    "포장",
    "단체 이용 가능",
    "예약",
    "남/녀 화장실 구분",
    "간편결제",
    "주차",
    "발렛파킹"
  ],
  "image_url": "https://ldb-phinf.pstatic.net/20260831_172/17881344168901EW1Q_JPEG/%BD%BA%C5%A9%B8%B0%BC%A6_2025-04-07_%BF%C0%C8%C4_11.20.37.jpg",
  "place_url": "https://m.place.naver.com/place/2025884279/home",
  "map_url": "https://map.naver.com/p/entry/place/2025884279",
  "keywords": [
    "소금김밥",
    "강남",
    "보쌈",
    "룸식당",
    "와인"
  ],
  "payment_methods": [
    "간편결제"
  ],
  "pet_friendly": false,
  "open_status": "영업 중",
  "details_scraped": true,
  "source": "search",
  "search_query": "강남 맛집",
  "search_query_used": "강남 맛집",
  "search_total_results": 34381,
  "search_position": 1,
  "output_language": "ko",
  "scraped_at": "2026-10-25T04:59:03.678Z",
  "description": "대물섬 강남점 ...",
  "opening_hours": [
    {
      "schedule": null,
      "day": "일",
      "open": "13:00",
      "close": "02:00",
      "break_start": null,
      "break_end": null,
      "last_order": null,
      "note": null
    },
    {
      "schedule": null,
      "day": "월",
      "open": "11:00",
      "close": "02:00",
      "break_start": null,
      "break_end": null,
      "last_order": null,
      "note": null
    }
  ],
  "menu_items": [
    {
      "name": "대물 숙성회 정식(광어)",
      "price": 28000,
      "price_text": "28,000원",
      "price_type": "fixed",
      "description": "회+보쌈+칼국수(2인이상 주문가능)",
      "category": "점심(평일2시까지판매)",
      "badges": [],
      "image_url": "https://ldb-phinf.pstatic.net/20261019_42/1792378555396JNi5W_JPEG/KakaoTalk_20261019_105144068_02.jpg"
    },
    {
      "name": "대물 숙성회 정식(광어+시마아지)",
      "price": 38000,
      "price_text": "38,000원",
      "price_type": "fixed",
      "description": "회+보쌈+칼국수(2인이상 주문가능)",
      "category": "점심(평일2시까지판매)",
      "badges": [],
      "image_url": "https://ldb-phinf.pstatic.net/20261019_125/1792378594583VljgY_JPEG/KakaoTalk_20261019_105144068_02.jpg"
    }
  ],
  "voted_keywords": [
    {
      "keyword": "음식이 맛있어요",
      "votes": 167
    },
    {
      "keyword": "재료가 신선해요",
      "votes": 121
    },
    {
      "keyword": "매장이 넓어요",
      "votes": 80
    }
  ],
  "nearby_stations": [
    {
      "line_station": "강남구청역 7호선",
      "station": "강남구청역",
      "exit": "3-1",
      "walk_minutes": 12,
      "walk_meters": 810
    }
  ]
}
```

A review row:

```json
{
  "record_type": "review",
  "review_id": "6adc89fd094fb5e0b088fcd4",
  "place_id": "1789177874",
  "place_name": "신이도가",
  "place_url": "https://m.place.naver.com/place/1789177874/home",
  "rating": 5,
  "text": "카페 인테리어도 예쁘고 케이크도 예쁘고 맛있고 커피가 맛있어요!",
  "visit_date": "2026-10-24",
  "written_date": "2026-10-24",
  "written_date_text": "10.24.토",
  "visit_count": 1,
  "tags": [
    "커피가 맛있어요",
    "디저트가 맛있어요",
    "음료가 맛있어요",
    "특별한 메뉴가 있어요",
    "인테리어가 멋져요"
  ],
  "verified_by": "영수증",
  "item_ordered": "신이도가 키캡 키링",
  "photo_count": 1,
  "photo_urls": [
    "https://pup-review-phinf.pstatic.net/MjAyNjEwMjRfNDcg/MDAxNzkyODM4MTQwNzAz.SF3kkq7XlnlDZ5SV1azuml7SS1Phszv_Ntj0tcqt_8kg.jbN-IdySbC_TaJ562eLQ8HgFcyzO5mcFgTudlceMAGwg.JPEG/E384B9B6-7F0E-43B5-B87F-863259321279.jpeg?type=w1500_60_sharpen"
  ],
  "has_video": false,
  "author_name": "이경화9927",
  "author_id": "~1~bsCtgbTHPt_SXIrCQQkEsQ",
  "author_profile_url": "https://m.place.naver.com/my/5efc64468f87a842bcef034f/review?v=2",
  "author_review_count": 27,
  "author_photo_review_count": 30,
  "author_average_rating": 5,
  "owner_reply": "안녕하세요. 홍대 카페 신이도가(한옥카페) 입니다. 아름다운 공간과 디저트, 음료까지 좋게 평가해주셔서 진심으로 감사드립니다. 고객님의 소중한 시간을 더욱 특별하게 만들어드리기 위해 인테리어와 메뉴 퀄리티를 지속적으로 점검하고 있습니다. 앞으로도 변함없이 만족스러운 경험을 제공할 수 있도록 최선을 다하겠습니다. 다시 찾아주시길 기대하겠습니다.",
  "owner_reply_date": "10.25.일",
  "view_count": 0,
  "review_language": "ko",
  "review_url": "https://m.place.naver.com/place/1789177874/review/visitor",
  "position": 1,
  "scraped_at": "2026-10-25T04:59:36.458Z"
}
```

### Pricing

Pay per event: you pay for the places and reviews you receive, plus a flat $0.003 per run, whatever memory you choose. Opening place pages costs nothing extra.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `place-scraped` | Once per place row stored in your dataset | $5.38 per 1,000 | $5.02 per 1,000 | $4.48 per 1,000 | $3.76 per 1,000 |
| `review-scraped` | Once per review row stored in your dataset | $0.89 per 1,000 | $0.83 per 1,000 | $0.74 per 1,000 | $0.62 per 1,000 |
| `run-start` | Once per run, after the first call returned rows | $0.003 | $0.003 | $0.003 | $0.003 |

The price of one place is the price per 1,000 divided by 1,000.

Never charged:

- links that are not Naver places (each gets an error row);
- a place that a second search of the same run finds again;
- places past your `maxPlacesPerSearch` and reviews past your `maxReviewsPerPlace`;
- the summary, info and error rows;
- a run with no valid input, or one whose searches return nothing: the start fee is charged only once a call has returned rows;
- anything past your "Max cost per run". The actor checks the budget before each batch of rows and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

### Run it on a schedule

1. Open the actor in Apify Console, set your input and click **Save as a new task**.
2. In the task, open **Schedules**, click **Add schedule** and pick how often (every day, every Monday at 08:00 and so on).
3. Compare runs on `place_id`, `rating` and `visitor_review_count` to see new places, rating changes and review growth.
4. Optional: add an integration (Google Sheets, Slack, a webhook) so each run lands where your team works.

### FAQ

#### What does this actor read?

Naver Place's public business pages and visitor reviews, through the same service the Naver Place web pages use, as anyone sees them without logging in. It never logs in, books anything or reads hidden contact details. It does not request map.naver.com, whose robots.txt asks robots to stay out of everything but its start pages.

#### How many places can I get?

Up to 300 per search, which is Naver's own limit. For more, run several searches, for example one keyword with many `locations`.

#### Why do some places have no rating, hours or menu?

Naver shows a score only after a place has reviews, and hours and menus only where the owner entered them. Sights and many small shops have neither. The field is left out rather than guessed.

#### What is the difference between includeDetails on and off?

Off, a row comes from the search result: name, category, address, phone, coordinates, review counts, amenities and a few photos. On, each place is opened for hours, menu items with prices, description, keywords, stations, rating, voted review keywords and photo counts. Same price either way.

#### Why is the phone number 0507?

Many Korean businesses publish a Naver forwarding number instead of their own. It reaches them, and `phone_is_forwarding_number` is true for those rows.

#### How are English keywords handled?

Words are translated with a built-in list of about 250 Korean areas, cities and business types (Hongdae, Gangnam, cafe, dermatology and so on). Words not in the list stay as typed. Turn `translateEnglish` off to send your text unchanged. The log names the keyword actually searched, and each row carries it in `search_query_used`.

#### What do review dates mean?

`visit_date` is the day of the visit. `written_date` is the day the review was posted; Naver shows it without a year, so the year is taken from the weekday Naver prints beside it. `written_date_text` keeps Naver's own text.

#### How long does a run take?

About 14 seconds for 600 places without place pages, and about a minute for 24 places with pages and 120 reviews in our tests. Large runs depend on how many places and reviews you ask for.

#### Do I need an account, cookies or a proxy?

No account or cookies. The actor uses Apify Proxy, which is included. If Naver refuses requests, set `proxyConfiguration` to Apify residential proxy with country KR.

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. In CSV and Excel, `opening_hours`, `menu_items` and `nearby_stations` are flattened into columns such as `opening_hours/0/open` and `menu_items/0/price`. Use JSON to keep them whole.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/naver-place-scraper

- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http naver-place-scraper "https://mcp.apify.com/?tools=themineworks/naver-place-scraper"`

#### Is it legal to scrape Naver Place?

The actor reads only public listings and reviews that anyone can see without logging in. Reviews contain personal data such as reviewer nicknames and profile links, so handle them under GDPR, CCPA and Korea's Personal Information Protection Act. You are responsible for how you use the data, including Naver's terms of service. This is general information, not legal advice.

### Integrations

- **Google Sheets**: send each run's places to a sheet with Apify's Google Sheets integration; one row per place fits a sheet as is.
- **Make, Zapier and n8n**: start a run and read its dataset with the Apify apps and nodes, for example "new cafes in Seongsu every Monday to Slack".
- **Webhooks**: have Apify call your URL when a run succeeds, then fetch the dataset.
- **API and SDKs**: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
- **MCP clients**: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

### More from The Mine Works

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a search that returns fewer places than Naver Map, or a field that comes back empty? Open an issue in the Issues tab with the input and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.

*Search Naver Place and Naver Map by keyword and area, or by link, and get every business back as one row with phone, coordinates, rating, hours, menu prices and photos, plus visitor reviews, no login.*

# Actor input Schema

## `searchQueries` (type: `array`):

What to look for, one per line, as you would type it in the Naver Map search box. Korean finds the most: 강남 맛집, 홍대 카페, 제주 호텔. English works too (Hongdae cafe, Seoul dermatology clinic) and is translated word by word first. Each keyword is one search of up to 300 places.

## `locations` (type: `array`):

Areas, districts or cities to combine with every keyword, one per line. Keywords 카페 and 치과 with areas 강남 and 홍대 run four searches: 강남 카페, 홍대 카페, 강남 치과, 홍대 치과. English names such as Gangnam, Itaewon or Busan work too.

## `placeUrls` (type: `array`):

Specific places to collect: a Naver Map or Naver Place link (https://map.naver.com/p/entry/place/11571707, https://m.place.naver.com/restaurant/1114913849/home), a naver.me short link, or just the number 11571707. A Naver Place search or list link is read as a keyword search.

## `mode` (type: `string`):

Places: one row per business. Places and reviews: the business rows plus one row per visitor review. Reviews only: just the review rows (places are not delivered or charged).

## `maxPlacesPerSearch` (type: `integer`):

The most places to return for each keyword, 1 to 300. Naver answers at most 300 results per search. Example: 100.

## `includeDetails` (type: `boolean`):

On: each place is opened for opening hours by day, menu or price items, description, keywords, parking, nearby stations, rating, photos and the most voted review keywords. Off: rows come from the search results only (name, category, address, phone, coordinates, review counts, a few photos), which is faster. Same price either way.

## `maxReviewsPerPlace` (type: `integer`):

Used when you collect reviews. The most visitor reviews to return for each place, 1 to 5,000, read 50 per call. Example: 200.

## `reviewSort` (type: `string`):

Newest first, or Naver's own default order.

## `language` (type: `string`):

Language of names, categories, addresses, menus and opening days. Korean is the original data; the others are Naver's own translation. In English, Naver gives one address and no separate road address.

## `translateEnglish` (type: `boolean`):

On: a keyword typed only in English letters is translated word by word (Hongdae cafe becomes 홍대 카페) because Naver finds far more with Korean. Words not in the built-in list are kept as typed. Off: your keywords are sent exactly as written.

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

Apify Proxy settings. The default works for most runs. If Naver starts refusing requests, choose Residential proxy with country KR.

## Actor input object example

```json
{
  "searchQueries": [
    "강남 맛집"
  ],
  "mode": "places",
  "maxPlacesPerSearch": 20,
  "includeDetails": true,
  "maxReviewsPerPlace": 20,
  "reviewSort": "recent",
  "language": "ko",
  "translateEnglish": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "searchQueries": [
        "강남 맛집"
    ],
    "maxPlacesPerSearch": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/naver-place-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 = {
    "searchQueries": ["강남 맛집"],
    "maxPlacesPerSearch": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "강남 맛집"
  ],
  "maxPlacesPerSearch": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call themineworks/naver-place-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/naver-place-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3ElTbKBEfbgC495Po/builds/qMoEVdvs5w8JZdmyu/openapi.json
