Naver Blog Search Scraper: Blog, Cafe & News Posts avatar

Naver Blog Search Scraper: Blog, Cafe & News Posts

Pricing

from $2.50 / 1,000 search result returneds

Go to Apify Store
Naver Blog Search Scraper: Blog, Cafe & News Posts

Naver Blog Search Scraper: Blog, Cafe & News Posts

Naver blog search by keyword: Naver blog, cafe and news posts for any Korean or English search, with title, snippet, date and link. Watch a brand and get only new posts, with alerts to Discord, Slack or Telegram. No author names or profile links. Searches that find nothing are free.

Pricing

from $2.50 / 1,000 search result returneds

Rating

0.0

(0)

Developer

Adriana Voss

Adriana Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Naver Search Lookup

Search Naver for any keyword or brand and get the blog, cafe and news posts that come back: one row per post with title, snippet, date and link. Run it once for research, or schedule it as a monitor that returns only the posts it has not shown you before and sends each one to Discord, Slack or Telegram. It reads Naver's public search result lists, needs no Naver account and no API key, and never collects an author name, nickname or profile link.

What it does

  • Three sources, one run. Naver Blog, Naver Cafe and Naver News, each read as its own result list. A row's source says which one it came from.
  • Korean or English keywords. Naver returns the same Korean-language results for both, so a brand name written in Latin letters works too.
  • Up to 90 blog posts or 60 cafe posts per search (pages of 30; Naver ends its cafe list after 2 pages). News is the first page, 10 articles.
  • Newest first, or only recent. Ask Naver for its date order, or keep only posts on or after a date.
  • Monitoring. Turn on Track new posts across runs and each run marks every post new or seen; add Only return new posts and a quiet day returns nothing and costs only the run start.
  • Alerts. Paste a Discord or Slack webhook (or a Telegram bot link, or any URL for n8n and Make) and each new post arrives as one message.
  • Free misses. A search Naver has no results for, or that Naver blocks, writes one row with found: false and a plain-English status, and is never charged.

How to use

  1. In the Apify Console. Open the actor page and click Start — the queries field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~naver-search-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"queries":["아이폰 케이스","다이소 후기"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"queries": [
"아이폰 케이스",
"다이소 후기"
]
}

One search per line: a keyword, a brand or a phrase, in Korean or English. Each line is searched on Naver, in the sources you pick below. Accepted formats: 아이폰 케이스, 다이소 후기, apple vision pro.

Fields you can set

