DEV Community

Session zero
Session zero

Posted on

How to Extract Korean Business Reviews from Naver Place (No API Key Needed)

If you've ever tried to research Korean businesses online, you've likely run into a wall. Google Reviews barely exist for Korean establishments. Yelp? Practically unused. TripAdvisor? Sparse.

The real gold is on Naver Place — Korea's dominant local search platform used by over 45 million Koreans monthly. Businesses on Naver Place accumulate thousands of authentic customer reviews. For anyone entering the Korean market, monitoring competitors, or conducting consumer sentiment analysis, this data is invaluable.

The problem? Naver has no public API for reviews. Until now.

The Problem: Why Korean Business Data is Hard to Get

Korea's Digital Ecosystem is Different

South Korea runs on its own internet. While the rest of the world uses Google, Yelp, and TripAdvisor, Koreans use:

  • Naver Place (네이버 플레이스) — for local business search and reviews
  • Kakao Map — secondary mapping/review platform
  • Naver Blog — for in-depth review posts

Naver Place alone holds review data for millions of Korean businesses: restaurants, cafes, beauty salons, medical clinics, retail stores, and more.

Why Standard Tools Fail

  1. No official API — Naver doesn't expose a public reviews API
  2. JavaScript-heavy rendering — Reviews load dynamically, breaking simple HTTP scrapers
  3. Anti-scraping measures — Naver actively detects and blocks naive scraping attempts
  4. Korean language complexity — Pagination, filtering, and data structures require Korean market knowledge

The result: most market researchers and data analysts simply skip Naver Place data, leaving a massive intelligence gap.

The Solution: Naver Place Reviews Scraper on Apify

The Naver Place Reviews Scraper is a cloud-based actor on Apify that handles all the complexity for you. No code required. No API key needed. Just provide business URLs or place IDs and get structured review data in minutes.

What You Get

For each review, the actor extracts:

{
  "businessName": "스타벅스 강남역점",
  "reviewText": "커피가 맛있고 직원분들이 친절해요...",
  "rating": 5,
  "visitDate": "2026-01",
  "reviewerName": "naver_user_***",
  "helpfulCount": 12,
  "visitType": "방문",
  "menuOrdered": "아메리카노",
  "reviewImages": ["https://..."],
  "businessCategory": "카페",
  "businessAddress": "서울 강남구 강남대로..."
}
Enter fullscreen mode Exit fullscreen mode

Key Features

  • No API key required — Works directly with Naver's internal GraphQL endpoints
  • Bulk scraping — Process hundreds of businesses in a single run
  • Pagination handled automatically — Extracts all reviews, not just the first page
  • Structured output — Clean JSON/CSV ready for analysis
  • Price: $0.50 per 1,000 items — extremely cost-effective
  • Cloud-based — No infrastructure needed

Step-by-Step: How to Use the Naver Place Reviews Scraper

Step 1: Get Your Apify Account

  1. Go to apify.com and create a free account
  2. Free tier includes $5/month credit — enough for ~10,000 reviews
  3. No credit card required for free tier

Step 2: Open the Actor

Navigate to:

👉 https://apify.com/oxygenated_quagmire/naver-place-reviews

Click "Try for free" to open the actor input console.

Step 3: Find Your Target Business URLs

There are two ways to input businesses:

