--- title: "검색 예제" slug: "naver-api-hub-search-examples" updated: 2026-09-17T09:15:56Z published: 2026-09-17T09:15:56Z canonical: "api.ncloud-docs.com/naver-api-hub-search-examples" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 검색 예제 Classic/VPC 환경에서 이용 가능합니다. 검색 API로 네이버 검색의 블로그 검색 결과를 조회하는 구현 예제입니다. 검색 API의 다른 작업을 구현하는 방법도 이와 유사하기 때문에 이 구현 예제를 참고하면 검색 API를 구현할 수 있습니다. 참고 - 샘플 코드의 `YOUR_CLIENT_ID`에는 네이버 클라우드 플랫폼 콘솔에서 발급받은 Client ID를, `YOUR_CLIENT_SECRET`에는 Client ID에 매핑되는 Client Secret을 입력해 주십시오. - Client ID와 Client Secret 발급 방법은 [NAVER API HUB 개요](/docs/naver-api-hub-overview#API%ED%82%A4)를 참조해 주십시오. ## 블로그 검색 결과 조회 네이버 검색의 블로그 검색 결과를 조회하는 검색 API 예제를 설명합니다. 요청 URI(`/search/v1/blog`)와 쿼리 파라미터(`query`, `display` 등)를 다른 검색 작업의 값으로 교체하면 동일한 방식으로 다른 검색 결과를 조회할 수 있습니다. ### Java Java 기반의 검색 API 예제 코드는 다음과 같습니다. ``` package com.naver.apihub.example; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; public class ApiExampleSearchBlog { public static void main(String[] args) { String clientId = "YOUR_CLIENT_ID"; // 애플리케이션 Client ID String clientSecret = "YOUR_CLIENT_SECRET"; // 애플리케이션 Client Secret String text; try { text = URLEncoder.encode("커피", "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException("검색어 인코딩 실패", e); } String apiUrl = "https://naverapihub.apigw.ntruss.com/search/v1/blog?query=" + text + "&display=2"; Map requestHeaders = new HashMap<>(); requestHeaders.put("X-NCP-APIGW-API-KEY-ID", clientId); requestHeaders.put("X-NCP-APIGW-API-KEY", clientSecret); String responseBody = get(apiUrl, requestHeaders); System.out.println(responseBody); } private static String get(String apiUrl, Map requestHeaders) { HttpURLConnection con = connect(apiUrl); try { con.setRequestMethod("GET"); for (Map.Entry header : requestHeaders.entrySet()) { con.setRequestProperty(header.getKey(), header.getValue()); } int responseCode = con.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 정상 응답 return readBody(con.getInputStream()); } else { // 에러 응답 return readBody(con.getErrorStream()); } } catch (IOException e) { throw new RuntimeException("API 요청과 응답 실패", e); } finally { con.disconnect(); } } private static HttpURLConnection connect(String apiUrl) { try { URL url = new URL(apiUrl); return (HttpURLConnection) url.openConnection(); } catch (MalformedURLException e) { throw new RuntimeException("API URL이 잘못되었습니다. : " + apiUrl, e); } catch (IOException e) { throw new RuntimeException("연결이 실패했습니다. : " + apiUrl, e); } } private static String readBody(InputStream body) { InputStreamReader streamReader = new InputStreamReader(body, StandardCharsets.UTF_8); try (BufferedReader lineReader = new BufferedReader(streamReader)) { StringBuilder responseBody = new StringBuilder(); String line; while ((line = lineReader.readLine()) != null) { responseBody.append(line); } return responseBody.toString(); } catch (IOException e) { throw new RuntimeException("API 응답을 읽는데 실패했습니다.", e); } } } ``` ### PHP PHP 기반의 검색 API 예제 코드는 다음과 같습니다. ``` ``` ### Node.js Node.js 기반의 검색 API 예제 코드는 다음과 같습니다. ``` const client_id = 'YOUR_CLIENT_ID'; const client_secret = 'YOUR_CLIENT_SECRET'; const api_url = 'https://naverapihub.apigw.ntruss.com/search/v1/blog?query=' + encodeURIComponent('커피') + '&display=2'; (async () => { const response = await fetch(api_url, { headers: { 'X-NCP-APIGW-API-KEY-ID': client_id, 'X-NCP-APIGW-API-KEY': client_secret, }, }); console.log(response.status); console.log(await response.text()); })(); ``` ### Python Python 기반의 검색 API 예제 코드는 다음과 같습니다. ``` import urllib.request import urllib.parse client_id = "YOUR_CLIENT_ID" client_secret = "YOUR_CLIENT_SECRET" enc_text = urllib.parse.quote("커피") url = "https://naverapihub.apigw.ntruss.com/search/v1/blog?query=" + enc_text + "&display=2" request = urllib.request.Request(url) request.add_header("X-NCP-APIGW-API-KEY-ID", client_id) request.add_header("X-NCP-APIGW-API-KEY", client_secret) response = urllib.request.urlopen(request) rescode = response.getcode() if rescode == 200: response_body = response.read() print(response_body.decode("utf-8")) else: print("Error Code:" + str(rescode)) ``` ### C# C# 기반의 검색 API 예제 코드는 다음과 같습니다. ``` using System; using System.IO; using System.Net; using System.Text; namespace NaverApiHubExample { public class ApiExampleSearchBlog { static void Main(string[] args) { string clientId = "YOUR_CLIENT_ID"; string clientSecret = "YOUR_CLIENT_SECRET"; string query = WebUtility.UrlEncode("커피"); string url = "https://naverapihub.apigw.ntruss.com/search/v1/blog?query=" + query + "&display=2"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers.Add("X-NCP-APIGW-API-KEY-ID", clientId); request.Headers.Add("X-NCP-APIGW-API-KEY", clientSecret); try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { Console.WriteLine(reader.ReadToEnd()); } } catch (WebException e) // 에러 응답 { using (StreamReader reader = new StreamReader(e.Response.GetResponseStream(), Encoding.UTF8)) { Console.WriteLine(reader.ReadToEnd()); } } } } } ```