FieldWhat it does
queriesOne search per line, Korean or English.
sourcesblog, cafe, news, blog+cafe or blog+cafe+news.
maxItemsPerQueryPosts to read per search and per source, 1 to 90 (default 10). News is capped at its first page.
sortByrelevance (Naver's order) or newest. Blog and Cafe only; with monitoring on they are always read newest first.
sinceDateYYYY-MM-DD: keep only posts on or after that date. Applied on our side after the fetch (and also asked of Naver for Blog).
includeKeywords / excludeKeywordsKeep or drop posts whose title or snippet contains any of these words. Applied before anything is counted or billed.
deltaMode, deltaName, skipFirstRun, alertOnChangeOnlyMonitoring: see Watch a brand and send new posts to Discord below.
notifyUrl, notifyFormat, maxNotificationsPerRunWhere new posts are sent. The link is a secret input: it is never logged and never written to the results.

Output

One row per post, for example (a Naver Blog result for 아이폰 케이스, shortened):

{
"query": "아이폰 케이스",
"found": true,
"status": "OK",
"source": "blog",
"rank": 4,
"title": "케이스티파이 아이폰 17Pro 리플케이스 스카이블루 & 큐빅 카메라 렌즈",
"snippet": "리플 케이스 아이폰 17Pro 스카이블루 컬러 리플 케이스는 컬러가 다양…",
"url": "https://blog.naver.com/gksmf889/224440704714",
"publishedDate": "2026-10-13",
"publishedDateApprox": true,
"publishedText": "2주 전",
"sourceName": null,
"checkedAt": "2026-10-27T09:41:07.000Z",
"isNew": null,
"changeType": null
}

The table below lists every column.

queryfoundstatussourceranktitlesnippeturlpublishedDatepublishedDateApproxpublishedTextsourceNamecheckedAtisNewchangeTypescrapedAt
아이폰 케이스trueOK <snippet><published (date)><is this post new?>1970-01-01T00:00:00.000Z

A miss comes back as a row with "found": false and is never charged: NOT_FOUND (Naver has no results, or none inside your date or keyword filter), BLOCKED (Naver answered 403/429 or sent something that is not a search page, such as a captcha), PARSE_CHANGED (Naver sent a results page but no posts could be read from it) or BAD_FORMAT (an empty or over-long search).

About the dates

Naver prints an exact date (2026.09.23.) for older posts but only an age (9시간 전, 2주 전) for recent ones. Ages are turned into a calendar date in Korean time and flagged publishedDateApprox: true; the unit is the error (up to a week for weeks). publishedText always keeps what Naver printed. With sinceDate, a post aged 2주 전 counts as exactly 14 days old, the newest it can be, so the filter never hides a post that might be inside the window.

Watch a brand and send new posts to Discord

  1. Make a webhook. In Discord open the channel's Settings → Integrations → Webhooks → New Webhook and copy the webhook URL. (Slack: an incoming-webhook URL. Telegram: https://api.telegram.org/bot<token>/sendMessage?chat_id=<chat id>.)
  2. Fill in the actor once. Put your brand or product names in Search keywords, one per line, set Where to search to Blog, Cafe and News, tick Track new posts across runs, give the watchlist a name, tick Seed silently and Only return new posts, and paste the webhook into Send alerts to. Run it: this first run only remembers what Naver shows today. It returns no rows, sends no messages and bills nothing.
  3. Save it as a Task and schedule it (daily is usual). From the second run on, every post that was not there last time arrives as one Discord message with its title, snippet, date and link, and as one row in the dataset. A day with nothing new costs only the run start. Messages are free; you pay per post row delivered.

Example runs

Naver blog search by keyword. queries: 아이폰 케이스, 다이소 후기 · sources: blog · maxItemsPerQuery: 30. One row per blog post with title, snippet, date and link, in Naver's relevance order.

New Naver blog posts about a brand, alerted. queries: your brand · sources: blog+cafe+news · deltaMode: on · deltaName: my-brand · skipFirstRun: on · alertOnChangeOnly: on · notifyUrl: your webhook. Schedule it daily.

Naver cafe search for a product. queries: 아이폰 케이스 · sources: cafe · sortBy: newest · maxItemsPerQuery: 30. Cafe posts (community discussions and reviews) newest first, with the cafe's name in sourceName.

Limits

  • First result pages only. Blog: up to 90 posts per search (3 pages of 30). Cafe: up to 60 (Naver ends the cafe list after 2 pages). News: the first page, 10 articles, without the related headlines Naver groups under them. There is no way to read deeper.
  • Titles and snippets, not full posts. The actor never opens a post, so it has no full text, comments, likes or images. snippet is the excerpt Naver prints under the title.
  • No author data. Blog and cafe authors are private individuals, so no blogger name, nickname, profile link or profile picture is read or returned. A Blog row has an empty sourceName; a Cafe row carries the cafe's (community's) name and a News row the publisher (the outlet's website domain when Naver prints no name for it). The post link alone identifies the post.
  • Korean-language results. Naver serves the same Korean results whatever language you search in or send.
  • Recent dates are approximate (see About the dates).
  • Filters. sortBy works for Blog and Cafe, not News. A date range is asked of Naver for Blog only; for Cafe and News sinceDate is applied after the fetch.
  • Naver's index. You see what Naver shows for that search at that moment; a post Naver has not indexed, or has hidden, will not appear.

FAQ

Do I need a Naver account or API key? No. The actor reads Naver's public search pages.

Is every row billed? Every post row delivered is billed. A search with no results, a blocked search, and posts hidden by Only return new posts or your keyword words are not.

What does rank mean? The post's position in Naver's own list for that search and source, not counting ads. With sinceDate or keyword words, the posts that are dropped leave gaps in the rank numbers.

Why did monitoring mark old posts as new? A new watchlist name starts empty. Keep the same deltaName (or the same sources) between runs. A watchlist remembers the last 20,000 posts per search.

Who is responsible for how the results are used? You are, including compliance with Naver's terms of service and applicable data-protection law.

Pricing

Pay-per-event. A flat per-run fee covers session/proxy warmup; you're billed per item only when data is actually found and returned — see .actor/pay_per_event.json for exact prices. A miss is never charged.

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~naver-search-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"queries":["아이폰 케이스","다이소 후기"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~naver-search-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"queries":["아이폰 케이스","다이소 후기"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~naver-search-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"queries":["{{search}}"]}, mapping the row's search into the queries array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Naver Blog Search: Posts, Cafe and News Scraper" — the agent will find and run this actor.