# Naver API (Korea) — Naver Place & Map scraper: search Korean businesses (all categories) with full profiles, ratings, visitor & blog reviews, plus Naver search autocomplete

> search restaurants & food places by query (richest food data)
> ReefAPI engine `naver` · 7 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/naver/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed or blocked calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /naver/v1/place/search — 1 credit
search restaurants & food places by query (richest food data)

**Parameters:**
- `query` (string, required) — Korean search text (e.g. a business name or 'area + cuisine'). Used to find places, or to resolve a place_id when one isn't given.
- `limit` (integer, optional, default 10) — Maximum number of places to return.

**Returns:** places[]{name,address,rating,review_count,...}, total, query

**Example request body:**
```json
{
  "query": "강남 맛집",
  "limit": 5
}
```

### POST /naver/v1/place/search-all — 1 credit
search ANY business type on Naver Place/Map (clinics, cafes, hotels, salons, shops…)

**Parameters:**
- `query` (string, required) — Korean search text for ANY business type — clinic, cafe, hotel, salon, shop, hospital, etc. (e.g. '강남 성형외과' = Gangnam plastic surgery).
- `limit` (integer, optional, default 10) — Maximum number of places to return (1-30).

**Returns:** places[]{place_id,name,category,road_address,jibun_address,review_count,has_booking,latitude,longitude}, place_suggestions[], total, query

**Example request body:**
```json
{
  "query": "강남 성형외과",
  "limit": 5
}
```

### POST /naver/v1/place/detail — 1 credit
full place profile (rating, phone, hours, images)

**Parameters:**
- `place_id` (string, required) — Naver Place numeric id (from place/search results or place/resolve).
- `query` (string, optional) — Korean search text (e.g. a business name or 'area + cuisine'). Used to find places, or to resolve a place_id when one isn't given.

**Returns:** place{} — name, category, rating, review_count, phone, hours, address, images

**Example request body:**
```json
{
  "place_id": "18485191"
}
```

### POST /naver/v1/place/reviews — 1 credit
visitor reviews (paginated)

**Parameters:**
- `place_id` (string, required) — Naver Place numeric id (from place/search results or place/resolve).
- `limit` (integer, optional, default 50) — Maximum reviews to collect (capped by Naver).
- `page_size` (integer, optional, default 20) — Reviews fetched per page (1-50). Tuning knob; does not change totals.
- `sort` (enum, optional, default "recent") — Visitor-review ordering (Naver reviewSort). The engine also unions across sorts internally to maximize coverage. [one of: recent, RECENT, RECOMMEND, RATING]
- `query` (string, optional) — Korean search text (e.g. a business name or 'area + cuisine'). Used to find places, or to resolve a place_id when one isn't given.

**Returns:** place_id, place_name, reviews[]{rating,body,visited,created,author}, count, total_reported, capped

**Example request body:**
```json
{
  "place_id": "18485191"
}
```

### POST /naver/v1/place/blog-reviews — 1 credit
blog reviews

**Parameters:**
- `place_id` (string, required) — Naver Place numeric id (from place/search results or place/resolve).
- `limit` (integer, optional, default 50) — Maximum blog reviews to collect.
- `page_size` (integer, optional, default 20) — Reviews fetched per page (1-50). Tuning knob; does not change totals.
- `query` (string, optional) — Korean search text (e.g. a business name or 'area + cuisine'). Used to find places, or to resolve a place_id when one isn't given.

**Returns:** place_id, reviews[] (blog posts: title, url, snippet, date), count

**Example request body:**
```json
{
  "place_id": "18485191"
}
```

### POST /naver/v1/place/resolve — 1 credit
resolve a query → place_id (works for food AND any other business)

**Parameters:**
- `query` (string, required) — Korean search text (e.g. a business name or 'area + cuisine'). Used to find places, or to resolve a place_id when one isn't given.
- `place_id` (string, optional) — Naver Place numeric id (from place/search results or place/resolve).

**Returns:** place_id — the resolved Naver Place id for the query

**Example request body:**
```json
{
  "query": "강남 맛집"
}
```

### POST /naver/v1/search/autocomplete — 1 credit
Naver search-box keyword suggestions for a partial term (keyword research)

**Parameters:**
- `query` (string, required) — Partial Korean (or English) search term to autocomplete (e.g. '아이폰' → '아이폰17', '아이폰18'…).
- `limit` (integer, optional, default 10) — Maximum number of suggestions to return (1-30).

**Returns:** query, suggestions[]{suggestion}, count

**Example request body:**
```json
{
  "query": "아이폰",
  "limit": 5
}
```

## More
- Try it live, no code: https://reefapi.com/playground?engine=naver
- Human docs page: https://reefapi.com/docs/naver
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
