# Naver Place Review Scraper (한국어) (`parsebird/naver-place-review-scraper-korean`) Actor

네이버 플레이스 리뷰 추출: 방문자 리뷰 본문, 별점, 방문일, 방문자 선택 키워드, 사장님 답글, 사진, 네이버 블로그 리뷰까지. JSON, CSV, Excel로 내보내기.

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

## Pricing

from $0.89 / 1,000 리뷰 수집

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

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

### Naver Place Review Scraper (한국어)

Naver Place Review Scraper는 한국의 대표적인 지역 비즈니스·지도 플랫폼인 [네이버 플레이스](https://map.naver.com/)(네이버 플레이스)에서 공개된 방문자 리뷰와 네이버 블로그 리뷰를 추출합니다. 플레이스 URL, 순수 플레이스 ID, 또는 검색 키워드를 입력하면 구조화된 리뷰 본문, 별점, 방문일, 방문자 선택 키워드, 사장님 답글, 사진, 집계 평점 통계를 반환합니다.

<table><tr>
<td style="border-left:4px solid #03C75A;padding:12px 16px;font-weight:600">
별점과 선택 키워드가 포함된 방문자 리뷰, 장소와 연결된 네이버 블로그·카페 게시글, 장소별 평점 통계를 수집합니다 — 음식점, 카페, 병원, 호텔을 비롯한 모든 네이버 플레이스 카테고리에서 사용할 수 있습니다.
</td>
</tr></table>

##### AI 어시스턴트에 복사하기

이 블록을 ChatGPT, Claude, Cursor 또는 다른 LLM에 복사해서 이 Actor를 바로 사용해 보세요.

```text
Apify Actor parsebird/naver-place-review-scraper-korean을 사용해 공개된 네이버 플레이스(네이버 플레이스) 방문자 리뷰와 네이버 블로그 리뷰를 수집합니다. ApifyClient 예시: client.actor("parsebird/naver-place-review-scraper-korean").call(run_input={"placeUrls":["https://map.naver.com/p/entry/place/11571707"],"maxReviewPages":3,"includeBlogReviews":True}) 실행 후 client.dataset(run["defaultDatasetId"]).iterate_items()로 읽습니다. 주요 입력값: placeUrls(네이버 플레이스 URL 또는 순수 플레이스 ID 배열), startUrls([{"url":...}] 형식의 대체 입력 배열), searchKeywords(키워드로 장소를 찾는 배열), maxPlacesPerKeyword(정수, 기본값 5), maxReviews(정수, 선택, 설정 시 maxReviewPages보다 우선), maxReviewPages(정수, 기본값 1, 페이지당 리뷰 50개), reviewSort(열거형 NEWEST/RANKING, 기본값 NEWEST), includeBlogReviews(불리언, 기본값 true), maxBlogReviewPages(정수, 기본값 10, 페이지당 게시글 10개, 네이버는 약 100개로 제한), includeReviewPhotos(불리언, 기본값 false), includeReviewStats(불리언, 기본값 true), maxConcurrency(정수, 기본값 5), proxyConfiguration(객체). 출력 필드에는 reviewType(visitor/blog/place_stats), placeId, placeName, placeCategory, placeAddress, placeRating, reviewText, reviewRating, reviewerName, reviewerProfileUrl, reviewDate, visitDate, visitCount, votedKeywords, visitCategories, reviewPhotos, reviewReplyText, blogTitle, blogContents, blogUrl, bloggerName, blogDate, averageRating, starDistribution, topVotedKeywords, searchKeyword, scrapedAt(필드명은 영어)가 포함됩니다. API 문서: https://docs.apify.com/api/client/python/ 및 https://docs.apify.com/api/client/js/. 토큰: https://console.apify.com/account/integrations.
```

### Naver Place Review Scraper는 무엇을 하나요?

**Naver Place Review Scraper**는 네이버 지도의 리뷰·지역 비즈니스 레이어인 [네이버 플레이스](https://map.naver.com/)에서 공개 리뷰 데이터를 수집합니다. 대부분의 한국 소비자는 음식점, 카페, 병원, 미용실, 관광지를 방문하기 전에 이곳을 먼저 확인합니다. 리뷰 감성 모니터링, 경쟁사 벤치마킹, NLP·LLM 파이프라인용 리뷰 데이터 수집, 한국 로컬 비즈니스 시장조사용 데이터셋 구축 등에 활용할 수 있습니다.

- 📍 **플레이스 URL**, 순수 **플레이스 ID**, **검색 키워드** 세 가지 입력 방식을 지원 — 한 번의 실행에서 혼합 사용 가능.
- ⭐ 방문자 리뷰 본문, 별점, 방문일, 방문 횟수, 작성자 프로필 정보를 추출.
- 🏷️ 각 리뷰에 첨부된 네이버의 **선택 키워드**(예: "음식이 맛있어요")와 방문 관련 태그를 수집.
- 💬 존재하는 경우 사업자의 공개 답글 본문과 답글 작성일을 수집.
- 📷 필요 시 리뷰 사진 URL을 함께 포함.
- 📝 장소에 대한 **네이버 블로그**·**네이버 카페** 게시글을 제목, 요약, 작성자 정보와 함께 수집.
- 📊 장소별 통계 행 생성: 평균 평점, 별점 분포, 인기 선택 키워드.
- 🔎 한국어 또는 영어 키워드(예: `강남 맛집` 또는 `Seoul BBQ`)로 검색해 리뷰 수집 전에 장소를 발견.
- ⚡ 동시성 조절과 레지덴셜 프록시 지원으로 대규모 실행에서도 안정적으로 여러 장소를 병렬 수집.
- 📤 결과를 [Apify 연동](https://apify.com/integrations), [Apify API](https://docs.apify.com/api/v2), 웹훅, 데이터베이스, 스프레드시트로 전송하거나 JSON, CSV, Excel로 다운로드.

이 에디션은 **완전히 한국어로 된 인터페이스**를 제공합니다 — 제목, 설명, 입력 필드, 문서 모두 한국어입니다. 수집되는 데이터 자체는 대부분의 BI 도구와 스프레드시트와의 호환성을 위해 영어 필드명(`reviewText`, `placeName` 등)을 그대로 유지합니다. 동일한 Actor의 [영어 에디션](https://apify.com/parsebird/naver-place-review-scraper)도 이용할 수 있습니다.

### 네이버 플레이스에서 어떤 데이터를 추출할 수 있나요?

| 필드 | 설명 |
|------|------|
| `reviewText` | 방문자 리뷰 전체 본문 (한국어) |
| `reviewRating` | 별점, 1–5 |
| `reviewerName` | 리뷰어 닉네임, 프로필 URL, 총 리뷰 수 |
| `reviewDate` / `visitDate` | 리뷰 작성일과 실제 방문일 (ISO `YYYY-MM-DD`) |
| `visitCount` / `visitCountLabel` | 방문 횟수, 예: "3번째 방문" |
| `votedKeywords` | 네이버의 선택 리뷰 태그, 예: "음식이 맛있어요", "분위기가 좋아요" |
| `visitCategories` | 대기 시간, 예약 방법 등 방문 관련 태그 |
| `reviewPhotos` | 리뷰에 첨부된 사진 URL (선택) |
| `reviewReplyText` | 사업자의 공개 답글 |
| `blogTitle` / `blogContents` / `blogUrl` | 네이버 블로그·카페 게시글의 제목, 요약, 링크 |
| `bloggerName` | 블로그·카페 작성자명 |
| `averageRating` / `starDistribution` | 집계 평점과 5★–1★ 분포 |
| `topVotedKeywords` | 전체 리뷰에서 가장 많이 선택된 키워드와 개수 |

### 네이버 플레이스 리뷰를 수집하는 방법

1. Apify에서 [Naver Place Review Scraper](https://apify.com/parsebird/naver-place-review-scraper-korean)를 엽니다.
2. `placeUrls`에 하나 이상의 **플레이스 URL**(예: `https://map.naver.com/p/entry/place/11571707`) 또는 순수 **플레이스 ID**를 추가합니다. `naver.me` 단축 링크는 자동으로 해석됩니다.
3. 또는 `placeUrls`를 비워두고 `searchKeywords`에 `강남 맛집`이나 `Seoul BBQ` 같은 **검색 키워드**를 추가하면, Actor가 일치하는 장소를 찾아 리뷰를 수집합니다.
4. `maxReviewPages`(페이지당 리뷰 50개) 또는 정확한 상한을 원하면 `maxReviews`를 설정합니다. 빠르고 저렴한 테스트를 위해 값을 낮게 유지하세요.
5. 필요한 리뷰 유형에 따라 `includeBlogReviews`와 `includeReviewStats`를 켜거나 끕니다.
6. 대규모 또는 반복 실행 시 네이버의 속도 제한을 피하기 위해 `proxyConfiguration`에서 프록시를 활성화합니다.
7. Actor를 실행하고 데이터셋을 열어 JSON, CSV, Excel로 내보내거나 Apify API를 통해 연동합니다.

### 입력 파라미터

| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|----------|------|------|--------|------|
| `placeUrls` | array | 아니요 | 장소 1개 미리 입력됨 | 네이버 플레이스 URL 또는 순수 플레이스 ID |
| `startUrls` | array | 아니요 | `[]` | 연동을 위한 대체 `[{"url": "..."}]` 입력 형식 |
| `searchKeywords` | array | 아니요 | `[]` | 장소를 검색할 키워드, 이후 해당 장소의 리뷰 수집 |
| `maxPlacesPerKeyword` | integer | 아니요 | `5` | 각 키워드 검색에서 가져올 최대 장소 수 (1–50) |
| `maxReviews` | integer | 아니요 | — | 장소당 최대 방문자 리뷰 수; 설정 시 `maxReviewPages`보다 우선 (1–50,000) |
| `maxReviewPages` | integer | 아니요 | `1` | 장소당 방문자 리뷰 페이지 수, 페이지당 리뷰 50개 (1–1,000) |
| `reviewSort` | string | 아니요 | `NEWEST` | `NEWEST` 또는 `RANKING`(네이버 자체 추천 순서) |
| `includeReviewPhotos` | boolean | 아니요 | `false` | 각 방문자 리뷰에 첨부된 사진 URL 포함 |
| `includeBlogReviews` | boolean | 아니요 | `true` | 연결된 네이버 블로그·카페 게시글도 함께 수집 |
| `maxBlogReviewPages` | integer | 아니요 | `10` | 장소당 블로그 리뷰 페이지 수, 페이지당 게시글 10개 (1–100) |
| `includeReviewStats` | boolean | 아니요 | `true` | 장소당 집계 평점 통계 행 1개 추가 |
| `maxConcurrency` | integer | 아니요 | `5` | 동시에 수집할 장소 수 (1–10) |
| `proxyConfiguration` | object | 아니요 | Apify 프록시 | 프록시 설정; 대규모 실행에 권장 |

### 출력 예시

방문자 리뷰:

```json
{
  "reviewType": "visitor",
  "placeId": "11571707",
  "placeName": "경복궁",
  "placeCategory": "궁궐",
  "placeAddress": "서울 종로구 사직로 161 경복궁",
  "placeRating": 4.69,
  "placeTotalReviews": 12514,
  "placeUrl": "https://pcmap.place.naver.com/place/11571707",
  "reviewId": "6a786af0d4bfe92dced69067",
  "reviewText": "서울여행 가족들과 경복궁 나들이! 한복을 입고 가면 무료입장...",
  "reviewRating": 5,
  "reviewerName": "Marge simpson 0410",
  "reviewerProfileUrl": "https://m.place.naver.com/my/5fd063c7b421d3204bb3eb2a/review?v=2",
  "reviewerReviewCount": 391,
  "reviewDate": "2026-08-09",
  "visitDate": "2026-08-09",
  "votedKeywords": ["사진이 잘 나와요", "볼거리가 많아요", "뷰가 좋아요"],
  "reviewReplyText": null,
  "searchKeyword": null,
  "language": "ko",
  "scrapedAt": "2026-08-10T22:26:16.443959Z"
}
```

블로그 리뷰:

```json
{
  "reviewType": "blog",
  "placeId": "1743025750",
  "placeName": "포비 강남점",
  "blogTitle": "고터 파미에스테이션 카페 포비 FOURB",
  "blogContents": "카페명: 포비 강남 FOURB. 베이글 맛집으로 유명한, 호불호는 있을 듯!",
  "blogUrl": "https://m.cafe.naver.com/cafeflex/22617",
  "bloggerName": "아메리카노",
  "blogDate": "2022-08-07",
  "scrapedAt": "2026-08-10T22:26:16.443959Z"
}
```

결과는 [Apify 데이터셋](https://docs.apify.com/platform/storage/dataset)에서 JSON, CSV, Excel, HTML, XML로 바로 다운로드하거나 API를 통해 읽을 수 있습니다.

### Python API 예시

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("parsebird/naver-place-review-scraper-korean").call(run_input={
    "placeUrls": ["https://map.naver.com/p/entry/place/11571707"],
    "maxReviewPages": 3,
    "includeBlogReviews": True,
    "includeReviewStats": True,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["reviewType"], item.get("reviewText") or item.get("blogTitle"))
```

인증 및 데이터셋 옵션은 공식 [Apify Python 클라이언트 문서](https://docs.apify.com/api/client/python/)를 참고하세요.

### JavaScript API 예시

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('parsebird/naver-place-review-scraper-korean').call({
  searchKeywords: ['강남 맛집'],
  maxPlacesPerKeyword: 5,
  maxReviewPages: 1,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

더 많은 예시는 공식 [Apify JavaScript 클라이언트 문서](https://docs.apify.com/api/client/js/)를 참고하세요.

### 네이버 플레이스 리뷰 수집 비용은 얼마인가요?

**네이버 플레이스 리뷰 1건당 가격은 얼마인가요?**

| Event | Free | Bronze | Silver | Gold |
|-------|------|--------|--------|------|
| `review-scraped` | $0.00099 (**$0.99 / 1,000**) | $0.00089 (**$0.89 / 1,000**) | $0.00089 (**$0.89 / 1,000**) | $0.00089 (**$0.89 / 1,000**) |

`review-scraped` 이벤트 1건은 방문자 리뷰 또는 블로그 리뷰 하나가 데이터셋에 저장되었음을 의미합니다. 장소 통계 행은 청구되지 않습니다. 한 장소에서 방문자 리뷰 500개(`maxReviewPages: 10`)를 수집하면 약 $0.45–$0.50입니다. Apify의 무료 체험 크레딧으로 소규모 테스트 실행을 진행할 수 있습니다.

### 활용 사례

- 음식점, 카페, 미용실, 병원, 호텔의 리뷰 감성과 평점 추이를 시간에 따라 모니터링.
- 여러 네이버 플레이스 리스팅에서 경쟁사의 평점, 선택 키워드, 리뷰 수를 벤치마킹.
- 한국어 리뷰 텍스트를 NLP·LLM 파이프라인에 투입해 감성 분석이나 요약에 활용.
- 시장조사 및 상권 분석을 위한 로컬 비즈니스·프랜차이즈 데이터셋 구축.
- `reviewReplyText`와 `reviewReplyDate`를 예약 실행으로 모니터링해 사장님 응답률 추적.
- 키워드로 장소를 발견하고 평가 — 예를 들어 "베스트" 리스트 후보 소싱.

### 작동 방식

1. Actor는 필요 시 `naver.me` 단축 링크를 따라가며 각 입력값을 숫자형 네이버 플레이스 ID로 변환하거나, 네이버의 공개 장소 검색 API에 대해 키워드 검색을 실행합니다.
2. 모든 리뷰의 맥락을 위해 장소 상세 정보(이름, 카테고리, 주소, 총 평점)를 가져옵니다.
3. 네이버의 커서 기반 페이지네이션을 사용해 요청한 개수나 페이지 한도에 도달할 때까지 방문자 리뷰를 순회합니다.
4. 활성화된 경우, 오프셋 기반 페이지네이션으로 연결된 네이버 블로그·카페 게시글을 별도로 순회합니다.
5. 한국어 날짜 형식, 선택 키워드, 작성자 정보를 안정적인 데이터셋 스키마로 정규화합니다.
6. 각 리뷰를 Apify 데이터셋에 저장하고, Apify 플랫폼에서만 PPE 과금을 적용하며 사용자의 지출 한도에 도달하면 자동으로 중단합니다.

### 네이버 플레이스를 스크래핑하는 것은 합법인가요?

**네이버 플레이스 리뷰 스크래핑은 합법인가요?**

공개적으로 접근 가능한 웹 데이터를 수집하는 것은 많은 국가에서 일반적으로 허용되지만, 네이버의 이용약관을 검토하고 개인정보나 민감한 정보 수집을 피하며 사용 목적이 관련 법률을 준수하는지 확인해야 합니다. 배경 지식은 Apify의 가이드를 참고하세요: [웹 스크래핑은 합법인가요?](https://blog.apify.com/is-web-scraping-legal/)

### 다른 스크래퍼 / 관련 Actor

| Actor | 적합한 용도 |
|-------|--------------|
| [Naver Place Review Scraper (English)](https://apify.com/parsebird/naver-place-review-scraper) | 동일한 도구의 영어 인터페이스 에디션 |
| [GetYourGuide Review Scraper](https://apify.com/parsebird/getyourguide-review-scraper) | 평점과 본문이 포함된 투어·액티비티 리뷰 데이터 |
| [Website Contact Finder](https://apify.com/parsebird/website-contact-finder) | 비즈니스나 리드 목록의 공개 연락처 찾기 |
| [Shopify Store Leads Scraper](https://apify.com/parsebird/shopify-store-leads-scraper) | Shopify 스토어 및 이커머스 리드 발굴 |
| [Google Ads Transparency Center Scraper](https://apify.com/parsebird/google-ads-transparency-scraper) | 경쟁사 광고 조사 및 모니터링 |

### FAQ

**이 Actor를 네이버 플레이스 리뷰 API로 사용할 수 있나요?**

네. [Apify API](https://docs.apify.com/api/v2), Python 클라이언트, JavaScript 클라이언트, 웹훅, 연동을 통해 실행을 시작하고 데이터셋을 가져올 수 있습니다.

**이름만 아는 장소의 리뷰도 수집할 수 있나요?**

네. `searchKeywords`에 장소명이나 지역+업종 조합 문구(예: `강남 맛집`)를 추가하면 Actor가 일치하는 장소를 찾은 뒤 리뷰를 수집합니다.

**이 Actor는 naver.me 단축 링크를 지원하나요?**

네. `placeUrls`는 `naver.me` 단축 링크를 자동으로 플레이스 ID로 해석합니다.

**장소당 최대 몇 개의 리뷰를 수집할 수 있나요?**

정확한 상한을 원하면 `maxReviews`(최대 50,000)를 설정하거나, 페이지 기반 제어를 원하면 `maxReviewPages`(페이지당 리뷰 50개, 최대 1,000페이지)를 설정하세요. 네이버의 블로그 리뷰 피드는 `maxBlogReviewPages` 설정과 관계없이 장소당 약 100개 게시글로 제한됩니다.

**대부분의 리뷰에서 `reviewReplyText`가 비어 있는 이유는 무엇인가요?**

네이버 플레이스 리뷰 중 사업자의 공개 답글이 달린 것은 일부에 불과합니다. 답글이 없으면 이 필드는 `null`입니다.

**이 Actor는 프록시가 필요한가요?**

대규모 또는 반복 실행 시 네이버의 속도 제한을 피하기 위해 프록시를 권장합니다. 입력 스키마는 기본적으로 Apify 프록시 설정을 사용합니다.

**반복적인 리뷰 모니터링을 예약할 수 있나요?**

네. [Apify 예약 실행](https://docs.apify.com/platform/schedules)을 사용해 이 네이버 플레이스 스크래퍼를 매일, 매주 또는 원하는 간격으로 실행하고 시간에 따른 평점 변화를 추적할 수 있습니다.

**문제나 필드 추가 요청은 어디에 남기나요?**

Actor 페이지의 Issues 탭에서 입력 예시, 실행 ID, 네이버 플레이스 URL 또는 ID를 포함해 남겨주세요.

# Actor input Schema

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

네이버 플레이스 URL 또는 순수 플레이스 ID를 추가하세요. 예: https://map.naver.com/p/entry/place/11571707 또는 11571707. naver.me 단축 링크는 자동으로 해석됩니다.

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

연동을 위한 대체 입력 형식: \[{"url": "https://map.naver.com/p/entry/place/11571707"}]. 더 간단한 입력을 원하면 플레이스 URL 또는 ID를 사용하세요.

## `searchKeywords` (type: `array`):

네이버 플레이스 검색 키워드를 추가하세요. 예: 강남 맛집 또는 Seoul BBQ. 일치하는 장소를 찾아 리뷰를 수집합니다.

## `maxPlacesPerKeyword` (type: `integer`):

각 키워드 검색에서 가져올 최대 장소 수입니다.

## `maxReviews` (type: `integer`):

장소당 수집할 최대 방문자 리뷰 수입니다. 설정하면 최대 리뷰 페이지 수보다 우선 적용됩니다. 비워두면 최대 리뷰 페이지 수를 대신 사용합니다.

## `maxReviewPages` (type: `integer`):

장소당 가져올 방문자 리뷰 페이지 수이며, 페이지당 리뷰 50개입니다. 약 50개는 1로, 약 500개는 10으로 설정하세요. 장소당 최대 방문자 리뷰 수가 설정되면 이 값은 무시됩니다.

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

방문자 리뷰의 정렬 순서입니다. NEWEST는 최신 리뷰를 먼저 반환합니다. RANKING은 네이버의 추천 순서를 요청하지만, 현재 이를 제공하는 장소에서만 적용됩니다.

## `includeReviewPhotos` (type: `boolean`):

각 방문자 리뷰에 첨부된 사진 URL을 추가합니다. 사진 개수는 항상 포함됩니다.

## `includeBlogReviews` (type: `boolean`):

각 장소와 연결된 네이버 블로그 및 네이버 카페 게시글도 함께 수집합니다.

## `maxBlogReviewPages` (type: `integer`):

장소당 가져올 블로그 리뷰 페이지 수이며, 페이지당 게시글 10개입니다. 네이버는 이 피드를 장소당 약 100개 게시글로 제한합니다.

## `includeReviewStats` (type: `boolean`):

평균 평점, 별점 분포, 인기 투표 키워드를 담은 통계 행을 장소당 하나씩 추가합니다.

## `maxConcurrency` (type: `integer`):

동시에 수집할 장소 수입니다. 값이 높을수록 여러 장소를 다룰 때 빨라지지만, 프록시 없이는 속도 제한에 걸릴 위험이 커집니다.

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

프록시 설정입니다. 대규모 실행 시 속도 제한을 피하기 위해 권장됩니다.

## Actor input object example

```json
{
  "placeUrls": [
    "https://map.naver.com/p/entry/place/11571707"
  ],
  "startUrls": [],
  "searchKeywords": [],
  "maxPlacesPerKeyword": 3,
  "maxReviewPages": 1,
  "reviewSort": "NEWEST",
  "includeReviewPhotos": false,
  "includeBlogReviews": true,
  "maxBlogReviewPages": 2,
  "includeReviewStats": true,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "placeUrls": [
        "https://map.naver.com/p/entry/place/11571707"
    ],
    "startUrls": [],
    "searchKeywords": [],
    "maxPlacesPerKeyword": 3,
    "maxReviewPages": 1,
    "maxBlogReviewPages": 2,
    "maxConcurrency": 3,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/naver-place-review-scraper-korean").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 = {
    "placeUrls": ["https://map.naver.com/p/entry/place/11571707"],
    "startUrls": [],
    "searchKeywords": [],
    "maxPlacesPerKeyword": 3,
    "maxReviewPages": 1,
    "maxBlogReviewPages": 2,
    "maxConcurrency": 3,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/naver-place-review-scraper-korean").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 '{
  "placeUrls": [
    "https://map.naver.com/p/entry/place/11571707"
  ],
  "startUrls": [],
  "searchKeywords": [],
  "maxPlacesPerKeyword": 3,
  "maxReviewPages": 1,
  "maxBlogReviewPages": 2,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parsebird/naver-place-review-scraper-korean --silent --output-dataset

```

## MCP server setup

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

```

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/xvg44GCreVkeViPQ8/builds/VanKmr3fV2dXkcJyz/openapi.json
