> ## Content Index
> Fetch the complete content index at: https://serpapi.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to Scrape Naver AI Briefings with SerpApi
- URL: https://serpapi.com/blog/scrape-naver-ai-briefings-with-serpapi/
- Published: 2026-06-30T15:06:24.000Z
- Updated: 2026-06-30T15:06:24.000Z
- Description: How to scrape AI-generated answers from Naver Search using SerpApi’s Naver AI Overview API and Ruby.
- Author: Braden Roth
- Tags: Naver, Naver AI Overview, AI Overviews, GEO

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](https://serpapi.com/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](https://serpapi.com/playground?engine=naver%5Fai%5Foverview&query=apple+juice+vs+orange+juice). 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](#how-to-scrape-naver-ai-briefings-using-serpapi).

```json
{
  "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`:

```json
{
  "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`:

```json
{
  "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`:

```json
{
  "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:

```json
{
  "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.

```json
"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:

```json
"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`:

```json
"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:

```json
"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](https://serpapi.com/blog/getting-started-with-serpapi-the-web-search-api/) to get set up. You can also check out the [Naver AI Overview API Documentation](https://serpapi.com/naver-ai-overview-api) 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`:

```http
https://serpapi.com/search?engine=naver_ai_overview&api_key=YOUR_API_KEY&query=YOUR_QUERY
```

Here's an example with cURL:

```bash
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](https://github.com/serpapi/serpapi-ruby). SerpApi also provides [integrations for Python, JavaScript, PHP, Go, Java, and more](https://serpapi.com/integrations), so you can use whatever language suits your stack.

Install the gem and set [your API key](https://serpapi.com/manage-api-key):

```bash
gem install serpapi
export SERPAPI_KEY=your_secret_api_key
```

Then you can query the Naver AI Overview API and process the results:

```ruby
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.

```ruby
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:

```text
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](https://serpapi.com/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](https://serpapi.com/users/sign%5Fup) and receive **250 free credits per month**.