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.

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.