DeepSeek가 모델 API와 함께 내놓은 웹 검색·페이지 읽기 API다. 에이전트나 RAG 앱이 학습 데이터가 아니라 지금 웹에 있는 내용을 보고 답해야 할 때 쓰며, Search로 쓸 만한 페이지를 찾고 Fetch로 그 본문을 읽는 두 단계로 나뉜다.
| API | 하는 일 | 돌려주는 것 |
|---|---|---|
| Search | 검색어로 웹 검색 | 순위가 매겨진 결과 목록 |
| Fetch | URL 하나 읽기 | 페이지 제목과 본문(마크다운) |
둘 다 JSON으로 주고받는 단순한 HTTP API이고, 기존 DeepSeek API 키를 Bearer 토큰으로 그대로 쓴다. 검색은 외부 업체가 아닌 DeepSeek 자체 검색 엔진이 맡는다.
Search는 POST /v1/tools/search로 부른다. 검색어와 받을 개수만 넣으면 되고, 본문까지 함께 받을지도 고를 수 있다.
| 필드 | 설명 |
|---|---|
query | 1~128자. site:, -site:, 따옴표 구문 지원 |
count | 1~50개, 기본 10 |
need_content | true면 결과마다 본문 포함 |
결과에는 제목·URL·스니펫 말고도 요약, 사이트 이름, 날짜, 재정렬 점수(rerank_score), 신뢰도(authority)가 붙는다. 공식 문서만 보고 싶으면 검색어에 site:를 붙이고, 점수가 낮은 결과는 모델에 넘기기 전에 버리면 컨텍스트를 아낄 수 있다.
스니펫만으로 답하기 부족하면 Fetch를 쓴다. 검색 결과에서 고른 URL을 넣으면 페이지가 마크다운으로 돌아오므로, 크롤러나 HTML 파서를 따로 만들지 않고 바로 프롬프트에 붙일 수 있다. 몇 개만 깊게 읽으면 되는 리서치 에이전트라면 전부 본문째 받기보다 Search 후 상위 몇 개만 Fetch 하는 편이 토큰을 아끼기 쉽다.
Responses API에는 내장 도구 web_search도 있다. 이 도구를 켜면 서버가 알아서 검색하고, 결과를 컨텍스트에 넣은 뒤 답을 이어 쓴다. 다만 deepseek-v4-pro에서만 동작하고 deepseek-flash에서는 무시된다.
| 방식 | 특징 | 이럴 때 |
|---|---|---|
| Search·Fetch 직접 호출 | 무엇을 찾고 읽을지 내가 정함 | RAG 파이프라인, 결과를 걸러야 할 때 |
Responses web_search | 코드가 간단함 | v4-pro에 검색을 빨리 붙일 때 |
2026년 10월 V4.1 Flash 업데이트와 함께 공개된 새 기능이라, 문서에는 결과 품질이나 안정성에 대한 설명이 없다. 모델과 검색 결과를 한 업체에 모두 맡기는 구조라는 점도 염두에 둬야 한다. 과금과 오류 처리 방식은 Search & Fetch 가이드에서 확인하고, 실제로 쓸 검색어로 결과 품질을 먼저 시험해 보는 게 안전하다.
가장 흔한 쓰임은 모델이 답하기 전에 웹을 한 번 거치게 하는 단계다. 이미 DeepSeek 모델을 쓰고 있다면 같은 키로 검색과 페이지 읽기를 붙일 수 있어서, 따로 검색 업체를 연결하지 않아도 된다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 리서치 에이전트 | Search로 후보를 넓게 찾고, 점수가 높은 상위 몇 개만 Fetch 해서 읽고 정리 |
| RAG 앱 | 사내 자료에 없는 최신 정보를 Search 결과로 보강해 프롬프트에 함께 넣음 |
| 문서 기반 질의응답 | site:로 공식 문서 사이트만 검색해 엉뚱한 출처를 막음 |
| 간단한 챗봇 | deepseek-v4-pro에 Responses web_search를 켜서 검색을 서버에 맡김 |