Naver Scraper โ€” Blog, Cafe & News Posts from Korea avatar

Naver Scraper โ€” Blog, Cafe & News Posts from Korea

Pricing

from $2.80 / 1,000 post with full texts

Go to Apify Store
Naver Scraper โ€” Blog, Cafe & News Posts from Korea

Naver Scraper โ€” Blog, Cafe & News Posts from Korea

Scrape Naver Blog and Naver Cafe posts by keyword or URL: full text, author nickname, blog/cafe name, date, images, tags, likes and comments, plus Naver News results. No login.

Pricing

from $2.80 / 1,000 post with full texts

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape Naver Blog and Naver Cafe posts by keyword or URL: full text, author nickname, blog/cafe name, date, images, tags, likes and comments, plus Naver News results. No login.

Naver Scraper searches Naver Blog (๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ), Naver Cafe (๋„ค์ด๋ฒ„ ์นดํŽ˜) and Naver News (๋„ค์ด๋ฒ„ ๋‰ด์Šค), Korea's largest search portal, the way Naver's own pages do, and returns clean JSON: post URL and ID, title, snippet, the full post text, all images, hashtags, the author's nickname as shown, the blog or cafe name, the publish date, and the like, comment and view counts Naver shows. Search by keyword with relevance or newest-first sorting and a date range, or paste blog and cafe URLs to get single posts or the newest posts of a blog, a cafe or a cafe board. Export to JSON, CSV or Excel, or use the API from Python, Node, n8n, Make or Google Sheets. You pay only for the items you get.

What data does Naver Scraper extract?

Every item has a type: blog, cafe or news.

Blog and cafe posts

FieldDescription
id, postId, urlStable ID (blog:<blogId>:<logNo>, cafe:<cafe>:<articleId>), Naver's post number and the post URL
title, snippetTitle and the search snippet (highlights removed)
text, textLengthFull post text with line breaks (with Include full post text)
authorNameThe author's nickname as Naver shows it
blogId, blogName, blogUrl, categoryBlog posts: blog ID, blog title, blog home and the blog category
cafeId, cafeUrl, cafeName, boardNameCafe posts: cafe ID, address, name and the board (menu) the article is in
publishedAt, publishedTextPublish time in ISO 8601, Korean time (2026-10-03T02:33:06+09:00); publishedText is the label shown in search (19์‹œ๊ฐ„ ์ „, 2026.07.30.)
thumbnail, imageUrlsCover image and every photo in the post
tagsThe post's hashtags / tags
likesBlog likes (๊ณต๊ฐ) and cafe likes where Naver shows them
commentsCount, views, sharesComment count; cafe view count; blog share count (blog URLs)
selfPurchasedBlog posts Naver marks as "paid with my own money" (๋‚ด๋ˆ๋‚ด์‚ฐ)
isMembersOnlyCafe article that Naver opens to search visitors although the board is for members
searchKeyword, rankThe keyword that found the post and its position in Naver's results
contentFetched, contentErrorWhether the full text was read, and why not when it failed
scrapedAtWhen the item was collected

News results

FieldDescription
title, snippetHeadline and summary from Naver News search
source, sourceUrlPress (์–ธ๋ก ์‚ฌ) name and its Naver press page
url, naverNewsUrlThe article on the publisher's site and its Naver News copy (when the press has one)
publishedAt, publishedTextPublish day (ISO) and the label shown (3์‹œ๊ฐ„ ์ „, 2026.01.24.)
thumbnail, searchKeyword, rankArticle photo, keyword and position

How to scrape Naver Blog posts

  1. Enter one or more Search terms (Korean works best, e.g. ์ œ์ฃผ๋„ ๋ง›์ง‘).
  2. Keep Sources on Naver Blog (add Naver Cafe and Naver News if you want them too).
  3. Choose Sort (relevance or newest first) and, optionally, Published from / until.
  4. Set Max results per search and Max items, then click Start.

Each blog post comes with its full text, photos, tags, category, comment count and like count. Naver itself shows at most about 1,000 results per keyword; split a big topic into several keywords or date ranges to collect more.

