Get Naver data with one API
The Naver Place API returns South Korean local-business data as clean JSON.
7 active endpoints. Every call is 1 credit.
- POST/naver/v1/place/search
- POST/naver/v1/place/search-all
- POST/naver/v1/place/detail
- POST/naver/v1/place/reviews
- POST/naver/v1/place/blog-reviews
- POST/naver/v1/place/resolve
- POST/naver/v1/search/autocomplete
What Naver endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Naver API
3 of 7 endpoints, ready to run
search restaurants & food places by query (richest food data).
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the Naver API works
Naver is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 185 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
What a Naver Place row contains, and which address is which
Korea runs two parallel address systems and Naver returns both on every place, which is the field pair most integrations mismatch. These are the fields measured on place/search-all rows for Korean business queries on 2026-08-26. Note what is not there: a search row carries review_count but no rating - the star rating lives on place/detail.
| Field | What it holds | Measured example |
|---|---|---|
| place_id | Naver's numeric place id, as a string; length varies, no prefix | "1943746521" and "33084820" were both live |
| road_address | doro-myeong address - the post-2011 official street-name system | 서울특별시 강남구 강남대로 388 |
| jibun_address | jibeon address - the legacy lot-number system, still used in records | 서울특별시 강남구 역삼동 825-13 |
| short_address | the abbreviated form Naver prints on a card | 서울 강남구 강남대로 388 |
| category / category_id | Korean category name plus its numeric id | 성형외과 with "223246"; 카페,디저트 for cafes |
| review_count | integer, the review count Naver shows for the place | 1408, 2055, 7791 |
| has_booking | boolean - whether the place takes Naver reservations | true / false |
| latitude / longitude | WGS84 decimal degrees, as numbers | 37.4974539 / 127.0284206 |
| distance_km | float, distance from Naver's own map center for the query | Hongdae cafes returned about 11 km on a Hongdae query |
There is no rating field on a search row, so a missing rating is not an unrated business. Also, limit does not raise the row count past 10: queries asking for 20, 30, 40 and 100 all returned exactly 10 places, with data.total also reporting 10.
What people build with Naver
The jobs this data is most often used for.
endpoints
credit per call
Local apps call place/search to list Korean businesses by area.
Reputation tools use place/reviews and place/blog-reviews to monitor sentiment.
Lead-gen uses place/search-all to build local business lists.
What Naver data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 185 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/naver/v1/place/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"강남 맛집","limit":5}'import requests
r = requests.post(
"https://api.reefapi.com/naver/v1/place/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "강남 맛집",
"limit": 5
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Naver.
Get a free key →Should I call place/search or place/search-all?▾
place/search-all, unless you specifically want restaurants. place/search is the food-oriented surface and carries the richest restaurant fields; place/search-all covers every business type - clinics, cafes, hotels, salons, shops - and is the one that returns place_id, category_id, both addresses and coordinates on a single row. A measured call for 강남 성형외과 (Gangnam plastic surgery) returned five clinics with full profiles.
Why do I get only 10 results when I set limit to 30?▾
Because Naver's place panel serves one page and the engine returns that page. Measured on 2026-08-26: limit 5 returned 5 places, but limit 20, 30, 40 and 100 all returned exactly 10, with data.total also reading 10, across three different queries. Treat 10 as the practical ceiling per query and narrow the query - by district, by neighborhood, by category word - instead of raising limit.
What is a Naver place_id and where else can I use it?▾
It is the numeric id in Naver's own place URLs (map.naver.com/p/entry/place/<id>, place.naver.com/restaurant/<id>), returned as a string. Length is not fixed: 33084820 (8 digits) and 1943746521 (10 digits) appeared in the same result set, so do not validate by length. If all you have is Korean text, place/resolve turns a query into one place_id - a measured call on 강남 맛집 returned "37927543".
Why are there two addresses on every place?▾
Korea moved from lot-number addressing (jibeon) to street-name addressing (doro-myeong) in 2011, and both remain in daily use, so Naver carries both. road_address is the official current form and the one to use for mail and geocoding; jibun_address is what older records, land registries and many locals still use. short_address is neither - it is the display abbreviation, with 서울특별시 shortened to 서울. All three describe the same building.
What are place_suggestions?▾
Naver's own related-query list for the search you ran, returned alongside the places as plain strings. A measured call for 강남 성형외과 returned ["강남역성형외과"], and one for 홍대 카페 returned nine, including 홍대 만화카페 and 홍대 고양이카페. Because the row ceiling is 10, these are the practical way to widen coverage: feed each suggestion back as a fresh query.
Do I have to search in Korean?▾
For places, in practice yes. The queries that returned data were Korean text - a business name, or an area plus a business word, like 강남 성형외과 or 홍대 카페 - because that is how the listings themselves are written. Names, categories and addresses all come back in Hangul with no romanized variants, so plan for UTF-8 end to end and for a transliteration step if your users read Latin script. search/autocomplete takes a partial term and returns Naver's own completions - 아이폰 returned 아이폰18, 아이폰17 and 아이폰17프로 - which is the cheapest way to learn the exact wording Korean users type.
What does a TARGET_BLOCKED response mean here?▾
It means Naver answered that attempt with a challenge instead of data, and it comes back with retryable set to true. It is a transient condition rather than a verdict on your parameters, so there is nothing to fix on your side beyond retrying later or spacing calls out. Handle it the way you would a 503: catch the code, back off, and never read the absence of data as "this place does not exist".
How does this engine handle a bad parameter?▾
limit is parsed strictly - a non-numeric limit returns PARSE_ERROR with retryable false rather than being ignored - while query is required and rejected when empty. There is no page parameter on any place action, so pagination is not the shape of this engine. You widen coverage by issuing more queries, not by walking pages.
What is the Naver API?▾
Naver API is a ReefAPI endpoint group for korean business listings, reviews and ratings. It returns live JSON through POST requests under /naver/v1.
Is the Naver API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Naver calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Naver login or account?▾
No login to Naver is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Naver data?▾
The page example is captured from a live place/search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Naver API use?▾
Naver actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Naver from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call naver actions with the same key, credit pool and JSON envelope used by normal REST requests.
14 Reputation & Reviews APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Naver, you are one call away from the rest of the category — no second contract, no second integration.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 184 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts.