# Naver Blog Scraper — Search, Posts & Blogs \[💰 $4/1K] (`cocomoon/naver-blog-scraper`) Actor

Scrape Naver Blog (네이버 블로그): keyword search with up to 1,000 posts per query and date filters, full post text with images and hashtags, like and comment counts, every post of a blog, and blog profiles with subscriber and visitor counts. No login, no browser, no API key.

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

## Pricing

from $4.00 / 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.

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 Blog Scraper — Search, Posts & Blogs (네이버 블로그)

Scrape **Naver Blog (네이버 블로그)**, Korea's largest blogging platform and the place where Koreans write reviews of restaurants, clinics, products, trips and everything else. Four jobs in one Actor:

- 🔍 **Search** — posts matching a keyword: title, snippet, blog, author, publish date, thumbnails. Up to 1,000 posts per keyword, by relevance or newest first, with a date range.
- 📰 **All posts of a blog** — every post a blog has published, newest first, with like and comment counts, category and read count.
- 📄 **Full post content** — the complete text, every image, hashtags, outbound links, likes and comments of any post.
- 👤 **Blog profile** — blog name, nickname, subscribers, total and today's visitors, Naver badges (power blog, official), latest post and recent engagement.

No login, no browser, no Naver API key. Plain HTTP against Naver's own endpoints, so a 1,000-post search takes about a minute.

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

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

1. Click **Try for free** — the input is pre-set to search `강남 피부과 후기` (Gangnam dermatology reviews).
2. Click **Start**. About 10 seconds later you have the 100 most relevant posts.
3. Open **Output** → **Export** as JSON, CSV or Excel, or send it to Google Sheets.

Apify's free plan includes $5 of credit every month — about 1,600 posts with this Actor, no card required.

### Why Naver Blog

Google is not where Koreans search. When a Korean looks for a clinic, a café, a product or a hotel, the answer is usually a Naver Blog post — a personal, long-form review with 20 photos. Brands pay bloggers to write them, agencies track them, and researchers mine them. If you need to know what Koreans say about something, this is the corpus.

### Modes

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

```json
{
    "mode": "search",
    "keywords": ["강남 피부과 후기", "리쥬란 후기"],
    "sortBy": "recent",
    "startDate": "2026-09-01",
    "endDate": "2026-09-30",
    "maxPosts": 500
}
```

Naver returns at most 1,000 posts per search. For more, split the period into date windows (one search each) — a month of `강남 피부과 후기` is a few thousand posts.

Add `"includeContent": true` to open every post and attach the full text, images, hashtags, links, like and comment counts.

#### 2. All posts of a blog (`mode: "blogPosts"`)

```json
{ "mode": "blogPosts", "blogIds": ["https://blog.naver.com/yolo_o3o"], "maxPosts": 300, "includeContent": false }
```

#### 3. Specific posts (`mode: "posts"`)

```json
{ "mode": "posts", "postUrls": ["https://blog.naver.com/yolo_o3o/224422626315"] }
```

#### 4. Blog profile (`mode: "blog"`)

```json
{ "mode": "blog", "blogIds": ["yolo_o3o", "https://blog.naver.com/cocomoon"] }
```

### Output

#### Search rows

| Field | Description |
| --- | --- |
| `keyword`, `position`, `totalResults` | The search, the post's position in it, Naver's result count (capped at 1,000) |
| `blogId`, `logNo`, `postUrl`, `blogUrl` | Post and blog identifiers and links |
| `title`, `snippet` | Title and Naver's text excerpt (search highlighting removed) |
| `blogName`, `nickname`, `profileImageUrl` | Who wrote it |
| `publishedAt` | ISO date |
| `thumbnails`, `hasThumbnail`, `hasVideo` | Up to three preview images |
| `isSelfPurchased`, `isMarketPost`, `product` | Naver's 내돈내산 ("bought with my own money") badge, market (shop) posts, attached product |

#### Blog posts rows

