Naver Scraper — Blog & Knowledge-iN Search (Keyless)
Pricing
from $1.50 / 1,000 results
Naver Scraper — Blog & Knowledge-iN Search (Keyless)
Scrape Naver Blog & Naver Knowledge-iN (지식iN) search results by keyword. Extract post/question title, URL, snippet, blogger, date, thumbnails & hashtags. 500+ results per run. No API key, no login.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Naver Scraper — Blog & Knowledge-iN Search Data (Keyless)
Scrape Naver Blog posts and Naver Knowledge-iN (지식iN) questions & answers by keyword — no API key, no login, no cookies. Get clean, structured JSON with titles, URLs, snippets, blogger leads, publish dates, thumbnails and hashtags, and export 500+ results per run to CSV, Excel, JSON or Google Sheets.
Naver is South Korea's dominant search portal and content ecosystem. If you do Korean market research, SEO, influencer discovery or social listening, Naver Blog and Knowledge-iN are where the conversations actually happen — and this actor turns them into a spreadsheet.
What does Naver Scraper do?
Naver Scraper collects search results from two public, keyless Naver surfaces through a simple mode switch:
- Naver Blog search — it calls the same JSON endpoint the Naver Blog section UI uses (
section.blog.naver.com/ajax/SearchList.naver), returning up to 30 posts per page. The scraper paginates deep and fans out over one or more of your search terms, deduping by post URL until it hits your result target. For every post you get the title, post URL, a content snippet, the blogger's nickname, blog name and profile image, the publish date, thumbnails, and a "sponsored/marketing post" flag. - Naver Knowledge-iN (지식iN) search — it parses the server-rendered Q&A search result list on
kin.naver.com, extracting each question's title, URL, snippet, date and hashtags.
Everything runs over plain HTTP with rotating proxies, so there is nothing to authenticate and no browser to babysit. Each row is tagged with the query it came from, the _mode, and an ISO scrapedAt timestamp.
Who is it for?
- SEO & content marketers researching what ranks in Naver Blog for their target Korean keywords.
- Influencer & PR teams building lists of active Naver bloggers (name, blog URL, profile) in a niche.
- Market researchers & analysts tracking product mentions, reviews and sentiment in the Korean market.
- E-commerce & brand teams monitoring how their products (and competitors') appear across Naver Blog and Q&A.
- Developers & data teams who need a reliable, keyless Naver data feed to plug into dashboards, warehouses or AI agents.
Use cases
- Keyword content audit — pull the top 500 Naver Blog posts for "제주도 여행" (Jeju travel) and see who's writing, how often, and about what.
- Influencer discovery — collect blogger nicknames, blog names and blog URLs for a niche keyword to build outreach lists.
- Sponsored-post detection — use the
isSponsoredflag to separate organic reviews from paid/marketing posts. - Voice-of-customer & FAQ mining — scrape Knowledge-iN questions for a product to learn the real questions Korean shoppers ask before buying.
- Trend & recency tracking — sort Blog results by newest first and re-run on a schedule to watch a topic evolve.
Why use Naver Scraper?
- 100% keyless — no Naver Developers app, no client ID/secret, no login, no cookies. Just enter a keyword and press Start.
- Two Naver surfaces in one actor — Naver Blog and Knowledge-iN, switchable via a single dropdown.
- Built for volume — deep pagination plus multi-query fan-out reliably yields 500+ rich rows per run (up to 20,000).
- Clean, typed output — HTML highlight tags stripped, dates normalised to ISO, booleans as booleans, blogger lead fields ready for CRM/outreach.
- Cheap & fast — pure HTTP (no headless browser), so it runs on 512 MB with datacenter proxies.
- Pay per result — you only pay for the rows you actually get, exportable to CSV, JSON, Excel, or straight into Google Sheets.
What data can you extract?
Every run produces a flat, spreadsheet-friendly dataset. Blog rows and Knowledge-iN rows share common fields (title, url, contentSnippet, query, scrapedAt) and add surface-specific fields.
| Field | Type | Description |
|---|---|---|
title | string | Post / question title (clean, tags stripped) |
url | string | Public URL of the post / question |
contentSnippet | string | Short content preview |
bloggerName | string | Blog author nickname (blog mode) |
blogName | string | Blog title (blog mode) |
blogUrl | string | Blogger home URL — a ready outreach lead (blog mode) |
profileImageUrl | string | Blogger profile image URL (blog mode) |
publishedAt | string (ISO) | Post publish datetime (blog mode) |
publishedTimestamp | number | Publish time in epoch ms (blog mode) |
thumbnail | string | First thumbnail image URL (blog mode) |
thumbnails | array | All thumbnail image URLs (blog mode) |
hasThumbnail | boolean | Whether the post has a thumbnail |
isSponsored | boolean | Whether it's a marketing/sponsored post |
buyWithOwnMoney | boolean | Naver "bought with my own money" review badge |
blogId | string | Naver blog ID |
postId | string | Naver blog post ID (logNo) |
questionId | string | Knowledge-iN docId (kin mode) |
dirId | string | Knowledge-iN directory/category ID (kin mode) |
dateText | string | Q&A date as displayed (kin mode) |
date | string | Q&A date normalised to YYYY-MM-DD when parseable (kin mode) |
tags | array | Hashtags on the Q&A (kin mode) |
query | string | Search term this row came from |
_mode | string | blog or kin |
scrapedAt | string (ISO) | Scrape timestamp |
Example output (Naver Blog)
{"postId": "224343987841","blogId": "ssoyeon_yoon","title": "제주시 가볼만한곳 베스트 9","url": "https://blog.naver.com/ssoyeon_yoon/224343987841","contentSnippet": "제주 여행에서 꼭 가봐야 할 명소를 정리했어요 ...","bloggerName": "제주소연","blogName": "제주소연 ❤️","blogUrl": "https://blog.naver.com/ssoyeon_yoon","profileImageUrl": "https://blogpfthumb-phinf.pstatic.net/...","publishedAt": "2026-07-10T05:46:00.000Z","publishedTimestamp": 1783820760000,"thumbnail": "https://blogthumb.pstatic.net/...","thumbnails": ["https://blogthumb.pstatic.net/...", "..."],"hasThumbnail": true,"isSponsored": false,"buyWithOwnMoney": false,"query": "제주도 여행","_mode": "blog","scrapedAt": "2026-07-25T09:12:31.004Z"}
How to use
Option A — Scrape Naver Blog (default)
- Set Mode to Naver Blog.
- Add one or more Search terms (Korean or any language), e.g.
강남 맛집,제주도 여행. - Pick a Sort — relevance or newest first.
- Set Max results (e.g.
500) and press Start.
{"mode": "blog","queries": ["강남 맛집", "제주도 여행"],"sort": "relevance","maxResults": 500}
Option B — Scrape Naver Knowledge-iN (지식iN)
- Set Mode to Naver Knowledge-iN.
- Add your Search terms, e.g.
아이폰,노트북 추천. - Set Max results and press Start.
{"mode": "kin","queries": ["아이폰", "노트북 추천"],"maxResults": 500}
Leave everything blank and just press Start — the actor runs a set of popular default queries and returns 500+ blog posts, so you can see the output shape immediately.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string (select) | blog | blog = Naver Blog posts, kin = Knowledge-iN Q&A |
queries | array of strings | ["맛집","여행","리뷰","추천"] | One or more search terms; results are merged & deduped |
sort | string (select) | relevance | Blog sort order: relevance or date (newest first) |
maxResults | integer | 500 | Max unique rows across all queries (1–20,000) |
proxy | object | Apify Proxy AUTO | Proxy configuration; datacenter/AUTO is enough |
Full input example:
{"mode": "blog","queries": ["강남 맛집", "성수동 카페", "제주도 여행"],"sort": "date","maxResults": 1000,"proxy": { "useApifyProxy": true }}
Output example (Naver Knowledge-iN)
{"questionId": "493218156","dirId": "1070401","title": "아이폰 초기화 방법 질문","url": "https://kin.naver.com/qna/detail.naver?dirId=1070401&docId=493218156","contentSnippet": "제가 아이폰을 새로 구매하게 되어서 전에 쓰던 아이폰은 세컨폰으로 ...","dateText": "2026.05.02.","date": "2026-05-02","tags": ["아이폰", "핸드폰초기화"],"query": "아이폰","_mode": "kin","scrapedAt": "2026-07-25T09:14:02.771Z"}
Tips for best results
- Use several related queries in the
querieslist to multiply volume and coverage — each term is paginated independently and merged. - Search in Korean for the richest results; Naver indexes Korean-language content most deeply.
- Sort by
datewhen you care about freshness (trend tracking, news-like monitoring); userelevancefor evergreen research. - Filter on
isSponsoredafter export to separate organic reviews from paid/marketing posts. - Build blogger lists from
bloggerName+blogUrl+profileImageUrlfor influencer outreach. - Keep
maxResultsrealistic per query — a single keyword tops out around ~1,000 posts on Naver Blog; add more queries to go higher. - Schedule it (e.g. daily) and diff runs to monitor how a topic or product evolves.
- Datacenter proxy is fine — only switch to Residential if you notice throttling in the log.
- Knowledge-iN mode is ideal for FAQ/voice-of-customer mining; combine it with Blog mode for a full picture of a keyword.
Integrations
Connect Naver Scraper to the rest of your stack with Apify's built-in integrations:
- Google Sheets — push results to a sheet automatically after each run.
- Slack / email — get notified when a run finishes.
- Zapier & Make — trigger 6,000+ downstream apps.
- Webhooks — POST new datasets to your own endpoint in real time.
- Schedule — run hourly/daily/weekly with Apify Schedules.
- API & MCP — pull data programmatically or expose it to AI agents (below).
API usage
Run the actor and fetch results via the Apify API. Replace <TOKEN> with your Apify API token.
cURL
curl -X POST "https://api.apify.com/v2/acts/logiover~naver-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"blog","queries":["강남 맛집"],"maxResults":500}'
Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<TOKEN>' });const run = await client.actor('logiover/naver-scraper').call({mode: 'blog',queries: ['강남 맛집', '제주도 여행'],maxResults: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("<TOKEN>")run = client.actor("logiover/naver-scraper").call(run_input={"mode": "blog","queries": ["강남 맛집", "제주도 여행"],"maxResults": 500,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Use with AI agents (MCP)
Naver Scraper works as a tool for AI agents via the Apify MCP server, so an LLM can fetch live Korean web data on demand. Point your MCP-compatible client (Claude, Cursor, etc.) at Apify's MCP server and let the agent call this actor.
Example agent prompt:
"Use the Naver scraper to get the 200 most recent Naver Blog posts about '전기차 보조금' and summarise the three most common themes."
Frequently asked questions
Is Naver Scraper really keyless?
Yes. It uses Naver's public search endpoints directly — you don't need a Naver Developers application, client ID/secret, login, or cookies.
Which Naver surfaces are supported?
Naver Blog search and Naver Knowledge-iN (지식iN) search. Naver Shopping and Naver Place (map) are protected by an anti-bot challenge and are intentionally not included, so you never get a broken run.
How many results can I get?
A single blog query returns up to ~1,000 posts; add more queries to go higher (up to 20,000 per run). Knowledge-iN volume depends on how many results the keyword has.
Why did I get fewer results than maxResults?
Either your keyword simply has fewer indexed results, or the run hit its time budget. Add more queries or raise the limit and re-run.
Some fields are null — why?
Blog-only fields (blogger, thumbnails, publish date) are null on Knowledge-iN rows and vice-versa, because the two surfaces expose different data. Filter by _mode.
Can I search in English or other languages?
Yes, but Naver indexes Korean content most deeply, so Korean queries return the richest, largest result sets.
How do I export the data?
From the run's Dataset tab, export to CSV, Excel, JSON, XML or HTML, or push to Google Sheets — one click, or via the API.
How fast is it?
Because it's pure HTTP (no browser), a 500-result blog run typically finishes in a couple of minutes on 512 MB.
Can I get the full blog post body?
This actor returns search-result data (title, snippet, metadata, links). For full post bodies, follow the url field with a generic article/HTML scraper.
How often is the data updated?
It's live — every run queries Naver in real time. Schedule the actor to keep a fresh dataset.
Do I need proxies?
Apify Proxy (AUTO/datacenter) is enabled by default and is enough. Switch to Residential only if you see throttling.
Is it legal?
Naver Scraper collects publicly available search-result data that anyone can view in a browser without logging in. It does not access private messages, gated pages, or personal accounts. As with any scraping, you are responsible for how you use the data: respect Naver's Terms of Service, applicable copyright, and privacy laws (e.g. PIPA/GDPR) — especially when handling personal data such as blogger names or profiles. Use the data for research, analytics and lead generation in a lawful, ethical way, and don't republish copyrighted content wholesale.
Related scrapers
Looking for more? Check out these other keyless scrapers by the same developer:
- RedNote (Xiaohongshu) Scraper — trending notes & creator discovery across dozens of channels.
- TikTok Hashtag / Sound Scraper — pull videos and creator leads by hashtag or sound.
- X (Twitter) Profile & Tweet Scraper — profiles, tweets and posts via guest token.
- Trustpilot Reviews Scraper — company reviews with ratings and reviewer data.
Have a Naver surface you'd like added? Let us know.
📝 Changelog
2026-08-01
- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Replaced the field-level output schema with a canonical
resultsdataset link so run results open correctly in the Apify Console. - Declared 20 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 25 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.
- Made all-mode zero-output and dataset-push failures terminate the run explicitly instead of logging an error and reporting SUCCEEDED with an empty dataset.
2026-08-01 — Health-check remediation
- August 2026 monthly health-check remediation is in progress; this build contains fixes verified from empty/default, Console-default, targeted live probes, or field-level semantic review.
- Replaced the field-level output schema with a canonical
resultsdataset link so run results open correctly in the Apify Console. - The final four-input matrix verdict will be appended after post-build cloud revalidation.
- Dataset-push errors and all-mode zero-output conditions now fail explicitly instead of being hidden behind a successful empty run; the inferred contract is nullable across sparse Blog/Knowledge-iN fields.