# Naver Search API | Web, News, Image, Video, Shopping (Korea) (`johnvc/naver-search-api`) Actor

Scrape Naver, Korea's largest search engine, across web, news, image, video, and shopping results as structured JSON. Run many queries at once, pick the vertical, and paginate. Built for Korean market research, SEO, and AI agents. Pay per result, MCP-ready.

- **URL**: https://apify.com/johnvc/naver-search-api.md
- **Developed by:** [John](https://apify.com/johnvc) (community)
- **Categories:** SEO tools, Developer tools, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 한국어 안내 (Korean)

### 소개

한국 최대 검색 엔진 **네이버**를 검색하고, 웹·뉴스·이미지·동영상·쇼핑 등 다섯 가지 결과 유형을 깔끔한 JSON으로 받을 수 있습니다. 여러 검색어를 한 번에 실행하고, 검색 영역을 선택하고, 페이지네이션과 내보내기까지 지원합니다. 한국 시장 조사, K-콘텐츠 인텔리전스, 이커머스 가격 분석, SEO, AI 에이전트 연동에 적합합니다. **결과 건당 과금**이며 월 최소 요금은 없습니다.

네이버는 한국 검색 시장을 지배하며, Google과는 전혀 다른 결과 구조를 가집니다. 이 API는 HTML 파싱 대신 **정형화된 행(row) 데이터**로 결과를 제공하므로, 한국 웹·뉴스 흐름·상품 시장·동영상 생태계를 바로 분석할 수 있습니다.

### 제공 기능

`where` 입력값으로 검색 영역을 선택합니다. 통합 검색(`nexearch`)은 한 번의 호출로 여러 결과 블록을 반환하고, 단일 영역 검색은 해당 유형에 집중해 페이지네이션합니다.

| `where` 값 | 반환 내용 | 주요 필드 |
|---|---|---|
| `nexearch` (기본값) | 통합 검색: 광고 + 웹 + 쇼핑 + 뉴스 블록 | 혼합, `result_type`으로 구분 |
| `web` | 웹 자연 검색 결과 | title, link, snippet, source, displayed_link |
| `news` | 뉴스 결과 | title, link, snippet, news_info (언론사, 날짜) |
| `image` | 이미지 결과 | title, link, original, width, height, thumbnail |
| `video` | 동영상 결과 | title, link, channel, duration, views, publish_date |

모든 행에는 `result_type` (`web_organic`, `ad`, `shopping`, `news`, `image`, `video`), 원본 `query`, `where` 영역, `position`(순위)이 포함됩니다.

### 활용 사례

- 브랜드·인물·주제에 대한 한국 뉴스 흐름을 여러 검색어로 추적
- 네이버 쇼핑 가격·평점·리뷰 수를 수집해 경쟁 가격 분석
- K-뷰티, K-pop, K-콘텐츠 키워드를 웹·뉴스·동영상에서 모니터링
- 검색·NLP·AI 학습용 한국어 데이터셋 구축
- MCP 한 번의 호출로 AI 에이전트에 실시간 네이버 검색 결과 제공

### 입력

| 필드 | 타입 | 설명 |
|-------|------|------|
| `query` | string | 단일 검색어. 한국어 또는 다른 언어 가능 (예: `서울 맛집`). `query`, `queries` 중 하나 또는 둘 다 입력 |
| `queries` | string 배열 | 여러 검색어를 한 번에 실행. `query`와 병합 후 중복 제거 |
| `where` | string | 검색 영역: `nexearch`(통합, 기본값), `web`, `news`, `image`, `video` |
| `maxResultsPerQuery` | integer | 검색어당 결과 행 수. 기본 30, 최대 300 |

#### 입력 예시

```json
{
  "queries": ["서울 맛집", "부산 여행"],
  "where": "web",
  "maxResultsPerQuery": 30
}
````

### 출력 예시

```json
{
  "result_type": "web_organic",
  "query": "서울 맛집",
  "where": "web",
  "position": 1,
  "title": "서울 맛집 베스트 30",
  "link": "https://example.co.kr/seoul-restaurants",
  "snippet": "서울에서 꼭 가봐야 할 맛집을 정리했습니다 ...",
  "source": "example.co.kr",
  "displayed_link": "example.co.kr"
}
```

쇼핑 행에는 `price`, `rating`, `reviews`, `stores`가 추가됩니다. 동영상 행에는 `channel`, `duration`, `views`가, 이미지 행에는 `original`, `width`, `height`가 포함됩니다.

***

## Naver Search API | Web, News, Image, Video, Shopping (Korea)

Search Naver, South Korea's largest search engine, and get clean structured JSON across five result types: web organic, news, images, video, and shopping. Run many queries at once, pick the vertical, paginate, and export. Built for Korean market research, K-content intelligence, e-commerce pricing, SEO, and AI agents. Pay per result, with no monthly minimum.

Naver dominates search in Korea, and its results look nothing like Google's. This API gives you that data as structured rows instead of brittle HTML, so you can analyze the Korean web, news cycle, product market, and video landscape directly.

### What you get

Pick a vertical with the `where` input. The integrated view returns several result blocks in one call; the single-vertical views drill in and paginate.

| `where` value | Returns | Typical fields |
|---|---|---|
| `nexearch` (default) | Integrated page: ads + web + shopping + news blocks | mixed, tagged by `result_type` |
| `web` | Web organic results | title, link, snippet, source, displayed\_link |
| `news` | News results | title, link, snippet, news\_info (press, date) |
| `image` | Image results | title, link, original, width, height, thumbnail |
| `video` | Video results | title, link, channel, duration, views, publish\_date |

Every row carries a `result_type` (`web_organic`, `ad`, `shopping`, `news`, `image`, `video`), the `query` it came from, the `where` vertical, and a `position`.

### Use cases

- Track the Korean news cycle for a brand, person, or topic across many queries
- Pull Naver shopping prices, ratings, and review counts for competitive pricing
- Monitor K-beauty, K-pop, and K-content terms across web, news, and video
- Build Korean-language datasets for search, NLP, or AI training pipelines
- Give an AI agent live Naver results for the Korean market in one MCP call

### Input

| Field | Type | Description |
|-------|------|-------------|
| `query` | string | A single search query, in Korean or any language, e.g. `서울 맛집`. Provide this, `queries`, or both. |
| `queries` | array of strings | A batch of queries to run in one go. Merged with `query` and de-duplicated. |
| `where` | string | Vertical to search: `nexearch` (integrated, default), `web`, `news`, `image`, or `video`. |
| `maxResultsPerQuery` | integer | Result rows per query. Default 30, maximum 300. |

#### Example input

```json
{
  "queries": ["서울 맛집", "부산 여행"],
  "where": "web",
  "maxResultsPerQuery": 30
}
```

### Sample output

```json
{
  "result_type": "web_organic",
  "query": "서울 맛집",
  "where": "web",
  "position": 1,
  "title": "서울 맛집 베스트 30",
  "link": "https://example.co.kr/seoul-restaurants",
  "snippet": "서울에서 꼭 가봐야 할 맛집을 정리했습니다 ...",
  "source": "example.co.kr",
  "displayed_link": "example.co.kr"
}
```

A shopping row adds `price`, `rating`, `reviews`, and `stores`; a video row adds `channel`, `duration`, and `views`; an image row adds `original`, `width`, and `height`.

### Pricing

Pay-per-result: a small `actor_start` fee plus a per-result charge. The per-result price scales down with your Apify plan.

| Plan | Per result | Start fee |
|---|---|---|
| Free | $0.005 | $0.00005 |
| Bronze | $0.004 | $0.00005 |
| Silver | $0.0035 | $0.00005 |
| Gold | $0.003 | $0.00005 |

Beyond a negligible per-run start fee, you only pay for the result rows you receive. No monthly minimum.

### How to get started

1. Open [Naver Search API on the Apify Store](https://apify.com/johnvc/naver-search-api?fpr=9n7kx3).
2. Enter a `query` (or a `queries` list) and pick a `where` vertical.
3. Set `maxResultsPerQuery`, then run the Actor.
4. Export the dataset as JSON, CSV, or Excel, or pull it from the API.

Prefer code? See the [Naver Search API example repo](https://github.com/johnisanerd/Apify-Naver-Search-API) for a Python quick-start and MCP setup guides.

### Run from the API

```bash
curl -X POST "https://api.apify.com/v2/acts/johnvc~naver-search-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"서울 맛집","where":"web","maxResultsPerQuery":20}'
```

### 🔌 Use this API from AI agents (MCP)

This Actor works with the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/), an open standard that lets AI assistants call external tools. Instead of copying curl commands or pasting JSON into a chat, your agent can search Naver directly: pick a vertical (`web`, `news`, `image`, `video`, or integrated `nexearch`), run batch queries, and read structured rows back into the conversation.

**Why connect via MCP?**

- **Live Korean search data** - Agents get current Naver results (news, shopping prices, video metadata) without you writing API glue code.
- **Structured output** - Each row includes `result_type`, `query`, `position`, and vertical-specific fields, so the model can summarize, compare, or export without parsing HTML.
- **Pay per result** - Runs use your Apify account; you only pay for rows returned, same as running the Actor in the Console.
- **Works across clients** - One hosted Apify MCP server connects to Cursor, Claude, ChatGPT, and other MCP-capable tools.

#### Prerequisites

Before you connect any client:

1. **[Apify account](https://console.apify.com/sign-up?fpr=9n7kx3)** - Sign up if you do not have one.
2. **[Apify API token](https://console.apify.com/account/integrations)** - From **Settings → API & Integrations** in Apify Console. The hosted MCP server uses OAuth on first connect, or you can pass the token in an `Authorization` header (see [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp)).
3. **An MCP-capable client** - Cursor, Claude Desktop, Claude on the web, Claude Code, Claude Cowork, or ChatGPT (Developer Mode; plan details below).

#### Actor-specific MCP URL

Use this URL so the Apify MCP server loads Actor discovery, Apify docs search, and **this Naver Search API** as callable tools:

```
https://mcp.apify.com/?tools=actors,docs,johnvc/naver-search-api
```

You can also build the same URL in the [Apify MCP configurator](https://mcp.apify.com/) (select tools visually, then copy the config or one-click install for supported clients).

**Example prompt after setup:** *"Search Naver news for 삼성전자 and return the top 20 results with title, link, and press name."*

**Video walkthrough:** [Integrate Apify Actors with Claude via MCP](https://www.youtube.com/watch?v=jREWahDGhJM)

**Full reference:** [Apify MCP server documentation](https://docs.apify.com/platform/integrations/mcp)

#### MCP setup by client

The hosted server URL is the same everywhere: paste `https://mcp.apify.com/?tools=actors,docs,johnvc/naver-search-api` (or use OAuth with `https://mcp.apify.com` and add this Actor via tool selection). On first connect, your browser opens to sign in to Apify and authorize the connection.

Visual setup guides for each client (source and more assets: [ApifyPublicData on GitHub](https://github.com/johnisanerd/ApifyPublicData)):

##### Claude Cowork Desktop

Cowork runs multi-step agent tasks on your machine. Remote MCP connectors are tied to your Claude account; traffic to Apify goes through Anthropic’s infrastructure, not a local stdio process.

1. Open **Settings → Connectors** (or **Customize → Connectors**).
2. Click **Add custom connector** and paste the Actor-specific MCP URL above.
3. Complete OAuth when prompted (Apify sign-in).
4. In a Cowork task, ask for a Naver search; the agent can call the Naver Search API tool.

- **Install guide:** [Get started with custom connectors (remote MCP)](https://support.anthropic.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp)
- **Connectors page:** [claude.ai/customize/connectors](https://claude.ai/customize/connectors)
- **Try Cowork:** [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial)

![Install in Claude Cowork Desktop](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_claude_desktop.png)

##### Claude Code

Claude Code is Anthropic’s terminal-based coding agent. Add the Apify MCP server with the CLI or a project config file so coding sessions can pull Naver data while building scripts or dashboards.

**CLI (HTTP / recommended):**

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=actors,docs,johnvc/naver-search-api"
```

Then run `/mcp` inside a session to verify the server and list tools. Authenticate via OAuth when prompted.

**Project file:** Add the same URL under `mcpServers` in [`.mcp.json`](https://code.claude.com/docs/en/mcp) at your project root (share the server definition with your team; keep tokens in env or OAuth, not in git).

- **Install guide:** [Connect Claude Code to tools via MCP](https://code.claude.com/docs/en/mcp)
- **Try Claude Code:** [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial)

![Install in Claude Code](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_claude_code.png)

##### Claude (website - claude.ai)

On the web app, custom connectors use the same remote MCP flow as Cowork. Free plans can add one custom connector; Pro/Max/Team/Enterprise allow more (see Anthropic’s connector limits).

1. Go to **[Customize → Connectors](https://claude.ai/customize/connectors)**.
2. Click **+** → **Add custom connector**.
3. Paste the Actor-specific MCP URL and finish OAuth with Apify.
4. Start a chat and enable the connector for that conversation.

- **Install guide:** [Get started with custom connectors using remote MCP](https://support.anthropic.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp)
- **Local desktop alternative:** [Claude Desktop MCP / extensions](https://support.anthropic.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop) (search the connector directory for “Apify” or add the same remote URL under **Settings → Connectors**)

![Install in Claude website](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_claude_ai.png)

##### Cursor

Cursor’s agent can call MCP tools from Composer and Chat. Apify’s configurator offers a one-click **Add to Cursor** button; you can also edit JSON manually.

1. Open **Cursor Settings → MCP** (or create `.cursor/mcp.json` in your project, or `~/.cursor/mcp.json` globally).
2. Add the Apify server with the Actor-specific URL:

```json
{
  "mcpServers": {
    "apify-naver": {
      "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/naver-search-api"
    }
  }
}
```

3. Restart Cursor or reload the window. On first use, complete Apify OAuth in the browser.
4. In Agent mode, ask for a Naver search; confirm **apify-naver** tools appear under available MCP tools.

- **Install guide:** [Model Context Protocol (MCP) - Cursor Docs](https://cursor.com/docs/mcp)
- **Apify + Cursor details:** [Apify MCP - Cursor section](https://docs.apify.com/platform/integrations/mcp#cursor)

![Install in Cursor](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_cursor.png)

##### ChatGPT

ChatGPT connects to **remote HTTPS** MCP servers through **Developer Mode** (Apps / Connectors). Availability depends on your plan: Pro users can add custom connectors with read-oriented tools; full write-capable MCP is primarily for Business, Enterprise, and Edu workspaces ([OpenAI Help Center](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta/)).

1. **Settings → Apps & connectors → Advanced** - turn on **Developer Mode** (workspace admins may need to enable this for Business/Enterprise).
2. **Connectors → Create** - name the app (e.g. “Apify Naver”), paste the Actor-specific MCP URL, choose auth (OAuth is recommended for Apify).
3. Authorize when ChatGPT lists the tools, then prompt in a new chat with the app enabled.

If your MCP server is only on a private network, OpenAI’s [Secure MCP Tunnel](https://developers.openai.com/api/docs/guides/secure-mcp-tunnels) can expose it without a public URL.

![Install in ChatGPT](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_ChatGPT.png)

### FAQ

**What is `nexearch`?** It is Naver's integrated results page. One call returns several blocks at once (ads, web, shopping, news), each row tagged with its `result_type`. Use it for a broad snapshot; use `web`, `news`, `image`, or `video` to go deep on one type.

**Can I search in Korean?** Yes. Queries can be Korean or any language. Naver indexes the Korean web, so Korean queries return the richest results.

**How many results per query?** Set `maxResultsPerQuery` (default 30, maximum 300). The Actor paginates and stops early when a query runs out of results, so you only pay for what exists.

**Does it return shopping prices?** Yes. Shopping rows include `price`, `rating`, `reviews`, and `stores`. Shopping blocks appear in the integrated `nexearch` view for product-intent queries.

**Can I run many queries at once?** Yes. Pass a `queries` list; each is searched independently and tagged with its source query.

Last Updated: 2026.06.03

# Actor input Schema

## `query` (type: `string`):

Enter a single search query, in Korean or any language, for example '서울 맛집' (Seoul restaurants). Provide this, `queries`, or both.

## `queries` (type: `array`):

Provide a list of search queries to run in one batch. Merged with `query` and de-duplicated. Use this for bulk lookups.

## `where` (type: `string`):

Choose which Naver vertical to search. 'nexearch' is the integrated results page and returns multiple blocks at once (ads, web, shopping, news). 'web', 'news', 'image', and 'video' each return a single result type and paginate further.

## `maxResultsPerQuery` (type: `integer`):

How many result rows to return per query. The Actor paginates as needed, then stops early when a query runs out of results. Default 30, maximum 300.

## Actor input object example

```json
{
  "query": "서울 맛집",
  "where": "nexearch",
  "maxResultsPerQuery": 30
}
```

# Actor output Schema

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

All result rows stored in the default dataset, one item per result.

# 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 = {
    "query": "서울 맛집"
};

// Run the Actor and wait for it to finish
const run = await client.actor("johnvc/naver-search-api").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 = { "query": "서울 맛집" }

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

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

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

```

## CLI example

```bash
echo '{
  "query": "서울 맛집"
}' |
apify call johnvc/naver-search-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=johnvc/naver-search-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Naver Search API | Web, News, Image, Video, Shopping (Korea)",
        "description": "Scrape Naver, Korea's largest search engine, across web, news, image, video, and shopping results as structured JSON. Run many queries at once, pick the vertical, and paginate. Built for Korean market research, SEO, and AI agents. Pay per result, MCP-ready.",
        "version": "0.0",
        "x-build-id": "MuRKQ6kM9PGd1Hs1p"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/johnvc~naver-search-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-johnvc-naver-search-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/johnvc~naver-search-api/runs": {
            "post": {
                "operationId": "runs-sync-johnvc-naver-search-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/johnvc~naver-search-api/run-sync": {
            "post": {
                "operationId": "run-sync-johnvc-naver-search-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Enter a single search query, in Korean or any language, for example '서울 맛집' (Seoul restaurants). Provide this, `queries`, or both."
                    },
                    "queries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Provide a list of search queries to run in one batch. Merged with `query` and de-duplicated. Use this for bulk lookups.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "where": {
                        "title": "Vertical",
                        "enum": [
                            "nexearch",
                            "web",
                            "news",
                            "image",
                            "video"
                        ],
                        "type": "string",
                        "description": "Choose which Naver vertical to search. 'nexearch' is the integrated results page and returns multiple blocks at once (ads, web, shopping, news). 'web', 'news', 'image', and 'video' each return a single result type and paginate further.",
                        "default": "nexearch"
                    },
                    "maxResultsPerQuery": {
                        "title": "Maximum Results Per Query",
                        "minimum": 1,
                        "maximum": 300,
                        "type": "integer",
                        "description": "How many result rows to return per query. The Actor paginates as needed, then stops early when a query runs out of results. Default 30, maximum 300.",
                        "default": 30
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