Option A: Naver Place URLs

  1. Go to map.naver.com
  2. Search for the business (e.g., "스타벅스 강남역")
  3. Click on the business listing
  4. Copy the URL from your browser (e.g., https://map.naver.com/v5/entry/place/37234567)

Option B: Place IDs

  • The numeric ID in the URL (e.g., 37234567) can be used directly

Step 4: Configure the Actor

In the Apify console, you'll see the input form:

{
  "placeUrls": [
    "https://map.naver.com/v5/entry/place/37234567",
    "https://map.naver.com/v5/entry/place/12345678"
  ],
  "maxReviews": 100,
  "language": "ko"
}
Enter fullscreen mode Exit fullscreen mode

Key settings:

  • placeUrls: List of Naver Place URLs (one per line in the UI)
  • maxReviews: Maximum reviews per business (default: 100, set to 0 for all)
  • Leave other settings at defaults for most use cases

Step 5: Run and Download Results

  1. Click "Start" — the actor runs in the cloud
  2. Watch the Live Log to see progress
  3. When complete, go to "Results" tab
  4. Export as JSON or CSV

Typical run time: ~30 seconds for 100 reviews, ~5 minutes for 1,000 reviews.

Step 6: Analyze Your Data

Open the CSV in Excel, Google Sheets, or Python pandas:

import pandas as pd

df = pd.read_csv('naver_place_reviews.csv')

# Average rating by business
print(df.groupby('businessName')['rating'].mean())

# Recent reviews (last 3 months)
recent = df[df['visitDate'] >= '2025-12']

# Sentiment keywords
negative_reviews = df[df['rating'] <= 2]['reviewText']
Enter fullscreen mode Exit fullscreen mode

Real-World Use Cases

Use Case 1: Competitive Intelligence for Restaurant Chains

Scenario: A Japanese restaurant chain planning to expand into Seoul wants to understand what customers love (and hate) about competing Korean-Japanese fusion restaurants.

Approach:

  1. Identify top 10 competing restaurants in target neighborhoods via Naver Map search
  2. Extract all reviews (past 12 months) for each competitor
  3. Analyze common complaints vs. praised elements
  4. Use insights to differentiate menu, service, and pricing

Result: The chain identified that "portion size" and "waiting time" were the top complaints for competitors, allowing them to compete on those specific dimensions.

Data extracted: ~3,500 reviews across 10 restaurants, cost ~$1.75

Use Case 2: Brand Monitoring for International Companies

Scenario: A global cosmetics brand (MAC, L'Oréal, etc.) wants to monitor customer sentiment at their Korean retail locations in real-time.

Approach:

  1. List all Korean store locations (department store counters + standalone stores)
  2. Set up weekly automated runs via Apify Scheduler
  3. Track rating trends and flag negative reviews for customer service follow-up
  4. Compare performance across store locations

Result: Identified a specific store location with declining ratings (4.8 → 3.9 over 2 months) traced to a new store manager. Issue resolved within a week.

Automation cost: ~$0.50/week for 1,000 new reviews monitored

Use Case 3: Academic Research on Korean Consumer Behavior

Scenario: A business school researcher studying how Korean consumers discuss food quality, price sensitivity, and service expectations in restaurant reviews.

Approach:

  1. Randomly sample 50 restaurants across 5 Seoul districts
  2. Extract all reviews from 2023-2025 (~50,000 reviews total)
  3. Apply Korean NLP (KoNLPy or KoBERT) for sentiment analysis
  4. Cross-reference with socioeconomic district data

Result: Published findings showing significant regional variation in price sensitivity — affluent districts showed 40% higher tolerance for premium pricing when quality was mentioned.

Data cost: ~$25 for the full dataset

Why Not Just Copy-Paste from Naver Place?

You could manually copy reviews. Here's why that doesn't scale:

Manual Copy Naver Place Reviews Scraper
1 review/minute 100+ reviews/minute
One business at a time Hundreds simultaneously
No structure Clean JSON/CSV output
Your time: priceless $0.50/1K items
Error-prone Consistent, reproducible

For any analysis beyond a handful of reviews, automation is the only practical approach.

Technical Notes (For Developers)

The actor uses Naver's internal GraphQL API — the same endpoints the Naver Place mobile app uses. This approach is:

  • More stable than DOM scraping (API contracts change less often than HTML structure)
  • Faster than browser automation (no need to render JavaScript)
  • More complete — captures data fields not visible in the HTML

For integration into your data pipeline, Apify offers:

  • REST API: Trigger runs programmatically
  • Webhooks: Get notified when a run completes
  • Apify Client: Python and JavaScript SDKs available
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("oxygenated_quagmire/naver-place-reviews").call(
    run_input={"placeUrls": ["https://map.naver.com/v5/entry/place/37234567"]}
)
dataset = client.dataset(run["defaultDatasetId"]).list_items()
Enter fullscreen mode Exit fullscreen mode

Conclusion

Korea's digital market runs on Naver, and Naver Place reviews are the closest thing to a real-time pulse on Korean consumer sentiment. Whether you're:

  • Entering the Korean market and need competitive intelligence
  • Running Korean operations and want to monitor your reputation
  • Researching Korean consumers for academic or business purposes

...the Naver Place Reviews Scraper gives you clean, structured access to this data at a fraction of the cost of manual research.

Get Started

👉 Try the Naver Place Reviews Scraper: https://apify.com/oxygenated_quagmire/naver-place-reviews

Free Apify account includes $5/month credit — enough to extract ~10,000 reviews.

Questions or issues? Leave a comment on the actor page or reach out directly.


The author maintains the Naver Place Reviews Scraper as part of a Korean data infrastructure portfolio on Apify. All 12 actors are available at: https://apify.com/oxygenated_quagmire

Top comments (0)