# Naver Search Scraper — SERP, News, Autocomplete \[💰 $0.01/kw] (`cocomoon/naver-search-scraper`) Actor

Scrape Naver Search (네이버 통합검색): the whole result page in Naver's order — Power Link ads, Place box, blog/cafe posts, web pages, videos, 지식 iN, shopping, news, clips, AI briefing — with section and position per result. Plus Naver News search with date filters and autocomplete suggestions.

- **URL**: https://apify.com/cocomoon/naver-search-scraper.md
- **Developed by:** [PARK MOONNAM](https://apify.com/cocomoon) (community)
- **Categories:** SEO tools, News, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 search requests

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Naver Search Scraper — SERP, News & Suggestions (네이버 통합검색)

Scrape **Naver Search (네이버 통합검색)**, the search engine that answers most questions in Korea. For any keyword you get the whole result page **section by section, in Naver's order** — the paid Power Link ads, the Place box, blog / cafe / influencer posts, web pages, YouTube videos, 지식iN answers, shopping products, news, clips and the AI briefing — plus **Naver News search** with date filters and the **autocomplete suggestions** Naver shows while typing.

No login, no browser, no Naver API key. Plain HTTP against Naver's own pages, so a result page takes about 2 seconds.

> 🇰🇷 한국어 안내는 [아래](#한국어-안내)에 있습니다.

### ⚡ Try it in 30 seconds (free)

1. Click **Try for free** — the input is pre-set to search `강남 피부과` (Gangnam dermatology).
2. Click **Start**. A few seconds later you have every result on the page: ads, places, posts, news… each with its section and position.
3. Open **Output** → **Export** as JSON, CSV or Excel, or send it to Google Sheets.

### Why this matters

Google has under 10% of Korean search. Naver decides what a Korean sees when they look for a clinic, a product or a brand — and its result page is not ten blue links: it is a stack of sections whose order changes per keyword (ads, places, posts, shopping, news…). If you do SEO, local marketing, brand monitoring or market research in Korea, you need to know **which sections appear, in what order, and who is in them**. This Actor gives you exactly that, as data.

### Modes

#### 1. Search results page (`mode: "search"`)

```json
{ "mode": "search", "keywords": ["강남 피부과", "비타민C 세럼 추천"], "includeAds": true, "includeSuggestions": true }
```

Default output is **one row per result** with `sectionIndex`, `sectionType`, `sectionTitle`, `positionInSection` and `overallPosition`, so you can filter "all blog posts for this keyword" or "who is in the Place box". Set `outputFormat: "pages"` for **one row per keyword** with the sections nested — handy for AI agents and for keeping the page as a whole.

Section types you will see: `ads` (Power Link), `place`, `post` (blog / cafe / influencer / 포스트), `web`, `video`, `kin` (지식iN), `shopping` (가격비교, 네이버플러스 스토어), `news`, `clip`, `brandContent`, `aiBriefing`, `images`, `shortContent`, `naverMate`.

#### 2. News search (`mode: "news"`)

```json
{ "mode": "news", "keywords": ["올리브영"], "newsSort": "recent", "startDate": "2026-10-01", "endDate": "2026-10-13", "maxItems": 200 }
```

One row per article: title, press, date, snippet, article URL, Naver News URL, thumbnail. Sorted by relevance, newest or oldest, with an optional date range, 10 articles per request.

#### 3. Autocomplete suggestions (`mode: "suggestions"`)

```json
{ "mode": "suggestions", "keywords": ["강남 피부과", "리쥬란"] }
```

The suggestions Naver shows under the search box — the cheapest keyword research there is.

### Output

#### Search rows

| Field | Description |
| --- | --- |
| `keyword` | The search |
| `sectionIndex`, `sectionType`, `sectionTitle` | Which section of the page (1 = top) and what Naver calls it |
| `positionInSection`, `overallPosition` | Rank inside the section and on the whole page |
| `platform` | `blog`, `cafe`, `influencer`, `kin`, `youtube`, `news`, `clip`, `shopping`, `place`, `ad`, `web`… |
| `title`, `url`, `snippet`, `date`, `thumbnail` | The result itself |
| `source`, `sourceUrl` | Blog name / cafe / channel / site domain / press, with its link |
| `naverNewsUrl` | For news: the article on Naver News, when it is there |
| `duration` | For videos |

Section-specific rows:

- **ads** — `title`, `description`, `displayUrl`, `url` (the click URL), `sitelinks`, `medicalReviewNo` (의료광고 심의번호, where shown)
- **place** — `name`, `placeId`, `url`, `isAd`, `status` (`진료 중`…), `statusDetail`, `distance`, `address`, `description`, `medicalReviewNo`
- **shopping** — `title`, `url`, `price`, `couponPrice`, `originalPrice`, `discountPercent`, `rating`, `reviewCount`, `purchases`, `likes`, `seller`, `isAd`, `delivery`
- **clip** — `title`, `url`, `source` (channel), `sourceUrl`, `date`, `views`, `thumbnail`
- **aiBriefing** — `text` and `sources`
- **suggestions** — one row per keyword with the `suggestions` array (when `includeSuggestions` is on)

#### News rows

`keyword`, `position`, `title`, `url`, `host`, `press`, `pressUrl`, `date`, `snippet`, `thumbnail`, `naverNewsUrl`, `isNaverNews`.

#### Suggestions rows

`keyword`, `suggestions`, `count`.

### 💰 Pricing

| | Price | Notes |
| --- | --- | --- |
| Search results page | **$0.01 per keyword** | The whole page — typically 60–100 results across 20–30 sections — plus the suggestions |
| News search | **$0.01 per request** | 10 articles per request → $1 per 1,000 articles |
| Autocomplete | **$0.002 per keyword** | |

Platform costs are included. Failed requests are free, and **Maximum cost per run** in the run options stops the Actor cleanly.

### Good to know

- **Results are what a logged-out desktop user in Korea sees.** No personalisation. The Place box uses Naver's default location, so distances are indicative — for location-specific place rankings use my [Naver Map Scraper](https://apify.com/cocomoon/naver-place-rank-tracker).
- **Sections vary by keyword.** A product keyword shows shopping first; a local keyword shows ads and places first; a how-to keyword shows an AI briefing. The `sectionIndex` tells you the order Naver chose.
- **One page per keyword.** Naver's integrated search has no page 2 for most sections; for deep lists use the dedicated tabs — blog (my [Naver Blog Scraper](https://apify.com/cocomoon/naver-blog-scraper)), news (this Actor's news mode), places (Naver Map Scraper).
- **Layouts change.** Naver updates its result page often. The parser works from Naver's design-system markup rather than fixed class names, and unknown blocks are returned as `other` with their links instead of being dropped. If a section looks wrong, open an issue — I fix fast.

### Use cases

- **Korean SEO** — which sections your keyword triggers, who ranks in each, how often ads and places push organic results down.
- **Rank tracking** — schedule daily runs and chart `overallPosition` of your blog, cafe or site per keyword.
- **Brand & reputation** — what Naver shows for your brand name: posts, news, 지식iN questions, shopping listings, competitor ads.
- **Ad intelligence** — every Power Link advertiser for a keyword with their copy and sitelinks, daily.
- **Keyword research** — autocomplete suggestions at scale; combine with news volume by date.
- **AI agents & RAG** — "what does Naver say about X" as clean JSON.

### 🤖 Use it from ChatGPT, Claude or any AI agent (MCP)

Add the Apify MCP server to Claude, Cursor, VS Code or any MCP client and the agent can call this Actor by itself:

```
https://mcp.apify.com?tools=cocomoon/naver-search-scraper
```

Then ask in plain language — *"Search Naver for 강남 피부과 and tell me which clinics are advertising and which blogs rank first."*

### 한국어 안내

**네이버 통합검색 스크레이퍼.** 로그인·브라우저 없이 검색 결과 페이지 전체를 JSON/CSV/엑셀로 받습니다.

- **통합검색(search)**: 키워드별 결과 페이지의 모든 영역을 네이버가 보여주는 순서 그대로 — 파워링크, 플레이스, 블로그·카페·인플루언서 글, 웹문서, 동영상, 지식iN, 가격비교·네이버플러스 스토어, 뉴스, 클립, AI 브리핑. 영역 순서(`sectionIndex`)와 영역 내 순위(`positionInSection`), 전체 순위(`overallPosition`)가 붙습니다. 자동완성 키워드도 같이.
- **뉴스(news)**: 정렬(관련도/최신/오래된순)·기간 지정, 요청당 10건, 원하는 개수까지.
- **자동완성(suggestions)**: 검색창 자동완성 키워드.
- **가격**: 통합검색 키워드 1개 $0.01(페이지 전체), 뉴스 요청 1건(10기사) $0.01, 자동완성 키워드 1개 $0.002. 실패 요청은 무료.
- 키워드별 노출 영역·순위 추적, 파워링크 광고주 모니터링, 브랜드 검색 결과 점검, 키워드 리서치에 쓰세요.

### More Korean data Actors by me

- [Naver Map Scraper](https://apify.com/cocomoon/naver-place-rank-tracker) — Naver Place search results, place details, visitor reviews and keyword rank tracking with geo-grid.
- [Naver Blog Scraper](https://apify.com/cocomoon/naver-blog-scraper) — Naver Blog keyword search (up to 1,000 posts, date filters), full post text and images, like/comment counts and blog profiles.
- [Olive Young Scraper](https://apify.com/cocomoon/oliveyoung-scraper) — K-beauty product search, official rankings and full ingredient lists.
- [Olive Young Reviews Scraper](https://apify.com/cocomoon/oliveyoung-review-scraper) — K-beauty customer reviews with skin type/tone/concern profiles.
- [Olive Young Global Scraper](https://apify.com/cocomoon/oliveyoung-global-scraper) — the international store in English: best sellers, USD prices, English ingredient lists.
- [Daiso Korea Scraper](https://apify.com/cocomoon/daiso-scraper) — Daiso products with real total units sold, prices and reviews.
- [Musinsa Scraper](https://apify.com/cocomoon/musinsa-scraper) — K-fashion search, official best-seller rankings and size-fit reviews.

### FAQ

**Do I need a Naver account or API key?** No. (Naver's official search API returns a few fields from single tabs and needs a developer key; this Actor returns the real integrated result page with section order, ads and places.)

**Is this the same as what I see on my phone?** It is the desktop result page. Section order on mobile is similar but not identical.

**Can I get page 2?** Integrated search is one page. Use the news mode for deep news lists, and the Naver Blog / Naver Map Actors for deep blog and place lists.

**Is this legal?** The Actor collects only publicly visible search results; no accounts or private data are accessed. You are responsible for using the data in compliance with applicable laws and the target site's terms.

**Found a problem or need another field?** Open an issue on the Issues tab — I respond quickly.

**⭐ Did it save you time?** A quick star rating on this page takes 5 seconds and helps other teams find a scraper that works for Korean sites.

***

*Keywords: Naver search scraper, Naver SERP scraper, 네이버 통합검색 스크레이퍼, 네이버 검색결과 크롤링, Naver search API, Naver news scraper, 네이버 뉴스 검색, Naver autocomplete, 네이버 자동완성, Korean SEO rank tracker, Naver Power Link ads*

# Actor input Schema

## `mode` (type: `string`):

<b>Search results page</b> — everything Naver shows for a keyword, section by section in Naver's order: Power Link ads, Place, posts (blog, cafe, influencer), web pages, videos, 지식iN, shopping, news, clips, AI briefing. <b>News search</b> — articles from Naver News search with sort and date range, paginated. <b>Autocomplete</b> — the suggestions Naver shows while typing a keyword.

## `keywords` (type: `array`):

One search per keyword, exactly as a user would type it, e.g. <code>강남 피부과</code>, <code>비타민C 세럼 추천</code>, <code>올리브영</code>.

## `outputFormat` (type: `string`):

Flat rows are easiest for spreadsheets and rank checks; nested pages keep the whole result page in one JSON object.

## `includeAds` (type: `boolean`):

Search mode: include the paid Power Link (파워링크) ads shown above the results, with advertiser, display URL and description.

## `includeSuggestions` (type: `boolean`):

Search mode: also fetch Naver's autocomplete suggestions for each keyword (one small extra request, not charged).

## `newsSort` (type: `string`):

News mode.

## `startDate` (type: `string`):

News mode: <code>YYYY-MM-DD</code>.

## `endDate` (type: `string`):

News mode: <code>YYYY-MM-DD</code>.

## `maxItems` (type: `integer`):

News mode: 10 articles per request.

## `maxConcurrency` (type: `integer`):

Parallel requests.

## `proxyConfiguration` (type: `object`):

Proxy used to reach Naver. The default Apify Proxy works.

## Actor input object example

```json
{
  "mode": "search",
  "keywords": [
    "강남 피부과"
  ],
  "outputFormat": "items",
  "includeAds": true,
  "includeSuggestions": true,
  "newsSort": "relevance",
  "maxItems": 100,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "강남 피부과"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("cocomoon/naver-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["강남 피부과"] }

# Run the Actor and wait for it to finish
run = client.actor("cocomoon/naver-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "강남 피부과"
  ]
}' |
apify call cocomoon/naver-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cocomoon/naver-search-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9bzOgIpr1zbJ3uf7u/builds/e7dNdC8up5hdehgqL/openapi.json