Input example

{
"searchTerms": ["์ œ์ฃผ๋„ ๋ง›์ง‘", "์„ฑ์ˆ˜๋™ ์นดํŽ˜"],
"sources": ["blog", "cafe", "news"],
"sort": "date",
"dateFrom": "2026-10-01",
"maxResultsPerSearch": 100,
"maxItems": 600,
"includeContent": true
}
{
"startUrls": [
{ "url": "https://blog.naver.com/yemongrass/224429963597" },
{ "url": "https://blog.naver.com/yemongrass" },
{ "url": "https://cafe.naver.com/jejutip" }
],
"maxResultsPerSearch": 50
}

Output example

{
"type": "blog",
"id": "blog:yemongrass:224429963597",
"postId": "224429963597",
"url": "https://blog.naver.com/yemongrass/224429963597",
"title": "์ œ์ฃผ๋„ ๋ง›์ง‘&์นดํŽ˜ ์ถ”์ฒœ ๋ฆฌ์ŠคํŠธ 13๊ณณ ๊ณต์œ  ์ง€๋„ ๋‚ด๋ˆ๋‚ด์‚ฐ",
"snippet": "์ œ์ฃผ๋„ ์—ฌํ–‰์„ ์•ž๋‘๊ณ  ๋ง›์ง‘๊ณผ ์นดํŽ˜๋ฆฌ์ŠคํŠธ๋ฅผ ์ฐพ์•„๋ณด๊ณ  ๊ณ„์‹ค ๋ถ„๋“ค์„ ์œ„ํ•ด ...",
"text": "์ œ์ฃผ๋„ ์—ฌํ–‰์„ ์•ž๋‘๊ณ \n๋ง›์ง‘๊ณผ ์นดํŽ˜๋ฆฌ์ŠคํŠธ๋ฅผ\n์ฐพ์•„๋ณด๊ณ  ๊ณ„์‹ค ๋ถ„๋“ค์„ ์œ„ํ•ด\n...",
"textLength": 4777,
"authorName": "์˜ˆ๋ชฌ๋“œ",
"blogId": "yemongrass",
"blogName": "์—ฌํ–‰์— ๊ฐ์„ฑ๊ณผ ๊ฟ€ํŒ ํ•œ ์Šคํ‘ผ Yemontrip",
"blogUrl": "https://blog.naver.com/yemongrass",
"category": "์ œ์ฃผ๋„",
"publishedAt": "2026-10-03T02:33:06+09:00",
"thumbnail": "https://blogthumb.pstatic.net/MjAyNjEwMDNfNDQg/...png?type=s2",
"imageUrls": ["https://mblogthumb-phinf.pstatic.net/MjAyNjEwMDNfNDQg/...png?type=w800"],
"tags": ["์ œ์ฃผ๋„๋ง›์ง‘", "์ œ์ฃผ๋ง›์ง‘์ถ”์ฒœ", "์ œ์ฃผ์—ฌํ–‰"],
"likes": 16,
"commentsCount": 15,
"selfPurchased": false,
"searchKeyword": "์ œ์ฃผ๋„ ๋ง›์ง‘",
"rank": 1,
"contentFetched": true,
"scrapedAt": "2026-10-11T12:00:00Z"
}
{
"type": "cafe",
"id": "cafe:jejutip:2668761",
"url": "https://cafe.naver.com/jejutip/2668761",
"title": "์ œ์ฃผ๋„ ๋ง›์ง‘ ์ธ์ •!",
"text": "์• ์›”์—์„œ ํ•ด์‚ฐ๋ฌผ ์š”๋ฆฌ๋ฅผ ํ•œ์ƒ ํ‘ธ์งํ•˜๊ฒŒ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ณณ์„ ์„œ์น˜ํ•˜๋‹ค๊ฐ€ ...",
"authorName": "ํ•ดํ”ผ๋Ÿญํ‚ค๋ฐ์ด",
"cafeId": 10456178,
"cafeUrl": "https://cafe.naver.com/jejutip",
"cafeName": "[๋А์˜๋‚˜์˜] ์ œ์ฃผ๋„์—ฌํ–‰ ๋Œ€ํ‘œ์นดํŽ˜ ์ œ์ฃผ๋ง›์ง‘ ๋ Œํ„ฐ์นด ์ˆ™์†Œ ์—ฌํ–‰์ง€๋„",
"boardName": "โ”Œ๐ŸŽค ์ œ์ฃผ์—ฌํ–‰ Q & A",
"publishedAt": "2026-09-02T16:05:39+09:00",
"views": 2408,
"commentsCount": 4,
"tags": ["์ œ์ฃผ๋„๋ง›์ง‘", "์ œ์ฃผ๊ด‘ํ•ด์• ์›”"],
"contentFetched": true
}
{
"type": "news",
"id": "news:020:0003752795",
"title": "โ€œ์šฐ๋ฆฌ ๊ณจ๋ชฉ ์šฐ๋ฆฌ๊ฐ€ ์‚ด๋ฆฐ๋‹คโ€โ€ฆ ์ œ์ฃผ ๊ณจ๋ชฉ์ƒ๊ถŒ 7๊ณณ ์„ ์ •",
"source": "์„œ์šธ์‹ ๋ฌธ",
"url": "https://www.seoul.co.kr/news/...",
"naverNewsUrl": "https://n.news.naver.com/mnews/article/081/...",
"publishedAt": "2026-10-05",
"publishedText": "1์ฃผ ์ „",
"snippet": "..."
}

