# Naver News Scraper (`oxygenated_quagmire/naver-news-scraper`) Actor

Scrape news articles from Naver News (네이버 뉴스) — Korea's most-visited news aggregator. Extract korean news scraper results, south korea news content, naver news api alternative data. Full article text, press metadata & trending topics across 1000+ Korean outlets.

- **URL**: https://apify.com/oxygenated\_quagmire/naver-news-scraper.md
- **Developed by:** [Session zero](https://apify.com/oxygenated_quagmire) (community)
- **Categories:** News, Marketing, Lead generation
- **Stats:** 41 total users, 15 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

> **Keywords:** korean news, south korea news, naver news API, korea news scraper, south korea, korean web scraping, naver data, apify actor, korean data extraction

## Naver News Scraper

Scrape **Naver News (네이버 뉴스)** — South Korea's largest news aggregator with 40M+ daily users. Extract articles by keyword search, section browsing, popularity ranking, or direct article URLs.

### Why Naver News?

Naver News aggregates content from 200+ Korean media outlets and is the primary source for Korean news consumption. It's essential for:

- 📊 **Business Intelligence** — Monitor Korean market, tech, and corporate news
- 🔍 **Brand Monitoring** — Track mentions of companies, products, or people
- 📰 **Media Analysis** — Analyze press coverage across outlets
- 🌏 **Korea Research** — Access Korean politics, economy, and culture news
- 📈 **Trend Detection** — Discover trending topics and popular stories

### Features

#### 4 Scraping Modes

| Mode | Description | Speed |
|------|-------------|-------|
| **Search** | Find articles by keyword with filters (sort, time period, date range) | ⚡ Fast |
| **Section** | Browse articles by section: Politics, Economy, Society, Culture, World, Science/IT | ⚡ Fast |
| **Ranking** | Get popular/trending articles across 80+ press outlets | ⚡ Fast |
| **Article** | Fetch full article details from specific URLs | ⚡ Fast |

#### Data Extracted

**Basic (Search/Section/Ranking):**

- Title, description, press/outlet name
- Published time, article URL, thumbnail image
- Comment count, related news count (section mode)
- Rank, press logo (ranking mode)

**Full Details (Article mode or `fetchDetails: true`):**

- Full article body text
- Author/journalist name
- Publish & modify timestamps (ISO format)
- Category/section classification
- All article images with captions
- Original press article URL
- Reader reactions (좋아요, 흥미진진, etc.)

#### No Browser Required

Pure HTTP + HTML parsing — **no Playwright, no Puppeteer**. This means:

- ✅ Lower compute costs
- ✅ Faster execution
- ✅ No browser crashes

### Usage Examples

#### Search for news about Samsung

```json
{
    "mode": "search",
    "keyword": "삼성전자",
    "maxResults": 20,
    "sort": "newest",
    "period": "1w"
}
```

#### Browse Economy section

```json
{
    "mode": "section",
    "section": "economy",
    "maxResults": 30
}
```

#### Get today's trending news

```json
{
    "mode": "ranking",
    "maxResults": 50
}
```

#### Get full article details

```json
{
    "mode": "article",
    "articleUrls": [
        "https://n.news.naver.com/article/015/0005256324",
        "https://n.news.naver.com/article/001/0015929216"
    ]
}
```

#### Search with full article enrichment

```json
{
    "mode": "search",
    "keyword": "AI 반도체",
    "maxResults": 10,
    "fetchDetails": true
}
```

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `mode` | string | `"search"` | Scraping mode: `search`, `section`, `ranking`, or `article` |
| `keyword` | string | | Search keyword (required for search mode) |
| `sort` | string | `"relevance"` | Sort: `relevance`, `newest`, `oldest` |
| `period` | string | `"all"` | Time filter: `all`, `1h`, `1d`, `1w`, `1m`, `3m`, `6m`, `1y` |
| `dateFrom` | string | | Custom date range start (YYYY-MM-DD) |
| `dateTo` | string | | Custom date range end (YYYY-MM-DD) |
| `section` | string | `"politics"` | News section for section mode |
| `articleUrls` | array | | Article URLs for article mode |
| `fetchDetails` | boolean | `false` | Fetch full article details (slower but richer data) |
| `maxResults` | integer | `20` | Max articles to return (1–500) |

### Available Sections

| Section | Korean | Code |
|---------|--------|------|
| `politics` | 정치 | 100 |
| `economy` | 경제 | 101 |
| `society` | 사회 | 102 |
| `culture` | 생활/문화 | 103 |
| `world` | 세계 | 104 |
| `science` | IT/과학 | 105 |

### Output Example

#### Search/Section result

```json
{
    "pressId": "015",
    "articleId": "0005256324",
    "title": "삼성전자, 미국 텍사스주 데이터 수집 소송 '합의'…법적 리스크 해소",
    "description": "미국 텍사스주 법무장관이 삼성전자 미국법인과...",
    "press": "한국경제",
    "publishedAt": "2일 전",
    "url": "https://n.news.naver.com/article/015/0005256324",
    "imageUrl": "https://imgnews.pstatic.net/...",
    "mode": "search",
    "searchKeyword": "삼성전자",
    "scrapedAt": "2026-03-01T01:00:00+09:00"
}
```

#### Full article detail

```json
{
    "pressId": "015",
    "articleId": "0005256324",
    "title": "삼성전자, 미국 텍사스주 데이터 수집 소송 '합의'…법적 리스크 해소",
    "description": "미국 텍사스주 법무장관이 삼성전자 미국법인과...",
    "press": "한국경제",
    "author": "박수빈 기자",
    "publishedAt": "2026-02-27 14:59:13",
    "modifiedAt": "",
    "category": "경제",
    "url": "https://n.news.naver.com/article/015/0005256324",
    "originalUrl": "https://www.hankyung.com/article/...",
    "imageUrl": "https://imgnews.pstatic.net/...",
    "body": "켄 팩스턴 법무장관 \"삼성의 선제적 조치 높이 평가\"...",
    "images": [
        {
            "url": "https://imgnews.pstatic.net/...",
            "caption": "서울 삼성전자 서초사옥의 모습"
        }
    ],
    "reactions": {
        "쏠쏠정보": 0,
        "흥미진진": 0,
        "공감백배": 0,
        "분석탁월": 0,
        "후속강추": 0
    },
    "mode": "article",
    "scrapedAt": "2026-03-01T01:00:00+09:00"
}
```

### Tips

- **Start with search/section mode** for quick listings, then use `fetchDetails: true` or article mode for full content
- **Ranking mode** is great for discovering trending stories across all press outlets
- **No proxy needed** — Naver News works without proxies from most locations
- **Korean keywords work best** — Naver News is primarily Korean-language content
- **Rate limits are generous** — The actor includes built-in delays to be respectful

### Cost

This actor uses **Pay Per Event** pricing:

- **$0.50 per 1,000 articles** scraped
- Free tier available for testing

### Technical Details

- **Language:** Python 3.12
- **Framework:** Apify SDK + httpx + BeautifulSoup
- **No browser:** Pure HTTP requests (no Playwright/Puppeteer)
- **Encoding:** Handles UTF-8 and EUC-KR (ranking page)
- **Pagination:** Automatic for search and section modes

# Actor input Schema

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

What to scrape: search by keyword, browse by section, get popular ranking, or fetch specific article details

## `keyword` (type: `string`):

Search keyword (required for 'search' mode). Examples: '삼성전자', 'BTS', 'AI', '한국 경제', 'Samsung Galaxy'

## `sort` (type: `string`):

How to sort search results

## `period` (type: `string`):

Filter results by time period (search mode only)

## `dateFrom` (type: `string`):

Custom date range start (YYYY-MM-DD). Only used when period is 'all' and both dateFrom/dateTo are set.

## `dateTo` (type: `string`):

Custom date range end (YYYY-MM-DD)

## `section` (type: `string`):

Which news section to browse (only for 'section' mode)

## `articleUrls` (type: `array`):

List of Naver News article URLs to scrape (required for 'article' mode). Example: \["https://n.news.naver.com/article/015/0005256324"]

## `fetchDetails` (type: `boolean`):

For search/section/ranking modes: also fetch each article's full page for body text, author, reactions, and more. Slower but provides much richer data.

## `maxResults` (type: `integer`):

Maximum number of articles to return (1–500)

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

Apify Proxy settings (optional — Naver News usually doesn't require proxies)

## Actor input object example

```json
{
  "mode": "search",
  "sort": "relevance",
  "period": "all",
  "section": "politics",
  "fetchDetails": false,
  "maxResults": 20
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("oxygenated_quagmire/naver-news-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("oxygenated_quagmire/naver-news-scraper").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 '{}' |
apify call oxygenated_quagmire/naver-news-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/0fXnw4ywpt8M3Esg4/builds/h27MZwQ23xmN9jOy2/openapi.json
