Naver Search Scraper (통합검색)
Pricing
from $4.00 / 1,000 scraped search result pages
Naver Search Scraper (통합검색)
Scrape Naver integrated search (통합검색) results as ranked blocks — 파워링크 ads, 블로그, 카페, 지식iN, 뉴스, 플레이스, 쇼핑, 웹사이트 and more — for any keyword. One dataset item per SERP page.
Pricing
from $4.00 / 1,000 scraped search result pages
Rating
0.0
(0)
Developer
Harish Garg
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Scrape Naver search results — the way Koreans actually see them. Unlike Google, a Naver 통합검색 (integrated search) page is not a list of ten blue links; it's a blended feed of ranked blocks: 파워링크 ads, 블로그, 카페, 지식iN, 뉴스, 플레이스, 네이버쇼핑, 웹사이트 and more. This Actor fetches those pages for any keyword and returns one structured record per SERP page, with every block in its real ranked order — so you can see not just what ranks on Naver, but which kind of Naver content wins each query.
Built to run on the Apify platform: schedule runs, call it from the API, export to JSON/CSV/Excel, and rely on rotating Korean residential proxies so Naver serves you the same results a real user in Korea gets.
Why use Naver Search Scraper?
Naver owns ~55–60% of Korean search. Winning in Korea means understanding Naver's blended SERP, not Google's. Use this Actor to:
- Track keyword rankings across 블로그 / 카페 / 지식iN / 뉴스 / 플레이스 — per block, per position.
- Monitor 파워링크 ads — who's bidding on your keywords and what copy they run.
- Do Korean SEO & content research — which content type Naver surfaces for a query (blog vs. café vs. shopping) tells you where to publish.
- Watch brand & competitor mentions across Naver's UGC ecosystem.
- Feed pipelines — clean JSON for dashboards, alerts, or LLM/RAG ingestion.
How to use Naver Search Scraper
- Open the Actor and go to the Input tab.
- Enter one or more search terms (Korean works best), one per line — e.g.
강남 맛집. - Pick a search surface —
통합검색 (integrated)is the default blended page. - Set Max pages per query (you're billed per page scraped).
- Click Start. When it finishes, open the Output tab or Export to JSON/CSV/Excel.
That's it. Korean residential proxying, throttling, and retries are handled for you.
Input
| Field | Type | Description |
|---|---|---|
queries | array | Search terms, one per line. Korean recommended. Required. |
searchType | string | integrated (통합검색, default), or a single vertical: web, blog, cafe, kin, news, shopping, image, video, influencer. |
maxPagesPerQuery | integer | Result pages per term (~10 results/page). Default 1. |
sortBy | string | relevance, date_desc, date_asc. |
dateRange | string | '' (any), 1d, 1w, 1m, 6m, 1y. |
includeAds | boolean | Include 파워링크 / 비즈사이트 ad blocks. Default true. |
blocks | array | For 통합검색, keep only these block types (empty = all). |
mobileResults | boolean | Scrape the mobile layout instead of desktop. |
saveHtml | boolean | Store each page's raw HTML in the key-value store. |
useOpenApi | boolean | Also query Naver's official Open API and attach as openApiResults (needs your own credentials). |
naverClientId / naverClientSecret | string | Your Naver Open API credentials (only for enrichment). |
language | string | Accept-Language hint. ko recommended. |
maxConcurrency | integer | Parallel page fetches (1–10). |
Example input
{"queries": ["강남 맛집", "삼겹살"],"searchType": "integrated","maxPagesPerQuery": 2,"sortBy": "relevance","includeAds": true}
Output
One dataset item per SERP page. Each item gives you the same results in two shapes, so you can pick whichever fits your workflow:
results— a flat list, one entry per result, each tagged with itsblockType,blockPosition, and page-widerank. This is the Google-style view: just map over it.blocks— the ranked blocks exactly as Naver stacks them (파워링크 · 블로그 · 카페 · 지식iN · 뉴스 · 플레이스 · 웹사이트 …), preserving the real on-page layout.
{"searchQuery": {"term": "강남 맛집","url": "https://search.naver.com/search.naver?query=%EA%B0%95%EB%82%A8+%EB%A7%9B%EC%A7%91&where=nexearch&start=1","where": "nexearch","searchType": "integrated","device": "DESKTOP","page": 1,"sortBy": "relevance","dateRange": ""},"resultsTotal": null,"hasNextPage": true,"resultCount": 42,"results": [{"rank": 1,"blockType": "place","blockPosition": 1,"rankInBlock": 1,"type": "place","title": "육싸롱 이도점","url": "https://map.naver.com/p/entry/place/2073228508","category": "한식","address": "제주 제주시 아라이동","placeId": "2073228508"},{"rank": 12,"blockType": "blog","blockPosition": 2,"rankInBlock": 1,"type": "blog","title": "강남역 맛집 베스트 10","url": "https://blog.naver.com/foodie/223...","description": "직접 다녀온 강남 맛집을 정리했습니다","date": "3일 전","authorOrChannel": "푸디"}],"blocks": [{"type": "place","label": "플레이스","position": 1,"items": [{ "type": "place", "title": "육싸롱 이도점", "url": "https://map.naver.com/p/entry/place/2073228508", "category": "한식", "address": "제주 제주시 아라이동", "placeId": "2073228508" }]}]}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Results (flat) dataset view gives one row per result for spreadsheet / no-code users; Blocks (flattened) gives one row per block if you care about the page layout.
Data fields
| Field | Description |
|---|---|
searchQuery.term / url | The search term and the exact Naver URL scraped. |
searchQuery.searchType / where | Which surface (통합검색 / vertical). |
searchQuery.page | Page number within the query. |
resultsTotal | Naver's reported total, when shown (often null on 통합검색). |
hasNextPage | Whether a further page exists (null when Naver shows no pager). |
resultCount | Number of results extracted on this page. |
results[] | Flat list: rank, blockType, blockPosition, type, title, url, plus per-type extras below. |
blocks[].type / position | Block type (powerlink, blog, cafe, kin, news, place, shopping, influencer, image, video, web) and its rank on the page. |
blocks[].items[] | Results in the block (same objects as results[], minus the block-context fields). |
item: title / url / description | Clean title, destination URL, and snippet (when present). |
item: date | Posting date / meta ("3일 전", "30.9만 인용"), when shown. |
item: displayedUrl | Visible URL breadcrumb or ad domain — useful when url is an ad redirector. |
item: category / address / badges | 플레이스 only: business category, address, and status chips (예약/쿠폰 …). |
item: authorOrChannel / press | Blog/café author or news outlet, when shown. |
openApiResults | (Optional) clean Open API items, when enrichment is enabled. |
htmlSnapshotKey | (Optional) key-value store key for the saved raw HTML. |
Pricing / How much does it cost to scrape Naver?
This Actor uses pay-per-event pricing, mirroring Apify's Google Search Scraper: you pay per SERP page scraped — not per result — so cost is predictable regardless of how densely a page is packed. Optional Naver Open API enrichment is charged per API call.
Naver runs are inherently a little pricier than Google ones because they require Korean
residential proxies (Naver blocks datacenter and foreign IPs). To control cost, keep
maxPagesPerQuery low and scrape only the verticals you need via searchType / blocks.
Tips & advanced options
- Korean queries return the best results — Naver is a Korean-first engine.
- Scope tightly: use
searchTypefor a single vertical, orblocksto keep only the block types you care about, to cut noise and cost. - Time-sensitive research: combine
sortBy: date_descwithdateRangefor fresh results. - Debugging extraction: turn on
saveHtmlto inspect the exact HTML behind a record.
FAQ, disclaimers & support
- Is scraping Naver legal? This Actor collects publicly available search results. You are responsible for using the data in compliance with Naver's Terms of Service, robots directives, and applicable laws (including personal-data and copyright law). Do not use it to infringe rights or overload Naver's servers.
- Why blocks instead of "organic results"? Because that's what a Naver page is. Forcing Google's organic-links model onto Naver would misrepresent the results. See the block model above.
- Results look incomplete for a query. Naver's markup changes often and varies by keyword,
device, and region. Enable
saveHtmland open an issue with the snapshot so extraction can be tuned. - Support / feature requests: use the Issues tab on the Actor's page.