Naver Blog Search Scraper (네이버 블로그 검색)
Pricing
from $2.00 / 1,000 scraped posts
Naver Blog Search Scraper (네이버 블로그 검색)
Search Naver Blog by keyword and extract every matching post — title, snippet, author, publish date, thumbnails, 내돈내산 flag, and optional full body text, hashtags, likes and comments. Filter by date. Export as JSON, CSV, or Excel.
Pricing
from $2.00 / 1,000 scraped posts
Rating
0.0
(0)
Developer
Harish Garg
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Search Naver Blog by keyword and extract the matching posts — title, snippet, author, publish date, thumbnails and the 내돈내산 (self-purchased) flag. Turn on full content to also get the full body text, images, hashtags, likes (공감) and comment count of each post. Filter by date, sort by relevance or newest, and collect more than 1,000 posts per keyword.
Export the posts as JSON, CSV, Excel, XML or HTML, or read them from the API.
No Naver account. No login. No coding needed.
What does Naver Blog Search Scraper do?
Type the keywords that you would search on Naver Blog (네이버 블로그 검색). For each keyword, the scraper returns the matching posts in Naver's order:
- Post data — title, search snippet, desktop and mobile post URL, publish date, thumbnails, and whether the post has a video.
- Author data — nickname, blog name, blog URL and profile image.
- 내돈내산 flag —
selfPurchased: truewhen Naver labels the post as bought with the author's own money (not sponsored). - Blog Market flag —
isMarketPost: truefor a Naver Blog Market (블로그마켓) sales post. - Full content (optional) — the full body text and HTML, every image in the post, hashtags (해시태그), likes (공감) with the count of each reaction type, and the comment count.
- More than 1,000 posts per keyword — Naver Blog search shows at most 1,000 posts for a keyword. This scraper can collect thousands of posts for one keyword.
- Many keywords in one run — each keyword is searched separately, and each post is tagged with its keyword and rank.
Use cases
- Market and consumer research — Naver Blog is where Koreans write product reviews, restaurant visits and travel stories. Collect what people say about a brand, a product or a place.
- Influencer marketing — Find the bloggers who write about your keyword. See which posts are 내돈내산 and which are not.
- SEO for the Korean market — See which posts rank for a keyword on Naver Blog. Study their titles, hashtags and length.
- Trend and brand monitoring — Sort by newest and run the scraper every day to follow a topic or a brand.
- NLP, LLM and RAG datasets — Collect clean Korean text by topic for sentiment analysis, classification or AI pipelines.
How to scrape Naver Blog in Apify Console
- Click Try for free and sign in to Apify. A free account is enough.
- In Search keywords, add one keyword per line, for example
캠핑or강남 맛집. - Set Max posts per keyword. The default is 100.
- Optional: select Newest first, set a date range, or turn on Include full post content.
- Click Start.
- Open the Output tab. View the posts as a table, or download them as JSON, CSV, Excel, XML or HTML.
Input
| Field | Type | Default | Description |
|---|---|---|---|
keywords | string[] | — | The search keywords, one per line. Korean keywords match best. Each keyword is searched separately. Required |
maxResults | integer | 100 | The most posts to return for each keyword. It can be more than 1,000. 0 = all posts |
sortBy | string | relevance | relevance (정확도순, Naver's default order) or newest (최신순) |
dateFrom | string | — | Only posts published on or after this date (Korea time). A date such as 2026-01-01, or a period such as 7 days, 2 weeks, 3 months |
dateTo | string | — | Only posts published on or before this date (Korea time). Same formats as dateFrom. Empty = up to today |
includePostContent | boolean | false | Also get the full body text and HTML, images, hashtags, likes and comment count of each post. Runs are slower |
Input examples
The 100 most relevant posts for one keyword
{"keywords": ["캠핑"]}
The newest posts of the last 30 days for two keywords, with full content
{"keywords": ["캠핑", "강남 맛집"],"maxResults": 200,"sortBy": "newest","dateFrom": "30 days","includePostContent": true}
All posts for a keyword in one month
{"keywords": ["아이폰 17 후기"],"maxResults": 0,"dateFrom": "2026-09-01","dateTo": "2026-09-30"}
Output
You get one row for each post that a keyword finds, tagged with the keyword and the post's rank. Example with full content:
{"keyword": "캠핑","rank": 1,"blogId": "kasakyu","logNo": "224423813746","url": "https://blog.naver.com/kasakyu/224423813746","mobileUrl": "https://m.blog.naver.com/kasakyu/224423813746","title": "당일캠핑하기 좋은 화성 청려수련원 숲속캠크닉 후기","snippet": "초보 캠퍼로써 당일캠핑하러 가끔씩 가던 캠핑장이 있는데요 아침부터 저녁까지만 텐트를 치고 ...","nickName": "1서어주니8","blogName": "준&코 가족일상","blogUrl": "https://blog.naver.com/kasakyu","profileImageUrl": "https://blogpfthumb-phinf.pstatic.net/.../KakaoTalk_20260208_205943.jpg?type=s1","publishedAt": "2026-09-27T05:15:00.000Z","thumbnailUrl": "https://blogthumb.pstatic.net/.../숲속캠크닉.jpg?type=s2","thumbnails": ["https://blogthumb.pstatic.net/.../숲속캠크닉.jpg?type=s2"],"hasVideo": false,"selfPurchased": true,"isMarketPost": false,"content": "내돈내산 인증\n방문\n새싹동산 청려수련원\n경기도 화성시 동탄구 중동 273-2 ...","contentHtml": "<div class=\"se-component ...\">...</div>","contentLength": 3145,"images": ["https://mblogthumb-phinf.pstatic.net/.../01.jpg?type=w800"],"imageCount": 38,"tags": ["청려수련원", "화성캠핑", "당일캠핑", "경기도캠핑"],"commentCount": 12,"sympathyCount": 19,"reactions": { "like": 19 },"contentStatus": "ok","scrapedAt": "2026-10-11T12:31:54.696Z"}
The fields from content to contentStatus are in the output only when Include full post content is on.
Output fields
| Field | Description |
|---|---|
keyword, rank | The keyword that found the post, and the post's position in that keyword's results |
blogId, logNo | The blogger's ID and the post's number |
url, mobileUrl | The desktop and mobile post URLs |
title, snippet | The post title and the search snippet, as plain text |
nickName, blogName, blogUrl | The author's nickname, blog name and blog URL |
profileImageUrl | The author's profile image |
publishedAt | The publish time (ISO 8601, UTC) |
thumbnailUrl, thumbnails | The first thumbnail, and all the thumbnails that Naver shows for the post |
hasVideo | true when the post has a video |
selfPurchased | true when Naver labels the post 내돈내산 (bought with the author's own money) |
isMarketPost | true for a Naver Blog Market (블로그마켓) sales post |
content, contentHtml | The full body text (clean) and the body HTML. Full content only |
contentLength | The number of characters in content. Full content only |
images, imageCount | The image URLs in the post, and their number. Full content only |
tags | The post hashtags. Full content only |
commentCount | The number of comments. Full content only |
sympathyCount, reactions | The total likes (공감), and the count of each reaction type. Full content only |
contentStatus | ok, empty, not_found (deleted or private post), fetch_failed or budget_reached (the run's maximum cost was reached). Full content only |
scrapedAt | When the post was scraped (UTC) |
Use Naver Blog Search Scraper with the Apify API
Run the scraper and read the results from any programming language with the Apify API. Get your API token in Apify Console under Settings → API & Integrations, and replace <YOUR_API_TOKEN> below.
HTTP (cURL) — run the scraper and get the posts in one call:
curl -X POST "https://api.apify.com/v2/acts/hgservices~naver-blog-search-scraper/run-sync-get-dataset-items?format=json" \-H "Authorization: Bearer <YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{ "keywords": ["캠핑", "강남 맛집"], "maxResults": 50, "sortBy": "newest" }'
Change format=json to format=csv or format=xlsx to get a spreadsheet. This call waits up to 5 minutes. For large runs, start the run with POST /v2/acts/hgservices~naver-blog-search-scraper/runs, and read the dataset when the run finishes.
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('hgservices/naver-blog-search-scraper').call({keywords: ['강남 맛집'],maxResults: 100,sortBy: 'newest',dateFrom: '7 days',});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const post of items) {console.log(post.rank, post.publishedAt, post.title, post.url);}
Python (apify-client 3.0 or later) — find the 내돈내산 reviews for a product, with the most-liked posts first:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("hgservices/naver-blog-search-scraper").call(run_input={"keywords": ["아이폰 17 후기"],"maxResults": 300,"includePostContent": True,})if run is None:raise RuntimeError("The run was not found.")posts = [postfor post in client.dataset(run.default_dataset_id).iterate_items()if post["selfPurchased"]]posts.sort(key=lambda post: post.get("sympathyCount") or 0, reverse=True)for post in posts[:10]:print(post["sympathyCount"], post["title"], post["url"])
Use Naver Blog data in Claude, ChatGPT and other AI assistants
This scraper works as a tool for AI assistants through the Apify MCP server. Your assistant can find the scraper, read its input options, run it, and use the posts in its answer.
Claude (claude.ai or Claude Desktop) — Go to Settings → Connectors, add a custom connector, and enter https://mcp.apify.com. Sign in to Apify when Claude asks.
Claude Code
$claude mcp add --transport http apify https://mcp.apify.com
ChatGPT — Turn on Developer mode in Settings → Apps & Connectors → Advanced settings. Then create a connector with the MCP server URL https://mcp.apify.com.
Cursor, VS Code and other MCP clients — Add https://mcp.apify.com as a remote MCP server. To give the assistant only this scraper, use https://mcp.apify.com?tools=hgservices/naver-blog-search-scraper.
Then ask in plain language:
Use the Naver Blog Search Scraper to get the 50 newest Naver Blog posts about 강남 맛집, and list the restaurants that people mention most.
Search Naver Blog for 다이슨 에어랩 후기 with full content. Summarize what the 내돈내산 reviewers like and dislike, in English.
Find the Naver bloggers who wrote about 제주 캠핑 in the last 3 months, and make a table of their blog names, post titles and likes.
Integrations and scheduling
Connect the scraper to the tools that you already use with Apify integrations: Google Sheets, Slack, Zapier, Make, n8n, Airbyte, Keboola and more. Use webhooks to call your own endpoint when a run finishes.
Use Schedules in Apify Console to run the scraper automatically. For example, sort by Newest first, set Published from to 1 day, and run the scraper every day to get each day's new posts about your brand.
Good to know
- More than 1,000 posts. Set Max posts per keyword above 1,000, or to
0for all posts. On very popular keywords (for example캠핑), one day can have more than 1,000 posts. Then you get up to 1,000 posts for each day. - Fast runs without full content. The search data (title, snippet, author, date, 내돈내산 flag) comes fast. Turn on full content only when you need the body text, hashtags or likes.
- One post, many keywords. When two keywords find the same post, the post is in the output once for each keyword, with that keyword's rank.
- Korea time. The date range uses Korea Standard Time (KST), as Naver does.
publishedAtis in UTC.
Related Actors
- Naver Blog Post Scraper — the full content of Naver Blog posts by URL.
- Naver Blog Profile Scraper — a blogger's profile, follower and visitor counts, and full post list.
- Naver Blog Rank Tracker — the Naver search rank of your blog posts for your keywords.
- Naver Blog Sponsored Post Detector — find out which top posts for a keyword are sponsored.
- Naver Search Scraper — every block of the Naver 통합검색 page, with ads, place, cafés, news and more.
FAQ
Do I need a Naver account? No. You need only an Apify account. The scraper uses the public Naver Blog search, with the same results that every visitor sees.
Can I get more than 1,000 posts for a keyword?
Yes. Naver Blog search itself shows at most 1,000 posts for a keyword, but this scraper can go further. Set Max posts per keyword above 1,000, or to 0 for all posts.
Does it get the comment text?
No. It gets the number of comments. Use Include full post content to get commentCount.
What about deleted or private posts?
Naver search can still show a post that its author deleted or made private. With full content on, such a post gets contentStatus: "not_found", and the search data is still in the row.
Can I search in English? Yes, but most Naver Blog posts are in Korean, so Korean keywords find many more posts.
Is it legal to scrape Naver Blog? The scraper collects only publicly available posts and never signs in. You are responsible for using the data in line with Naver's Terms of Service and the laws that apply to you, including personal-data laws.
Support
Did you find a bug, or do you need a field that is not here? Open an issue on the Issues tab. Custom solutions are available on request.
This scraper is not affiliated with or endorsed by Naver.