惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
S
Secure Thoughts
S
Security @ Cisco Blogs
S
Security Affairs
Forbes - Security
Forbes - Security
W
WeLiveSecurity
H
Hacker News: Front Page
T
Threatpost
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - Franky
腾讯CDC
IT之家
IT之家
博客园 - 聂微东
L
LINUX DO - 最新话题
罗磊的独立博客
Hacker News - Newest:
Hacker News - Newest: "LLM"
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
Hacker News: Ask HN
Hacker News: Ask HN
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
L
LINUX DO - 热门话题
美团技术团队
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Jina AI
Jina AI
Help Net Security
Help Net Security
N
News | PayPal Newsroom
月光博客
月光博客
Spread Privacy
Spread Privacy
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic

SerpApi

Decoding Protobuf Messages Without Access to the Schema Introducing SerpTrail: A self-hosted SEO and GEO rank tracker for your business Introducing SerpApi’s Hermes Agent Plugin Loop Engineering Visualized: A World Cup Fan Journey with SerpApi and Codex Google v. SerpApi: The Court Granted Our Motion to Dismiss SerpApi Weekly Changelog: July 13-19, 2026 The State of the SERP in the Age of AI How to find the Google Knowledge Graph ID (kgmid) for anything What is an API? Part 2: Feeding the Machine (JSON) Building an Accessibility Search Experience with Google Flights, Hotels, and Maps APIs SerpApi Weekly Changelog: July 06-12, 2026 How to Scrape Google Flights Deals with a simple API Monitoring FIFA World Cup 2026 scores with a simple API How to scrape Google sports results Build Smarter Pydantic AI Agents with Real-Time Search A complete guide to web scraping with Ruby (2026) SerpApi Weekly Changelog: June 29- July 05, 2026 Make no mistakes: agent usability testing Semantic Image Search with Elasticsearch What is an API? Part 1: The Secret Life of a Web Browser MCP Apps with FastMCP: Turning Tool Output Into Interactive UI Connect Sakana AI (Fugu) with Web Search API SerpApi Weekly Changelog: June 22-28, 2026 Trending Travel Destinations using Python & SerpApi How to scrape Bing reverse image search results Measuring Brand Presence Across AI Answer Engines SerpApi Weekly Changelog: June 15-21, 2026 How I Built a Star Wars Grogu Product Research Agent with Codex, Lark, and SerpApi How to scrape Bing web search results Categorizing hotels using Google Hotels images How to scrape Bing Images search results How to scrape Bing Copilot answers Build A No Code AI-Powered Local Lead Outreach System SerpApi Weekly Changelog: June 08-14, 2026 How to Do SEO Research with Claude Desktop and SerpApi MCP Track and Compare Product Prices Across Stores and Locations (SerpApi & Python) How to Extract Full Opinion Text from Google Scholar Case Law with SerpApi How to scrape Bing Maps search results SerpApi Weekly Changelog: June 01-07, 2026 Amazon ASIN Lookup API: Find and Fetch Product Details The State of MCP: Everything That Changed in H1 2026 How to scrape Bing News search results How to Connect Your Local LLM with Web Search Data SerpApi on Postman: One Unified Collection for Faster API Exploration SerpApi Weekly Changelog: May 25-31, 2026 Building an AI Agent in Python How to scrape Google Case Law API for Legal Research, Analytics, AI, and more SerpApi Achieves SOC 2 Type 2 and ISO 27001 Certification How to find your next product idea with Google Trends and SerpApi Scrape Competitors' Google Ads Data (Tutorial 2026) Using SerpApi and DeepSeek to Break Down Dan Koe’s Content Strategy SerpApi Weekly Changelog: May 18-24, 2026 How to scrape Bing Videos search results How to Scrape Instagram Profile Data with SerpApi How to scrape Bing Shopping search results How to Scrape Google Hotels Reviews SerpApi Weekly Changelog: May 11-17, 2026 5 Things You Can Build with Claude Code and Live Search Data Real Estate Data API for PropTech Developers How to Scrape Apple Maps with SerpApi How to scrape Google Trends
How to Scrape Naver AI Briefings with SerpApi
Braden Roth · 2026-06-30 · via SerpApi

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.

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"
  }
]

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_QUERY

Here'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_key

Then 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
end

Example: 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}"
end

This 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.