Naver Map Places Scraper avatar

Naver Map Places Scraper

Pricing

from $0.60 / 1,000 place saveds

Go to Apify Store
Naver Map Places Scraper

Naver Map Places Scraper

Extract public Naver Map business listings with addresses, phones, websites, coordinates, categories, review counts, and place URLs.

Pricing

from $0.60 / 1,000 place saveds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract public Naver Map business listings for Korea-focused local SEO, lead generation, market research, and territory planning.

What does Naver Map Places Scraper do?

Naver Map Places Scraper turns Naver Map search results into structured dataset rows.

Use it to collect public place and business data from Korean local searches, including:

  • Business names
  • Categories
  • Addresses and road addresses
  • Phone numbers when available
  • Website links when available
  • Naver place URLs
  • Coordinates
  • Review counts
  • Business status hints
  • Image URLs and short descriptions when available

The actor is designed for search-result extraction, so each saved row represents one public Naver Map place returned for your query.

Who is it for?

This actor is useful for teams that need Korea-specific local business data.

  • Local SEO agencies prospecting Korean businesses
  • Sales teams building lead lists by city or district
  • Market researchers comparing neighborhoods or categories
  • Expansion teams checking local competition before opening a branch
  • Data teams enriching internal business directories
  • Agencies monitoring listings for clients on Naver Map

Why use this scraper?

Naver is a key local discovery platform in South Korea.

Manual research on Naver Map is slow when you need repeatable exports, comparisons, or scheduled monitoring.

This actor helps you:

  • Run repeatable local searches
  • Export results as JSON, CSV, Excel, or via API
  • Schedule recurring checks in Apify
  • Connect data to CRMs, spreadsheets, dashboards, and enrichment workflows
  • Keep one consistent output structure across many Korean search terms

How much does it cost to scrape Naver Map places?

The actor uses pay-per-event pricing.

  • A small start charge is applied once per run.
  • A per-place charge is applied only for saved dataset rows.
  • Smaller test runs are inexpensive because you can limit results per query.
  • You can control cost by lowering maxResultsPerQuery and using focused queries.

Start with 10 to 25 places per query, review the output, then scale up only after the data matches your workflow.

Input overview

Provide one or more Naver Map search terms.

The most important fields are:

  • queries — search terms such as 카페, 강남 맛집, 부산 호텔, or 서울 병원
  • location — optional city, district, or neighborhood appended to each query
  • maxResultsPerQuery — maximum number of places saved for each query
  • proxyConfiguration — optional Apify Proxy settings if your environment is challenged

Example input

{
"queries": ["카페", "강남 맛집"],
"location": "서울",
"maxResultsPerQuery": 25,
"includeDetails": true,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Search examples

Try focused searches first.

  • 카페 with location 서울
  • 강남 맛집
  • 부산 호텔
  • 홍대 미용실
  • 서울 병원
  • 제주 렌터카
  • 인천 치과
  • 대구 네일샵

Korean keywords usually provide the broadest coverage.

English keywords can work for some categories, but Korean search terms are recommended for local completeness.

Output data

Each dataset item is one Naver Map place.

The actor returns public fields exposed in search results. Some fields may be null because not every listing publishes the same information.

Data fields

FieldDescription
querySearch query used for the result
rankResult rank within the query
placeIdNaver place identifier
namePlace or business name
categoryPrimary category
categoriesCategory list when available
addressAddress text
roadAddressRoad address text
phonePublic phone number when available
websitePublic website when available
naverUrlNaver Map place URL
latitudeLatitude coordinate
longitudeLongitude coordinate
ratingRating value when available
reviewCountTotal review count when available
visitorReviewCountVisitor review count when available
blogReviewCountBlog review count when available
openingHoursOpening-hours/status text when available
businessStatusBusiness status text when available
tagsSearch-result badges, context labels, or review snippets
placeDescriptionShort description when available
imageUrlThumbnail image URL when available
menuInfoMenu summary when available
distanceMetersDistance value when available
scrapedAtISO timestamp for the scrape

Example output item

{
"query": "카페 서울",
"rank": 1,
"placeId": "2023348447",
"name": "Example Cafe",
"category": "카페,디저트",
"categories": ["카페,디저트"],
"address": "서울 중구 예시동 1",
"roadAddress": "서울 중구 예시로 1",
"phone": "0507-0000-0000",
"website": "https://example.com",
"naverUrl": "https://map.naver.com/p/entry/place/2023348447",
"latitude": 37.5674,
"longitude": 126.979,
"rating": null,
"reviewCount": 717,
"visitorReviewCount": 650,
"blogReviewCount": 67,
"openingHours": "영업 중",
"businessStatus": "영업 중",
"tags": ["분위기 좋은", "디저트"],
"placeDescription": "Public description text when available",
"imageUrl": "https://example.com/image.jpg",
"menuInfo": "Americano, Latte",
"distanceMeters": 320,
"scrapedAt": "2026-07-05T00:00:00.000Z"
}

How to run on Apify

  1. Open Naver Map Places Scraper on Apify.
  2. Enter one or more search terms in queries.
  3. Add a location hint if you want district-level results.
  4. Set maxResultsPerQuery to a small value for the first run.
  5. Start the actor.
  6. Review the dataset sample.
  7. Export results or connect them to your downstream workflow.

Tips for better results

  • Use Korean keywords for better local coverage.
  • Add district names for more precise intent.
  • Prefer several focused searches over one broad search.
  • Keep first runs small while checking output quality.
  • Search by business type plus area, such as 치과 강남 or 호텔 부산.
  • Review null fields before assuming a listing has no data; Naver may simply not expose that field in search results.

Limits

The actor currently saves up to 70 visible places per query.

Very broad terms may have more total results on Naver Map, but this limit keeps runs predictable and affordable.

If you need wider coverage, run multiple focused searches by district, neighborhood, or category.

Proxy settings

Start without proxy for the lowest cost.

If Naver returns an anti-bot challenge from your environment, enable Apify Proxy and keep test inputs small.

Recommended workflow:

  • First run: proxy disabled, 10 results per query
  • If challenged: enable Apify Proxy
  • If scaling: increase result limits gradually after confirming output quality

Integrations

Naver Map Places Scraper works well with common Apify integrations.

  • Export CSV files for sales teams.
  • Send rows to Google Sheets for manual review.
  • Trigger webhooks when a run finishes.
  • Sync results to a CRM as local-business leads.
  • Feed coordinates into BI dashboards or map visualizations.
  • Schedule recurring searches for local SEO monitoring.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/naver-map-places-scraper').call({
queries: ['카페'],
location: '서울',
maxResultsPerQuery: 10,
includeDetails: true,
proxyConfiguration: { useApifyProxy: false },
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/naver-map-places-scraper').call(run_input={
'queries': ['카페'],
'location': '서울',
'maxResultsPerQuery': 10,
'includeDetails': True,
'proxyConfiguration': {'useApifyProxy': False},
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~naver-map-places-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"queries": ["카페"],
"location": "서울",
"maxResultsPerQuery": 10,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}'

