Skip to main content
Thirdwatchthirdwatch
Social & news

Monitor Korean Brand Mentions on Naver

Track what Korean blogs, cafes, and news say about your brand — Naver mention monitoring as structured JSON with rank, publisher, and date.

Editorial illustration for social & news
Sep 21, 2026 · 2 min read · 467 words
View the Apify scraper →

TL;DR — The Naver Scraper exports brand mentions across Naver's blogs, cafes, news, and Q&A as JSON — rank, publisher, date label, sponsored flag. Schedule it with period: "day" and Korean-language reputation monitoring becomes a daily feed.

Why Korean reputation lives on Naver

In Korea, the review ecosystem isn't Yelp or Reddit — it's Naver blogs and cafes. A product complaint in a mam cafe or a glowing blog review moves purchase decisions the way a Wirecutter pick does in the US, and none of it surfaces in English-language listening tools.

The job-to-be-done is a daily structured feed: every new mention of your brand terms, tagged by surface, with the publisher and date.

How does this compare to the alternatives?

English listening tools Korean agency reports Thirdwatch actor
Cost Miss Naver entirely Retainer fees Pay per result
Reliability Wrong platform Monthly lag Daily structured
Setup time Zero Weeks Minutes
Maintenance N/A Vendor cadence Scheduled runs

How to monitor mentions in 4 steps

How do I set the watch queries?

import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("thirdwatch/naver-scraper").call(
    run_input={
        "queries": ["브랜드명", "브랜드명 후기", "브랜드명 단점"],
        "searchType": "all",
        "sort": "recent",
        "period": "day",
        "maxResultsPerQuery": 30,
        "includeSponsored": False,
        "proxyConfiguration": {"useApifyProxy": False},
    }
)
rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())

Query set = brand name, brand + "review" (후기), brand + "downsides" (단점) — praise and complaints in one pass.

How do I split signal by surface?

import pandas as pd
df = pd.DataFrame(rows)
print(df.groupby(["search_type", "result_source"]).size())

Cafe threads are conversation; blog posts are reviews; news is press. Triage differently.

How do I dedupe to new arrivals?

seen = set(pd.read_json("seen.jsonl", lines=True).url) if False else set()
new = df[~df.url.isin(seen)]

Persist url per run; unseen URLs are today's mentions.

How do I escalate the bad ones?

Negative-surface mentions (단점 queries returning cafe results with high rank) get human review — url and publisher tell you where to look and whether the community is large.

Sample output

{"query": "브랜드명 후기", "search_type": "blog", "rank": 2,
 "title": "브랜드 신제품 한 달 사용 후기",
 "url": "https://blog.naver.com/user123/223456789",
 "publisher": "일상 기록", "published_label": "3시간 전",
 "result_source": "blog", "is_sponsored": false}

Common pitfalls

Brand names need Korean forms — your romanized name misses most mentions. published_label is relative text; log the run date alongside. Some cafe content sits behind membership — those threads surface as links you can't always read. The actor finds mentions; response and translation workflows are yours.

Related use cases

Frequently asked questions

Which surfaces matter for brand monitoring?

Blogs and cafes carry consumer opinion; news carries announcements and press; kin (Knowledge-iN) carries questions about you. searchType 'all' covers them in one run — each record is tagged by surface.

How do I get only new mentions?

Set sort to 'recent' and period to 'day' or 'week'. Each record's published_label shows Naver's relative date so you can spot what arrived since the last run.

Can I filter out sponsored placements?

They arrive flagged — is_sponsored is false for organic results. Drop the flagged rows and your mention set stays earned media.

Do mentions include the author?

publisher carries the blog, cafe, or outlet name — enough to identify influential repeat mentioners.

Related