Naver is South Korea's dominant search engine. Like Google's AI Overviews, Naver generates AI-powered answers with cited sources called “AI Briefings.” If you're tracking your brand's visibility in Korea, monitoring competitors, or comparing how different engines answer the same query, you need structured access to these results. SerpApi's Naver AI Overview API returns AI Briefings as JSON, making them easy to extract and analyze programmatically.
Why Scrape Naver AI Briefings?
Naver's AI Briefing uses generative AI to deliver concise, well-structured summaries with cited sources, prioritizing key insights to reduce the time users spend finding relevant information. SerpApi's Naver AI Overview API lets you capture these responses as structured JSON. Use cases include:
- Generative Engine Optimization (GEO): Track whether your content is cited in Naver's AI-generated answers and optimize for visibility in the Korean search market.
- Cross-Engine AI Comparison: Compare how Naver, Google, Brave, and other AI search engines answer the same queries to identify differences in sourcing and factual accuracy.
- Market Intelligence: Monitor which competitors or sources are cited by Naver's AI Briefings for queries in your industry.
- Content Research: Extract synthesized answers and their source citations to understand what Naver considers authoritative for a given topic.
- Brand Monitoring: Track how your company or products are described in Naver's AI-generated search results.
Understanding the Response Structure
You can easily test queries using SerpApi's Playground. Here's a condensed example of the response for the query “apple juice vs orange juice”. If you'd rather skip straight to the code, jump ahead to How to Scrape Naver AI Briefings using SerpApi.
{
"markdown": "사과 주스와 오렌지 주스는 칼로리·탄수화물 기준으로 비슷하지만, 비타민 ... [1] 다만 ...",
"text_blocks": [
{
"type": "paragraph",
"snippet": "사과 주스와 오렌지 주스는 칼로리·탄수화물 기준으로 비슷하지만, 비타민 ...",
"reference_indexes": [1, 2]
},
// headers, lists, tables ...
],
"references": [
{
"index": 1,
"title": "Orange and Apple Juice",
"snippet": "Orange and apple juice Discover Pinterest’s best ideas and inspiration for Orange and apple juice.",
"link": "https://www.pinterest.com/ideas/orange-and-apple-juice/940763462091/",
"source": "Pinterest",
"source_icon": "https://s.pinimg.com/webapp/favicon_48x48-7470a30d.png"
},
// ...
],
"media": [
{
"title": "Apple Juice vs. Orange Juice: Which Has More Vitamin C for Immune Support?",
"link": "https://www.verywellhealth.com/apple-juice-vs-orange-juice-11872120",
"thumbnail": "https://www.verywellhealth.com/thmb/11UaGLH66Drx2TTuxJjh8q3fMz8...",
"platform": "Verywell Health"
},
// ...
],
"related_questions": [
{
"question": "사과 주스와 오렌지 주스 비타민C 함량 비교해 주세요",
"serpapi_link": "https://serpapi.com/search.json?engine=naver_ai_overview&query=..."
},
// ...
]
}Text Blocks
The text_blocks array is the core of the response. Each block has a type that determines its structure. Here's how each type works:
Paragraphs
This is the most common block type. Contains a snippet with the text, optional snippet_highlighted_words, and reference_indexes:
{
"type": "paragraph",
"snippet": "사과 주스와 오렌지 주스는 칼로리·탄수화물 기준으로 비슷하지만, 비타민 ...",
"reference_indexes": [1, 2]
}reference_indexes is an array of integers pointing to the top-level references array. "reference_indexes": [1, 2] means this paragraph cites the references where index equals 1 and 2. The snippet_highlighted_words field shows which phrases Naver considered most important in the answer.
Headers
A section title. Contains a snippet with the text and reference_indexes:
{
"type": "header",
"snippet": "영양 비교",
"reference_indexes": [1]
}Lists
A bulleted list. Uses a list array where each item has a snippet, optional snippet_highlighted_words, and reference_indexes:
{
"type": "list",
"list": [
{
"snippet": "비타민 C 섭취가 목적이면 오렌지 주스가 유리합니다.",
"reference_indexes": [1]
},
{
"snippet": "라벨에 “비타민 C 강화” 또는 “ascorbic acid”가 있으면 사과 주스도 비타민 C가 높을 수 있습니다.",
"reference_indexes": [1, 2]
}
]
}Tables
Structured comparison data. Includes table, a two-dimensional array where the first row contains the table's headers, and a formatted version, an array of objects with named keys derived from the headers:
{
"type": "table",
"table": [
[
"구분",
"오렌지 주스",
"사과 주스",
"강화 사과 주스"
],
[
"칼로리",
"117 kcal",
"114 kcal",
"114 kcal"
],
// ...
],
"formatted": [
{
"구분": "칼로리",
"오렌지_주스": "117 kcal",
"사과_주스": "114 kcal",
"강화_사과_주스": "114 kcal"
},
// ...
]
}References
The top-level references array contains every source Naver cited. Each reference has an index, title, snippet (a short excerpt from the source), link (the source URL), source (the name of the source), and source_icon (a favicon URL). The index is what reference_indexes inside text_blocks points to.
"references": [
{
"index": 1,
"title": "Orange and Apple Juice",
"snippet": "Orange and apple juice Discover Pinterest’s best ideas and inspiration for Orange and apple juice.",
"link": "https://www.pinterest.com/ideas/orange-and-apple-juice/940763462091/",
"source": "Pinterest",
"source_icon": "https://s.pinimg.com/webapp/favicon_48x48-7470a30d.png"
}
]Markdown
The top-level markdown field contains the entire AI Briefing response—both text_blocks and references—flattened into a single Markdown-formatted string:
"markdown": "사과 주스와 오렌지 주스는 칼로리·탄수화물 기준으로 비슷하지만, 비타민 ... [1] 다만 ..."Use markdown if you only need the full text; use text_blocks when you need to filter by type, work with inline references, or process the structure programmatically.
Media
The top-level media array contains images displayed alongside the AI Briefing, which Naver sourced from the cited pages. Each entry includes a title, link, thumbnail (image URL), and platform:
"media": [
{
"title": "Apple Juice vs. Orange Juice: Which Has More Vitamin C for Immune Support?",
"link": "https://www.verywellhealth.com/apple-juice-vs-orange-juice-11872120",
"thumbnail": "https://www.verywellhealth.com/thmb/11UaGLH66Drx2TTuxJjh8q3fMz8...",
"platform": "Verywell Health"
}
]Related Questions
The top-level related_questions array contains follow-up questions suggested by Naver. Each includes a question string and a serpapi_link you can query directly to get the AI Briefing answer for that follow-up:
"related_questions": [
{
"question": "사과 주스와 오렌지 주스 비타민C 함량 비교해 주세요",
"serpapi_link": "https://serpapi.com/search.json?engine=naver_ai_overview&query=..."
}
]How to Scrape Naver AI Briefings using SerpApi
With the response structure covered, here's how to actually start retrieving Naver AI Briefing results with SerpApi.
If you're new to SerpApi, follow the steps in Getting started with SerpApi to get set up. You can also check out the Naver AI Overview API Documentation for more examples.
GET Request
Using SerpApi's Naver AI Overview API is as simple as sending a GET request to https://serpapi.com/search. Set the engine parameter to naver_ai_overview, include your API key in api_key, and your query in query:
https://serpapi.com/search?engine=naver_ai_overview&api_key=YOUR_API_KEY&query=YOUR_QUERYHere's an example with cURL:
curl -G https://serpapi.com/search \
-d engine=naver_ai_overview \
-d api_key=$SERPAPI_KEY \
--data-urlencode query="apple juice vs orange juice"Ruby Example
All examples below use SerpApi's Ruby library. SerpApi also provides integrations for Python, JavaScript, PHP, Go, Java, and more, so you can use whatever language suits your stack.
Install the gem and set your API key:
gem install serpapi
export SERPAPI_KEY=your_secret_api_keyThen you can query the Naver AI Overview API and process the results:
require "serpapi"
client = SerpApi::Client.new(
engine: "naver_ai_overview",
api_key: ENV["SERPAPI_KEY"]
)
results = client.search(query: "apple juice vs orange juice")
# The full AI answer as Markdown
puts results[:markdown]
# Walk structured text blocks with source references
results[:text_blocks].each do |block|
case block[:type]
when "header"
puts "\n## #{block[:snippet]}"
when "paragraph"
puts block[:snippet]
block[:reference_indexes]&.each do |i|
ref = results[:references]&.find { it[:index] == i }
puts " -> #{ref[:title]} (#{ref[:link]})" if ref
end
when "list"
block[:list]&.each { |item| puts "- #{item[:snippet]}" }
end
endExample: Tracking Citations in Naver AI Briefings
Here's a concrete use case: tracking citations. Suppose you want to know whether Naver cites serpapi.com when someone searches “how to get Google search results as an API?”, and if so, what it says.
DOMAIN = "serpapi.com"
QUERY = "how to get Google search results as an API?"
# 0. Perform the desired search
results = client.search(query: QUERY)
# 1. Find our domain in references
references = results[:references] || []
refs = references.select { it[:link].include? DOMAIN }
if refs.empty?
puts "#{DOMAIN} was not cited."
return
end
puts "#{DOMAIN} was cited #{refs.length} time(s):"
refs.each { |ref| puts "- [#{ref[:index]}] #{ref[:title]} (#{ref[:link]})" }
# 2. Find every paragraph that cites our domain
ref_indexes = refs.map { it[:index] }
results[:text_blocks].each do |block|
next unless block[:type] == "paragraph"
next unless block[:reference_indexes]&.intersect?(ref_indexes)
puts "Paragraph: #{block[:snippet]}"
puts " Sources: #{block[:reference_indexes].inspect}"
endThis scans references for your domain, then walks text_blocks to find which paragraphs cite you via reference_indexes. Here's what it looks like:
serpapi.com was cited 1 time(s):
- [4] Google Search Engine Results API - SerpApi (https://serpapi.com/search-api)
Paragraph: Google 검색 결과를 API처럼 가져오려면, 공식적으로는 Google Search Console API를 통해 사이트의 검색 결과(검색 애널리틱스) 데이터를 프로그래매틱하게 조회할 수 있습니다. 반면, 일반 사용자 검색 결과(웹 검색 결과 페이지)를 그대로 가져오려면 Google에서 공식 API를 제공하지 않으므로, 서드파티 SERP API나 스크래퍼를 이용하는 방식이 안내됩니다.
Sources: [1, 2, 3, 4]
Paragraph: 또는 Apify의 Google Search Results Scraper처럼 검색 결과를 스크래핑하는 방식도 안내되지만, 비용 구조(이벤트 기반)와 결과가 국가, IP, 브라우저 지문 등에 따라 달라질 수 있다는 점이 함께 언급됩니다.
Sources: [4]
Paragraph: serpapi.com, https://serpapi.com/search-api
Sources: [4]Run this across target queries on a schedule, and you have a basic GEO tracker for the Korean search market.
Conclusion
The citation tracker above is just a starting point. Try swapping in your own domain and target queries, pair the Naver AI Overview API with the Naver Search API to compare AI-generated answers against organic results, or run queries on a schedule to track how Naver's citations shift over time.
New to SerpApi? Sign up and receive 250 free credits per month.