A developer's guide to scraping Naver web, news, image, video, and shopping results as structured JSON rows, over REST and MCP.
I kept hitting the same wall on Korea projects: Google's results tell you almost nothing about what Korean users see, because Korea searches on Naver, and a Naver results page is a different animal. Naver's own developer program exists, but it wants registration, client keys, and daily quotas, and it hands back data shaped for embedding features rather than the results page itself. I wanted the page as it renders, as rows I could load into a dataframe.
The Naver Search API is a scraper that returns Naver web, news, image, video, and shopping results as clean JSON rows, one row per result, each tagged with its result type, query, vertical, and position.

Each run gives you flat rows you can drop straight into a table:
result_type: web_organic, ad, shopping, news, image, or video.
position: the rank as displayed on the page.
title, link, source, displayed_link, and snippet, with Korean handled natively.
price, rating, reviews, and stores on shopping rows.
channel, duration, and view counts on video rows.
The default vertical returns the integrated page with its mixed blocks; the web, news, image, and video verticals drill into one type and paginate.
Open the Naver Search API, enter a query in Korean or English, and pick a vertical. Set maxResultsPerQuery to cap the spend. Run it and export the rows as JSON, CSV, or Excel.
Every run is one call to the Apify API. Point a POST at the Actor's run endpoint with your query:
POST /v2/acts/johnvc~naver-search-api/runs
{
"query": "서울 맛집",
"where": "web",
"maxResultsPerQuery": 20
}The run finishes into a dataset you read back as JSON. Batch mode takes a queries list, so a 50-keyword rank check is one run.
The Actor runs over the Model Context Protocol, so Claude, Claude Code, Cursor, and other MCP clients can call it as a tool. Ask "what is trending in Korean news coverage of Samsung this week" and it returns structured rows with sources, no scraping code. You can start a free Claude trial through my referral if you want to test it.
Market researchers size Korean demand from real Naver data instead of Google proxies. SEO teams track brand rankings on Naver over time by charting position on a schedule. PR teams monitor Korean news coverage of a company. The full set of runnable recipes lives on the examples page and in the Peerlist project, from web results and CSV export to K-beauty rank tracking and Samsung news monitoring.
Different jobs. The official API suits building features inside quota limits after registration; the scraper answers SERP questions, actual ranking order, ad and shopping blocks, with no keys and no Korean-language signup flow.
Send a POST to the Actor's run endpoint with a query and a vertical, then read the run's dataset back as JSON, CSV, or Excel. Pricing is pay per result with no monthly minimum, and maxResultsPerQuery caps each query.
Yes. Connected through the Apify MCP server, the Actor is a callable tool in Claude, Claude Code, Cursor, and other MCP clients, and it returns live results into the conversation with no code.
Anything Naver does not render for the query. Integrated-page block mixes vary, shopping rows appear only where Naver shows shopping, and positions are the order displayed at crawl time, not a stable global rank. Treat each run as a snapshot.
Questions or edge cases? I read every issue on the Actor page and usually reply within a day.
0
0
0