Naver Map Scraper avatar

Naver Map Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Naver Map Scraper

Naver Map Scraper

Scrape places, menus, business hours, reviews and more from Naver Map (map.naver.com). Supports keyword search and direct URL input.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Jung Kim

Jung Kim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract rich, structured data from Naver Map — Korea's dominant local search platform. Collect place details, menus, business hours, reviews, and more through keyword search or direct URL input.

Features

  • Keyword Search — Search terms like "강남 맛집" or "홍대 카페" and scrape all matching places.
  • Direct URL Input — Provide specific Naver Map place URLs to scrape individual businesses. Supports full URLs and short URLs (naver.me links).
  • Rich Place Details — Name, category, address, coordinates, phone, business hours, facilities, parking info, images, subway stations, and more.
  • Full Menu Data — Menu items with names, prices, descriptions, images, and recommendation flags.
  • Review Collection — Visitor reviews (rating, body, author, tags, media) and blog reviews (title, content, URL, thumbnail).
  • Review Filtering — Set a cutoff date to only collect recent reviews.
  • Proxy Support — Built-in Apify proxy support to avoid rate limiting (HTTP 429).
  • Anti-blocking — Uses TLS fingerprinting (Chrome impersonation) for reliable access.

How It Works

  1. Search Phase — For each keyword, the Actor searches Naver Map and collects place IDs (up to maxResultsPerKeyword per keyword). For direct URLs, place IDs are extracted automatically.
  2. Detail Phase — For each place ID, the Actor fetches the detail page and parses the __APOLLO_STATE__ for structured data.
  3. Review Phase (optional) — If includeReviews is enabled, visitor reviews and blog reviews are collected via Naver's GraphQL API with pagination.

Input Parameters

ParameterTypeDefaultDescription
searchKeywordsstring[]Search terms (e.g. ["강남 맛집", "홍대 카페"])
urlsstring[]Naver Map place URLs (full or short naver.me links)
maxResultsPerKeywordinteger100Max places to collect per keyword (1–10,000)
includeReviewsbooleanfalseWhether to collect visitor and blog reviews
maxReviewPagesinteger50Max review pages per place (1 page = 20 reviews)
reviewCutoffDatestring"2024-01-01"Only collect reviews on or after this date (YYYY-MM-DD)
proxyConfigurationobjectApify proxy settings (recommended)

You must provide at least one of searchKeywords or urls.

Supported URL Formats

  • Full place URL: https://map.naver.com/p/entry/place/1976543477
  • Search result URL: https://map.naver.com/p/search/강남맛집/place/1234567890
  • Short URL: https://naver.me/FqW0LLx9 (automatically resolved via redirect)
  • Mobile URL: https://m.place.naver.com/place/1234567890

Example Input

Search by keyword:

{
"searchKeywords": ["강남 맛집"],
"maxResultsPerKeyword": 50,
"includeReviews": true,
"maxReviewPages": 10,
"reviewCutoffDate": "2025-01-01",
"proxyConfiguration": {
"useApifyProxy": true
}
}

Scrape a single place by URL:

{
"urls": ["https://naver.me/FqW0LLx9"],
"includeReviews": true,
"maxReviewPages": 5
}

Output Example

Each dataset item contains full place details:

{
"place_id": "1887323843",
"name": "더 플라자 도원",
"category": "중식당",
"categoryCode": "restaurant",
"address": "서울 중구 소공로 119",
"roadAddress": "서울 중구 소공로 119 더 플라자 3층",
"phone": "02-310-7300",
"x": "126.9784",
"y": "37.5660",
"businessHours": [
{
"name": "영업시간",
"status": "영업 중",
"description": "21:30에 영업 종료",
"schedule": [
{ "day": "매일", "start": "11:30", "end": "21:30" }
]
}
],
"facilities": ["예약", "주차", "발렛파킹", "무선 인터넷"],
"visitorReviewsTotal": 724,
"visitorReviewsScore": 4.52,
"reviewStats": {
"avgRating": 4.52,
"totalCount": 724,
"imageReviewCount": 512,
"authorCount": 680
},
"reviewThemes": [
{ "code": "TASTE", "label": "맛", "count": 450 }
],
"reviewMenus": [
{ "label": "북경오리", "count": 120 }
],
"menus": [
{
"name": "도원 오마카세",
"price": "350000",
"description": "",
"images": ["https://ldb-phinf.pstatic.net/..."],
"recommend": true
}
],
"images": [
"https://ldb-phinf.pstatic.net/..."
],
"subwayStations": [
{ "name": "시청역", "typeDesc": "6번 출구에서 87m" }
],
"description": "서울의 가장 명망 있는 전통 중식 레스토랑 도원이..."
}

When includeReviews is enabled, each item also includes:

{
"visitorReviews": [
{
"review_id": "abc123",
"rating": 5,
"body": "음식이 정말 맛있었습니다...",
"author_nickname": "홍길동",
"visited": "2025-02-15",
"created": "2025-02-20",
"tags": ["맛있어요", "분위기좋아요"],
"voted_keywords": ["맛", "서비스"],
"media_count": 3
}
],
"blogReviews": [
{
"title": "강남 맛집 추천 후기",
"contents": "지난 주말에 방문했는데...",
"author_name": "맛집블로거",
"url": "https://blog.naver.com/...",
"date": "2025-03-01"
}
]
}

Use Cases

  • Market Analysis — Compare businesses by ratings, review counts, and pricing across locations.
  • Competitor Research — Track competitors' menus, pricing changes, and customer feedback over time.
  • Local SEO Research — Analyze category rankings and review patterns for specific keywords.
  • Restaurant & Retail Intelligence — Gather menu items, pricing, business hours, and facility data at scale.
  • Review Monitoring — Collect and filter reviews by date for ongoing sentiment tracking.

Pricing

This Actor uses the Pay-Per-Event model — you only pay for what you scrape, with no monthly subscription.

EventPricePer 1,000Description
Actor start$0.00005$0.05Charged once per run
Place scraped$0.003$3.00Per place in the dataset
Review page$0.001$1.00Per review page fetched (20 reviews/page). Only charged when includeReviews is enabled.

Cost examples:

  • 100 places (no reviews) = ~$0.30
  • 1,000 places (no reviews) = ~$3.00
  • 100 places + reviews (avg 5 pages each) = ~$0.80
  • 1,000 places + reviews (avg 5 pages each) = ~$8.00

No hidden fees. Platform usage costs are included in the event prices.

Tips for Best Results

  • Use proxy — Enable Apify proxy to avoid HTTP 429 rate limiting from Naver.
  • Start small — Test with a low maxResultsPerKeyword value first to verify output before scaling up.
  • Review filtering — Set reviewCutoffDate to a recent date to reduce scraping time and collect only relevant reviews.
  • Spending limit — Set a maximum cost per run in the Apify Console to control your budget. The Actor will stop gracefully when the limit is reached.

Changelog

v1.0.0 (2025)

  • Initial release
  • Keyword search and direct URL input
  • Full place detail extraction
  • Visitor and blog review collection with date filtering