ActorStack.dev

Naver says 638 dentists, serves 300, and 162 are in the right district

Naver silently pads its search results with businesses from neighbouring areas. Measured across ten queries — and it is the difference between a local dataset and a regional blur.

By Oswaldo Carabano8 min read

Short answer

Naver Place pads its search responses with businesses located outside the area you asked for — silently, with HTTP 200 and no marker in the response. Measured on 역삼동 치과, Naver reports 638 matches, serves 300, and only 162 are actually in 역삼동. On 율현동 치과 it reports 52, serves 52, and 2 are in the area. Any tool that passes that through returns a dataset whose geography is wrong while looking complete.

Key points

  • The padding is unmarked: HTTP 200, no flag, no separate section. Nothing in the response says a result is from a different district.
  • Measured on 역삼동 치과: 638 reported, 300 served, 162 in-area — 138 dropped as padding.
  • Measured on 율현동 치과: 52 reported, 52 served, 2 in-area. A small district's results are almost entirely padding.
  • Naver's reported match count is therefore not an inventory figure, and quoting it as one overstates a local market by a factor of several.
  • The Actor filters on the address and reports the dropped count in the run log, so the number you got is the number you can defend.
On this page7 sections

Ask Naver for dentists in 역삼동. It reports 638 matches. It serves 300 results. One hundred and sixty-two of them are in 역삼동. The rest are neighbouring areas, and nothing in the response says so.

The finding

Naver Place pads its search responses with businesses located outside the area requested. The padding arrives with HTTP 200, no flag, no separate section — it is indistinguishable from a real result unless you check the address yourself.

QueryReportedServedIn area
역삼동 치과638300162
율현동 치과52522

How it was measured

Ten queries, across districts of different sizes. For each one: what Naver reported as the match count, how many results it actually served, and how many of those carried an address inside the requested area. The last number is the only one that describes the district.

Small districts are almost all padding

This is the part that should change how you plan a run. In 역삼동 — a dense commercial district — 54% of served results were local. In 율현동, a small residential one, 2 of 52 were. Naver served a full page because it had a page to fill, and 96% of it was elsewhere.

So the padding ratio is not a constant you can correct for. It is a function of how much inventory the district actually has, which is the thing you were trying to measure.

Why Naver does it

Because for its actual user it is the right behaviour. Somebody looking for a dentist in a small neighbourhood wants the one two stops away rather than an empty page, and Naver is a consumer product, not a data API.

The same logic produces Nextdoor's distance-ordered directory, which serves the requested city and then keeps going. In both cases the behaviour is defensible and the silence about it is the problem.

What it does to a dataset

Three failures, in increasing order of how long they go unnoticed:

  1. Wrong geography. “Dentists in 역삼동” that is 46% not in 역삼동.
  2. Inflated market size. Quote the reported 638 and you have overstated a district's dentist count by a factor of four.
  3. Double counting. Sweep ten adjacent districts and the same businesses appear in several result sets, so a naive union over-counts the region while under-covering it.

The filter, and what it reports

The Actor compares each business's own address against the requested region and drops the rest — which is why the region has to be named in the input. Then it says what it did:

run log
"역삼동": 162 of 300 results are actually located in this area.
138 were padding from neighbouring areas and were dropped.
Naver reports 638 matches for this query, but that count includes
out-of-area padding and is not an inventory figure.

Dropped rows are not charged, because they were never delivered. The reason the count is printed rather than silently applied is that how much was padding is itself the interesting number: it tells you whether the district is dense or nearly empty.

Working with the corrected numbers

  • Report the in-area count, never Naver's match count, and say which you used.
  • Treat a high padding ratio as a finding. 96% padding means that district has almost no supply in that category — which is a market gap, stated in data.
  • Deduplicate by place_id when sweeping adjacent districts, since the same business legitimately appears in several searches.
  • If a query returns 300 in-area results, split it. You hit the ceiling, not the end of the market.

Frequently asked questions

Why does Naver return businesses outside the district I searched?
It pads the result set with nearby businesses to fill the page, which is reasonable behaviour for a human looking for a dentist and destructive for a dataset. The response carries no marker distinguishing them, so a scraper has to check the address itself.
Can I trust Naver's result count?
Not as an inventory figure. On 역삼동 치과 it reports 638 while only 162 of the 300 it serves are in the area. The count includes padding, so using it to size a local market overstates it substantially.
How does the Actor know a business is out of area?
It compares the business's own address against the region requested. That is why the region has to be named in the input: without it there is nothing to filter against.
How many results does a query actually yield?
Up to 300 served, of which the in-area share varies enormously — 54% on one measured query, 4% on another. The run log reports both numbers so you never have to assume.

Sources

Every URL below was requested and returned a page on the date shown.

  1. Operator claimchecked 19 Aug 2026
    Naver Place Business & Reviews Scraper — Actor README and input schemaActorStack / Apify Store
  2. Site declarationchecked 19 Aug 2026
    map.naver.com/robots.txtNaver
The front of a Korean restaurant, its name in Hangul above the entrance.
Naver PlaceExplainer

Virtual phone numbers

Naver puts a relay number in front of many businesses' real lines. Between 37% and 87% of them, depending on vertical, publish only that — and a dataset that does not flag it is a call list into a redirect.

6 min
A narrow Seoul street at night, lit by shopfront signage on both sides.
Naver PlaceGuide

Scrape Naver Place

Google Maps coverage in Korea is thin; Naver Place is where the data is. A walkthrough of querying it, and of the padding you have to remove before the results mean anything.

9 min
A Seoul street lined with restaurants, their Korean signs stacked up the building fronts.
Naver PlaceExplainer

Reviews without identities

Every Naver review carries a nickname, a stable account id and a link to the reviewer's entire history. None of it is returned, and a test fails the build if it ever is.

7 min