`blogId`, `position`, `logNo`, `postUrl`, `title`, `snippet`, `category`, `publishedAt`, **`likeCount`**, **`commentCount`**, `shareCount`, `readCount`, `thumbnails`, `thumbnailCount`, `hasVideo`, `placeName` (attached Naver Place), `isSelfPurchased`, `isMarketPost`, `product`.

#### Full content (posts mode, or `includeContent`)

| Field | Description |
| --- | --- |
| `text`, `textLength` | The full post text with line breaks, zero-width characters removed |
| `images`, `imageCount`, `videos` | Every image in original size, embedded videos |
| `hashtags`, `links` | Hashtags in the post and outbound links |
| `likeCount`, `commentCount` | Engagement |
| `publishedAt`, `categoryNo`, `placeName`, `editorVersion` | Metadata |
| `ogDescription`, `ogImage` | Naver's share preview |

#### Blog profile

`blogId`, `blogUrl`, `blogName`, `nickname`, `subscriberCount`, `totalVisitorCount`, `todayVisitorCount`, `directory` (Naver's category for the blog), `isPowerBlog`, `isOfficialBlog`, `isSuggestionBlog`, `isNaverMateBlog`, `profileImageUrl`, `titleImageUrl`, plus `postCount`, `latestPostAt`, `latestPostTitle`, `recentPostLikes` and `recentPostComments` (average of the 30 newest posts).

### 💰 Pricing: $4 per 1,000 posts

You pay **$0.004 per result** — a search hit, a blog post, a full-content post or a blog profile — platform costs included. Full content costs the same per post as a search hit. Failed requests are free, and **Maximum cost per run** in the run options stops the Actor cleanly.

| Run | Results | Cost |
| --- | --- | --- |
| 1 keyword, 100 posts | 100 | $0.40 |
| 10 keywords × 1,000 posts | 10,000 | $40 |
| A blog's 300 posts with full text | 300 | $1.20 |
| 50 blog profiles | 50 | $0.20 |

### Use cases

- **Brand & reputation monitoring** — every post mentioning your clinic, product or brand, daily, with 내돈내산 (self-purchased) posts flagged.
- **Influencer research** — bloggers who write about a topic, with subscribers, visitors and engagement per post.
- **Market research & NLP** — thousands of Korean long-form reviews with full text and images for sentiment analysis, RAG or model training.
- **Competitor tracking** — what reviewers say about the clinic or café next door, and how much of it is self-purchased.
- **Content research** — top posts for a keyword, their structure, hashtags and images.

### 🤖 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-blog-scraper
```

Then ask in plain language — *"Find the 50 newest Naver Blog posts about 리쥬란 and summarise what people liked and disliked."*

### Good to know

- **1,000 per search.** Naver's search shows at most 1,000 posts for a keyword. Use `startDate` / `endDate` windows to go deeper.
- **Private and deleted posts** come back with `contentError` in content mode and are skipped in posts mode.
- **Like counts** come from Naver's reaction service; a few posts have likes hidden and return `null`.
- **Comments** are counted, not collected — Naver's comment widget is restricted. Tell me if you need them.
- Results are what Naver shows to a logged-out mobile visitor in Korea.

### Scheduling

Create a task with your keywords, set `sortBy: "recent"` and a small `maxPosts`, and add an Apify **Schedule** (daily or hourly). Each run adds new rows — deduplicate by `postUrl` and you have a live feed of new posts about your topic.

### 한국어 안내

**네이버 블로그 스크레이퍼.** 로그인·브라우저 없이 네이버 블로그 데이터를 JSON/CSV/엑셀로 받습니다.

- **검색(search)**: 키워드별 최대 1,000개 글 — 제목, 요약, 블로그명, 작성자, 작성일, 썸네일, 내돈내산·마켓 글 표시. 정확도순/최신순, 기간 지정 가능. `includeContent`를 켜면 본문·이미지·해시태그·좋아요·댓글 수까지.
- **블로그 전체 글(blogPosts)**: 특정 블로그의 모든 글을 최신순으로 — 좋아요·댓글·조회수·카테고리 포함.
- **특정 글(posts)**: 글 URL로 본문 전체, 모든 이미지(원본 크기), 해시태그, 외부 링크, 좋아요·댓글 수.
- **블로그 정보(blog)**: 블로그명, 닉네임, 이웃(구독자) 수, 누적·오늘 방문자, 파워블로그·공식 블로그 여부, 최근 글과 평균 반응.
- **가격**: 결과 1건당 $0.004(1,000건 $4). 본문 포함도 같은 가격, 실패 요청은 무료.
- 브랜드·병원·제품 언급 모니터링, 체험단·인플루언서 조사, 리뷰 텍스트 분석에 쓰세요.

### More Korean data Actors by me

- [Naver Search Scraper](https://apify.com/cocomoon/naver-search-scraper) — the whole Naver search result page section by section (ads, places, posts, news, shopping…), Naver News search and autocomplete suggestions.
- [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.
- [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 only titles and snippets and requires a developer key; this Actor returns full content and engagement without one.)

**Where do I find a blog ID?** It is the part after `blog.naver.com/` in any blog or post URL — `https://blog.naver.com/yolo_o3o/224422626315` is blog `yolo_o3o`, post `224422626315`. You can paste the whole URL.

**Can I search Naver Cafe too?** Not in this version — tell me if you need it.

**Is this legal?** The Actor collects only publicly visible posts and public blog statistics; 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, including the bloggers' copyright in their posts.

**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 Blog scraper, 네이버 블로그 스크레이퍼, 네이버 블로그 크롤링, Naver blog search API, Naver blog post content, Korean blog reviews, Korean review data, Naver blog monitoring, 블로그 검색 수집, 체험단 모니터링*

# Actor input Schema

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

<b>Search</b> — posts matching keywords (up to 1,000 per keyword, newest or most relevant, optional date range). <b>Blog posts</b> — every post of given blogs, newest first, with like and comment counts. <b>Posts</b> — full content of specific post URLs. <b>Blog profile</b> — blog name, subscribers, total and today's visitors, badges, latest post.

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

Search mode. One search per keyword, e.g. <code>강남 피부과 후기</code>, <code>제주 카페</code>, <code>에어프라이어 추천</code>.

## `sortBy` (type: `string`):

Search mode: Naver's relevance order, or newest first.

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

Search mode: only posts published on or after this date, <code>YYYY-MM-DD</code>. Naver returns at most 1,000 posts per search — split long periods into date windows to collect more.

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

Search mode: only posts published on or before this date, <code>YYYY-MM-DD</code>.

## `maxPosts` (type: `integer`):

Search mode: per keyword (up to 1,000). Blog posts mode: per blog.

## `includeContent` (type: `boolean`):

Search and blog-posts modes: also open every post and add the full text, all images, hashtags, outbound links, like and comment counts. Two extra requests per post; billed the same per post.

## `blogIds` (type: `array`):

Blog posts and blog profile modes. Blog IDs or URLs — <code>yolo_o3o</code>, <code>https://blog.naver.com/yolo_o3o</code>, <code>https://m.blog.naver.com/yolo_o3o</code>.

## `postUrls` (type: `array`):

Posts mode. Post URLs like <code>https://blog.naver.com/yolo_o3o/224422626315</code> or <code>https://m.blog.naver.com/PostView.naver?blogId=yolo_o3o\&logNo=224422626315</code>.

## `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": [
    "강남 피부과 후기"
  ],
  "sortBy": "relevance",
  "maxPosts": 100,
  "includeContent": false,
  "maxConcurrency": 5,
  "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-blog-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-blog-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-blog-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cocomoon/naver-blog-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/bIoeRDyiNeFGq0QKT/builds/PHf9zUyKgCkACS3zH/openapi.json