How to scrape Naver Cafe posts without logging in

Pick the Naver Cafe source and enter keywords. Naver Search lists cafe articles from public cafes and from boards that cafes open to search; the Actor reads each article exactly as a logged-out visitor who clicks the search result sees it: full text, images, tags, nickname, board, views and comment count. You can also paste a cafe address (https://cafe.naver.com/<cafe>) or a board URL to get its newest articles. Articles that Naver only shows to cafe members are not read: from a cafe URL they come back without text (contentError: "members only"), and members-only article URLs are skipped. No account, cookie or password is ever used.

Can I search Naver News too?

Yes. Add Naver News to Sources. Each result has the headline, press name, publish day, snippet, the publisher's URL and, when the press publishes on Naver, the naverNewsUrl. News items are search-level results (no article body) and cost less than full blog/cafe posts.

How to get all posts of a Naver blog

Paste the blog's address (https://blog.naver.com/<blogId>) into Blog or cafe URLs, or a category list URL with categoryNo, and set Max results per search to how many of the newest posts you want. Blog lists come with likes, comment and share counts for every post; Include full post text adds the text, photos and tags.

Monitor changes on a schedule

Turn on Only new posts and set Sort to newest first to get a feed of new blog posts, cafe articles and news for your keywords, blogs or cafes. Each run remembers what earlier runs of the same input returned and outputs only posts it has not seen before; posts already seen are skipped before their pages are opened, so they cost no requests and are not charged. Save the input as a task and add a Schedule in Apify (for example every morning); give each watch its own Monitoring key if several schedules use the same keywords. Every output item has changeType: "new"; likes, views and comment counts are not tracked, so previousValues does not appear.

What does it cost?

Pay per item, no start fee: a blog or cafe post with its full text is charged as a post, a search-level item (a news result, or a post when Include full post text is off) as a cheaper result. Platform usage is small because the Actor uses Naver's own JSON endpoints over datacenter proxies (about one request per post).

The Actor collects only what Naver shows to anyone without an account: public blog posts, cafe articles open to non-members or to search visitors, and news search results. It never logs in, and it skips members-only cafe content and private or neighbours-only blog posts. Author nicknames, blog and cafe names are exported as Naver displays them; no emails, phone numbers or private profile data are collected. You are responsible for how you use the data and for complying with Naver's terms and applicable law (including Korea's Personal Information Protection Act).

Support

Found a bug or need a field? Open an issue in the Issues tab; it is usually answered within a day.