After the run finishes, fetch the default dataset from the run detail response.

MCP usage

Use Apify MCP to call this actor from Claude tools.

Claude Code setup:

$claude mcp add apify --url "https://mcp.apify.com/?tools=fetch_cat/naver-map-places-scraper"

Claude Desktop JSON example:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=fetch_cat/naver-map-places-scraper"
}
}
}

Example prompts:

  • Find 25 cafes near Seoul City Hall and return names, phones, websites, and review counts.
  • Compare Naver Map restaurants in Gangnam and Hongdae for local SEO outreach.
  • Build a lead list of dental clinics in Busan with phone numbers and Naver URLs.

Scheduling workflows

You can schedule this actor in Apify for recurring local monitoring.

Useful schedules include:

  • Weekly restaurant competitor checks by district
  • Monthly agency prospecting refreshes
  • Daily monitoring for a small set of client keywords
  • Quarterly market scans before expansion planning

Keep scheduled runs focused so they stay affordable and easy to review.

Quality checklist before scaling

Before running larger batches, check a small output sample.

Confirm that:

  • Names and categories look relevant
  • Addresses match the intended city or district
  • Naver URLs open the expected listings
  • Phone and website fields are present where you need them
  • Duplicate queries are not producing unnecessary overlap
  • Result limits match your budget

Legality and responsible use

This actor extracts public business listing information.

You are responsible for using the data lawfully and respectfully.

Do not use results for spam, harassment, unlawful profiling, or prohibited targeting.

Respect applicable laws, Naver terms, privacy obligations, and recipients' communication preferences.

Troubleshooting

No results?

  • Try a Korean keyword.
  • Add a clearer location.
  • Lower the result limit and test a simpler query.

Anti-bot challenge?

  • Reduce run size.
  • Enable Apify Proxy.
  • Retry with more focused Korean search terms.

Missing website or phone?

  • Some Naver Map listings do not publish those fields.
  • Use naverUrl to inspect the listing manually when a field is critical.

Unexpected location?

  • Add a district or neighborhood to the location field.
  • Put the location directly in the query, such as 강남 카페.

FAQ

Can it scrape reviews?

The actor returns review counts and related result metadata. It does not return full review text in the current version.

Can it scrape all of Korea at once?

Use multiple targeted queries by city, district, or category. One broad query is usually less useful than several focused searches.

Does it require login?

No. The actor is designed for public Naver Map search results.

Why are some fields null?

Naver Map listings do not all expose the same fields in search results. Null means the field was not available for that result.

Can I use English search terms?

Yes, but Korean terms are recommended for broader local coverage.

Use this actor with other fetch_cat Apify actors for broader business-data workflows.

Related workflow ideas:

  • Combine map data with search-result monitoring.
  • Enrich local leads with website or contact checks.
  • Compare Naver Map coverage against other public local directories.
  • Schedule multiple local scrapers and merge exports in a warehouse.

Support

If a run does not return the data you expected, include the input JSON, run ID, and a short description of the target location or category when requesting help.

Small reproducible examples are the fastest way to diagnose query, location, or anti-bot issues.