Naver Blog & Cafe Scraper | 네이버 블로그·카페
Pricing
from $0.60 / 1,000 post without bodies
Naver Blog & Cafe Scraper | 네이버 블로그·카페
Scrape Naver Blog and Naver Cafe posts by keyword, post URL, or a blog/cafe's latest posts: full text, images, places with GPS, comments and likes. Returns the number of posts you ask for, flags sponsored posts (협찬) and handles members-only cafes. No API key.
Pricing
from $0.60 / 1,000 post without bodies
Rating
0.0
(0)
Developer
OrbitData Labs
Maintained by CommunityActor stats
1
Bookmarked
651
Total users
108
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Naver Blog & Cafe Scraper (네이버 블로그·카페 스크래퍼)
Collect Naver Blog and Naver Cafe posts — full text, images, tags, place info with GPS coordinates, comments and engagement — by keyword, by post URL, or by pointing it at a blog or cafe to get its latest posts. No Naver API key needed.
한국어 안내는 아래에 있습니다.
Why this scraper
- You get the number of posts you ask for. Naver's search API mixes in other blog platforms (tistory and others) and stops at 1,000 results; with relevance sort, often fewer than 100 of those are Naver posts. This actor keeps only Naver posts and tops up from Naver's own blog search, so
maxResults: 100returns 100 Naver posts. - Members-only cafe posts are handled, not hidden. They come back with title, author, date and counts (billed at a lower price), or turn on
skipMembersOnlyPoststo replace them with readable posts. - Sponsored-post detection. Each post is checked for written disclosures (협찬, 체험단, 원고료, "제품을 제공받아…") and affiliate notices (Coupang Partners, Naver Shopping Connect), plus self-paid claims (내돈내산), with the sentence that triggered it.
- Place data from map embeds. Restaurant and shop reviews come with the place name, address, phone, category and latitude/longitude — for blog and cafe posts.
- Comment threads. Cafe comments keep their structure: which comment a reply answers, and which replies come from the post's author.
- Search inside the cafes you choose. Turn on
searchInsideCafesand the keywords are searched inside the cafe or board URLs you give, not across all of Naver Cafe: titles, post bodies and comments, up to about 2,000 posts per keyword and cafe, each row labelled with where the keyword was found (matchedIn). - Monitoring-friendly. Date range filters (
dateFrom: "7 days"), blog and cafe board listings, keyword and rank on every search row.
What you can collect
| Source | How to use it | What you get |
|---|---|---|
| Keyword search | searchKeywords + searchType (blog, cafe, both) | Up to maxResults posts per keyword and type, by relevance or newest first |
| Single posts | Post URLs in directUrls | The full post, whatever its age |
| A blog's latest posts | Blog home URL, e.g. https://blog.naver.com/<blogId> (optionally ?categoryNo=<n>) | Up to maxResults most recent posts |
| Keyword search inside chosen cafes | searchKeywords + cafe/board URLs in directUrls + searchInsideCafes: true | Up to maxResults posts per keyword and cafe (max ~2,000), matched in title, body or comments |
| A cafe's or board's latest posts | Cafe home URL https://cafe.naver.com/<cafe> or board URL https://cafe.naver.com/f-e/cafes/<id>/menus/<boardId> | Up to maxResults most recent articles |
Every post can include: title, author, date, full text and HTML, images, hashtags, category (blog category or cafe board), likes, comment count, views (cafe), comments, places with GPS, external link cards, video presence, and the sponsorship flags.
Quick start
Reviews of a place (blog, most relevant first)
{"searchKeywords": ["성수 파스타"],"searchType": "blog","maxResults": 30,"sortBy": "sim"}
Weekly cafe monitoring: last 7 days, readable posts only, with comments
{"searchKeywords": ["신상 맛집 추천"],"searchType": "cafe","sortBy": "date","dateFrom": "7 days","maxResults": 50,"skipMembersOnlyPosts": true,"scrapeComments": true}
A keyword inside specific cafes only (title, body or comments)
{"searchKeywords": ["SK하이닉스 실적"],"directUrls": ["https://cafe.naver.com/<cafe>"],"searchInsideCafes": true,"searchType": "cafe","sortBy": "date","dateFrom": "30 days","maxResults": 200}
Everything a blog or a cafe board posted in September
{"directUrls": ["https://blog.naver.com/<blogId>","https://cafe.naver.com/f-e/cafes/<cafeId>/menus/<boardId>"],"dateFrom": "2026-09-01","dateTo": "2026-09-30","maxResults": 200}
Specific posts
{"directUrls": ["https://blog.naver.com/<blogId>/<postNo>","https://cafe.naver.com/<cafe>/<articleNo>"],"scrapeComments": true}
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
searchKeywords | string[] | [] | Keywords to search. Each keyword is searched separately. |
directUrls | string[] | [] | Post URLs to scrape, or blog/cafe home and board URLs to list. Blog and cafe URLs can be mixed. |
searchType | string | both | blog, cafe or both. |
maxResults | number | 30 | Posts per keyword per search type, and per listed blog/cafe/board (max 1,000). |
sortBy | string | sim | sim (relevance) or date (newest first). |
dateFrom / dateTo | string | — | Keep posts published in this range (Korea time, inclusive). YYYY-MM-DD or a period back from today such as 7 days, 2 weeks, 1 month. |
scrapeContent | boolean | true | Visit each post for the full content. Off: search-result data only (faster, cheaper). |
scrapeComments | boolean | true | Collect comments. Cafe comments work directly; blog comments need the browser option below. |
searchInsideCafes | boolean | false | Search the keywords inside the cafe home/board URLs in directUrls instead of across all of Naver Cafe (those cafes are then searched, not listed whole). Blog search still follows searchType. |
skipMembersOnlyPosts | boolean | false | Leave out members-only cafe posts and fill maxResults with readable posts instead (keyword searches and cafe listings). |
scrapeBlogCommentsViaBrowser | boolean | false | Naver serves blog comments only to real browsers. Turn this on to collect them with a headless browser (slower; use 2,048 MB memory or more). |
maxConcurrency | number | 5 | Posts scraped in parallel. |
proxyConfiguration | object | Apify Proxy | Proxy settings. |
Individual post URLs are always scraped: the date range and skipMembersOnlyPosts apply to searches and listings only.
Output
One dataset row per post. Example (illustrative data):
{"type": "blog","title": "성수동 파스타 맛집 솔직 후기","url": "https://blog.naver.com/example_blog/224400000000","author": "맛집탐방러","authorLink": "https://blog.naver.com/example_blog","date": "2026. 10. 12. 19:05","content": "주말에 다녀온 성수동 파스타집 후기입니다…","images": ["https://postfiles.pstatic.net/..."],"tags": ["성수맛집", "파스타"],"category": "맛집","likeCount": 24,"commentCount": 6,"places": [{"name": "예시 파스타 성수점","address": "서울특별시 성동구 성수이로 00","tel": "02-000-0000","category": "이탈리아음식","latitude": "37.54","longitude": "127.05"}],"externalLinks": [],"hasVideo": false,"comments": [],"keyword": "성수 파스타","searchRank": 3,"sponsored": false,"affiliate": false,"disclosureText": "","selfPaidClaim": true,"scrapedAt": "2026-10-13T02:10:00.000Z"}
| Field | Type | Description |
|---|---|---|
type | string | blog or cafe |
title, url, author, authorLink | string | Post title, canonical URL, author and author's blog |
date | string | Published date. Blog posts use Naver's format (2026. 10. 12. 19:05, Korea time); cafe posts use ISO 8601 |
content / contentHtml | string | Full text and HTML of the post body (empty for members-only posts) |
description | string | Search-result snippet, when the row came from a search |
images | string[] | Image URLs in the post |
tags | string[] | Hashtags |
category | string | Blog category, or the cafe board the post was written in |
likeCount, commentCount | number | Likes and comments as Naver reports them |
viewCount | number | Views (cafe posts; Naver does not publish blog views) |
comments | object[] | author, content, date, isReply, profileImage; cafe comments also id, parentId (the comment a reply answers), isArticleWriter, isCleanBotFiltered |
places | object[] | Places from map embeds: name, address, tel, category, latitude, longitude, placeId |
externalLinks | object[] | Link cards: title, description, url |
hasVideo | boolean | The post contains a video |
cafeName, cafeUrl | string | Cafe display name and address (cafe posts) |
matchedIn | string | searchInsideCafes rows: where the keyword was found — title, body, comments, or bodyOrComments when the body is members-only |
keyword, searchRank | string, number | The keyword that found the post and its position in Naver's results (1 = top) |
sponsored, affiliate | boolean | The text discloses a sponsorship / an affiliate commission |
disclosureText | string | The sentence that triggered sponsored or affiliate |
selfPaidClaim | boolean | The post claims to be self-paid (내돈내산) and discloses no sponsorship |
scrapedAt | string | When the row was collected (ISO 8601) |
A SUMMARY record in the run's key-value store counts posts, comments, members-only posts, sponsored posts and posts outside the date range.
Pricing
Pay per post, by what the post contains. Prices depend on your Apify plan:
| Event | Free | Bronze | Silver | Gold and above |
|---|---|---|---|---|
| Post with full content | $0.0025 | $0.0023 | $0.0021 | $0.0018 |
| Post without body (members-only cafe posts, search-only results) | $0.0008 | $0.0008 | $0.0007 | $0.0006 |
| Run start | $0.00005 |
Comments, places, sponsorship flags and all other fields are included. Example: 1,000 full posts on the Free plan cost $2.50. Runs stop cleanly at the maximum cost per run you set.
Tips
simordate?datereturns almost only Naver posts and runs fastest.simranks by relevance; most of Naver's relevance results come from other platforms, which this actor filters out and replaces, so it takes a little longer.- Cafe searches with many members-only posts. In active cafes, a third to half of search results can be members-only (in some topics, such as real estate, over 90%). Use
skipMembersOnlyPosts: trueto get readable posts instead; it searches deeper when needed, so those runs take longer. - Monitoring. Schedule the actor in Apify with
dateFrom: "1 day"or"7 days"to collect only new posts each run. - Blog comments. Turn on
scrapeBlogCommentsViaBrowserand give the run 2,048 MB or more.
FAQ
Do I need a Naver API key? No. Run the actor as is.
Why do some cafe posts have no body? They are in members-only cafes or boards, which only members can read. You still get title, author, date, board, views and counts. These rows are billed at the lower "post without body" price, or skipped entirely with skipMembersOnlyPosts.
Can I get more than 1,000 posts per keyword? Naver caps search at 1,000 results per keyword. To reach older posts of a specific cafe, board or blog, list it by its URL with a date range instead of searching (up to 1,000 posts per URL per run; split long periods into several date ranges).
How reliable is sponsored? It reads the post text: written disclosures and hashtags such as #협찬. Disclosures posted only as an image banner are not visible to it, so sponsored: false means "no disclosure found in the text", not "organic".
Can I use it from code or an AI agent? Yes. Call it through the Apify API or client libraries (JavaScript, Python), or connect it to an AI agent through Apify's MCP server, with the same input as above.
Limitations
- Naver's search returns at most 1,000 results per keyword; searching inside a cafe returns up to about 2,000 per keyword and cafe.
- Members-only cafe posts have no body, images or comments (see FAQ). Their author and date come from the cafe's public article list, which reaches back only through the cafe's newest 50,000 articles: older members-only posts in very large cafes (common with relevance-sorted searches on stock and investment topics) come with title only. Adult-only (19+) cafes and cafes blocked by Naver also come without author and date.
- Cafe search results carry no date, so with a date range they are filtered after scraping and can number fewer than
maxResults. - Blog comments need the browser option.
- Only publicly visible content is collected. Use the data in line with Naver's terms and applicable law.
한국어 안내
키워드, 글 URL, 또는 블로그·카페 주소만으로 네이버 블로그와 카페 글을 수집합니다. 본문 전체, 이미지, 태그, 지도 장소 정보(주소·전화·좌표), 댓글, 공감 수를 가져오며 네이버 API 키는 필요 없습니다.
주요 기능
- 요청한 개수만큼 수집: 네이버 검색 API는 티스토리 등 다른 블로그를 섞어 1,000건까지만 돌려줍니다. 이 액터는 네이버 글만 남기고 모자란 만큼 네이버 블로그 검색에서 채웁니다.
- 블로그·카페 최신 글 모아보기: 블로그 홈, 카페 홈, 카페 게시판 주소를 넣으면 최신 글을 가져옵니다.
- 기간 필터:
dateFrom,dateTo에2026-09-01같은 날짜나7 days같은 기간을 넣습니다(한국 시간 기준). - 회원 전용 카페 글 처리: 본문 없이 제목·작성자·날짜·수치만 저렴하게 받거나,
skipMembersOnlyPosts를 켜서 읽을 수 있는 글로 채웁니다. - 협찬 글 판별: 본문의 협찬·체험단·원고료 고지, 쿠팡 파트너스 같은 제휴 고지, 내돈내산 표시를 찾아
sponsored,affiliate,selfPaidClaim과 근거 문장으로 알려줍니다. 이미지로만 넣은 고지는 판별하지 못합니다. - 댓글 구조: 카페 댓글은 어느 댓글에 단 답글인지, 글쓴이 답글인지까지 구분합니다. 블로그 댓글은
scrapeBlogCommentsViaBrowser를 켜야 수집됩니다. - 특정 카페 안에서 검색:
searchInsideCafes를 켜면directUrls에 넣은 카페·게시판 안에서만 키워드를 찾습니다. 제목·본문·댓글 중 어디서 찾았는지matchedIn으로 알려주며, 키워드·카페당 최대 약 2,000건입니다. - 검색 순위: 검색으로 수집한 글에는 검색어(
keyword)와 네이버 검색 순위(searchRank)가 붙습니다.
가격: 본문까지 수집한 글 1건당 $0.0025(무료 요금제 기준, 상위 요금제는 최저 $0.0018), 본문이 없는 글(회원 전용 카페 글, 검색 결과만 받은 글)은 1건당 $0.0008입니다. 댓글과 장소 정보 등은 추가 요금이 없고, 실행당 최대 비용을 정하면 그 안에서 깔끔하게 멈춥니다.
자주 쓰는 설정: 주간 카페 모니터링은 searchType: "cafe", sortBy: "date", dateFrom: "7 days", skipMembersOnlyPosts: true를 추천합니다.
License
ISC