
검색 API 단가만 비교하면 틀린다…재검색과 읽기 토큰까지 세는 법

검색 API의 월 비용은 작업 한 건에 필요한 검색·문서 읽기 비용과 모델 입력 비용을 먼저 계산한 뒤 월 작업 수에 맞춰 합산해야 한다. 검색 결과가 부족해 다시 요청했다면 추가 호출뿐 아니라 새 결과를 모델이 읽는 비용도 붙는다. 호출 단가가 같아도 검색 깊이, 읽은 페이지 수, 전달한 본문 길이에 따라 최종 비용은 달라진다.
기준 단위는 검색 요청 한 번보다 답변을 완성한 조사 작업 한 건이 유용하다. 작업별로 최초 검색과 재검색, 별도 문서 추출, 모델에 실제로 전달한 입력 토큰을 나눠 집계한다. 그런 다음 서비스의 과금 단위에 맞춰 월 사용량으로 환산하면 Tavily의 크레딧과 DeepSeek의 성공 요청 요금을 같은 작업 흐름 안에서 계산할 수 있다.
작업당 사용량을 월 과금 단위로 바꾼다
기본식은 ‘월 검색·문서 읽기 요금 + 월 모델 입력 토큰 ÷ 100만 × 입력 토큰 단가’다. 답변 생성까지 포함한 운영비가 필요하면 출력 토큰 요금도 더한다. 검색 API 요금은 서비스가 청구하는 크레딧이나 성공 요청 수로 계산하고, 모델 요금은 애플리케이션이 모델에 보낸 토큰으로 계산한다. 두 항목의 단위가 다르므로 검색 응답 크기를 그대로 모델 청구량으로 간주해서는 안 된다.
작업 한 건에는 최초 검색 수, 결과가 부족해 추가한 검색 수, 원문을 가져온 URL 수를 각각 적는다. 검색 결과의 요약만 사용한 작업과 원문을 별도로 읽은 작업은 문서 읽기 비용이 다르다. 모델 입력량에는 제목·요약·추출 본문 중 실제로 프롬프트에 들어간 부분만 넣는다. 반환된 본문을 잘라 보냈다면 잘라낸 뒤의 분량을 쓰고, 같은 본문을 여러 모델 호출에 반복해서 넣었다면 호출마다 입력된 분량을 합산한다.
월 작업 수에 단일 평균을 곱하면 사용량이 많은 조사 작업의 비중이 가려질 수 있다. 짧은 조회와 여러 페이지를 읽는 심층 조사를 별도 유형으로 나누고, 각 유형의 월 작업 수에 해당 유형의 평균 사용량을 곱해 합산하는 편이 정확하다. 무료 제공량이나 월정액 한도는 작업마다 빼지 않고 모든 작업의 월 사용량을 합친 뒤 한 번 적용한다.
Tavily는 검색 깊이와 성공한 추출 수를 센다
Tavily 크레딧 안내에 따르면 기본 검색은 요청당 1크레딧, 고급 검색은 2크레딧이다. 기본 추출은 성공한 URL 5개당 1크레딧, 고급 추출은 5개당 2크레딧이며 URL 추출에 실패하면 해당 추출에는 크레딧이 청구되지 않는다. 무료 제공량은 월 1,000크레딧이고, 종량제 단가는 크레딧당 0.008달러다.
따라서 작업당 크레딧은 검색 요청을 깊이별로 센 값과 성공한 문서 추출에 사용된 크레딧의 합이다. URL을 여러 추출 요청으로 나눠 보낸다면 전체 URL 수만 기록하기보다 요청별 성공 수와 청구 크레딧을 남겨야 한다. 검색 결과에 나온 URL 수가 곧 추출 성공 수는 아니다. 접근할 수 없는 페이지가 섞이면 실제로 읽은 본문량도 예상보다 줄어든다.
조건부 예시로 월 1,000건의 작업에서 각 작업이 기본 검색을 2회 하고 URL 5개를 기본 추출에 성공한다고 하자. 검색에 2크레딧, 추출에 1크레딧이 들어 작업당 3크레딧, 월 3,000크레딧이다. 무료 월 1,000크레딧을 이 작업에 모두 쓰고 초과분에 종량제를 적용한다는 가정이면 검색·추출 요금은 2,000 × 0.008달러, 즉 월 16달러다.
작업 수와 추출 수는 그대로 두고 검색 2회를 모두 고급 검색으로 바꾸면 작업당 5크레딧, 월 5,000크레딧이다. 같은 무료 제공량과 종량제 적용 조건에서 초과분 4,000크레딧의 요금은 32달러가 된다. 이 차이는 검색 깊이가 바꾼 API 요금만 보여준다. 고급 검색 결과를 더 길게 모델에 전달하는 구성이라면 입력 토큰 비용도 별도로 늘 수 있다.
DeepSeek는 Search와 Fetch를 별도로 청구한다
DeepSeek의 Search·Fetch 안내는 두 API를 각각 성공 요청 1,000건당 0.75달러로 표시한다. Search는 결과가 비어 있지 않고 Fetch는 페이지 본문을 반환한 HTTP 200 요청일 때 청구한다. 실패, 빈 검색 결과, 시간 초과 요청은 청구 대상에서 제외된다. 검색 결과 수를 조절하는 설정은 Search 요청의 단가를 바꾸지 않는다.
직접 API를 호출하는 조건부 예시에서 월 1,000건의 작업이 각각 결과가 있는 Search 2회와 본문을 반환한 Fetch 5회를 수행한다고 하자. 청구 대상은 Search 2,000회와 Fetch 5,000회다. 두 API의 단가가 같으므로 요청 요금은 7,000 × 0.00075달러, 즉 5.25달러다. 검색 결과와 가져온 본문을 모델에 넣을 때 발생하는 입력 토큰 요금은 이 금액에 들어 있지 않다.
Search에는 페이지 내용을 함께 반환하도록 요청하는 설정도 있다. 이 내용으로 충분한 작업이라면 같은 URL을 Fetch로 다시 가져오는 횟수는 줄어들 수 있다. 반면 반환 결과를 많이 모델에 전달하면 Search 요금이 같아도 읽기 비용은 늘어난다. DeepSeek의 일부 내장 도구 경로에는 직접 API 호출과 다른 한시적 무료 조건이 있으므로, 이 예시의 요청 요금을 그런 경로의 청구액에 그대로 적용해서는 안 된다.
모델이 읽은 분량을 더하면 비교가 달라진다
검색 공급자 중 한 곳을 만든 개발자가 공개한 검색 API 비용 실험에서는 같은 질문 묶음에 검색을 한 번씩 실행했을 때 Tavily 기본 설정의 모델 입력량이 질의당 3,166토큰, 고급 설정은 12,749토큰으로 측정됐다. 이는 해당 질문과 설정에서 모델에 전달된 분량이며 모든 작업의 예상치로 일반화할 수 없다. 다만 요청 요금표만으로는 모델이 읽을 페이로드의 차이를 볼 수 없다는 점은 분명해진다.
앞의 Tavily 기본 검색 예시에 조건을 하나 더하자. 작업마다 검색 결과 6,000토큰과 추출 본문 10,000토큰을 실제로 모델에 보낸다고 가정하면 월 1,000건의 입력량은 1,600만 토큰이다. 사용하는 모델의 입력 단가를 백만 토큰당 3달러로 가정할 때 읽기 비용은 48달러다. 앞서 계산한 검색·추출 요금 16달러를 더하면 월 추정액은 64달러가 된다.
여기서 백만 토큰당 3달러는 산식을 보여주기 위한 가정값이다. 실제 예산에는 사용하는 모델의 입력 단가와 캐시 적용 방식, 모델에 넘기는 본문 길이를 반영한다. 검색 응답 전체를 프롬프트에 넣는 구성과 필요한 문단만 골라 넣는 구성은 API 호출 수가 같아도 입력 토큰량이 다르다. 중간 요약을 만든 뒤 원문을 다시 전달하는 흐름이라면 두 모델 호출의 입력량을 모두 세어야 한다.
재검색률은 추가 호출과 추가 토큰으로 풀어 쓴다
재시도에 일괄 배수를 곱하면 비용이 과대하거나 과소 계산될 수 있다. 결과는 받았지만 필요한 근거가 없어 다시 검색한 작업에는 새 검색 요청 요금이 붙고, 새 결과를 모델이 읽었다면 입력 요금도 붙는다. 반면 청구 대상이 아닌 실패 요청은 지연을 만들 수 있어도 유료 요청 수를 늘리지는 않는다. DeepSeek에서는 결과가 없는 Search와 실패한 Fetch를 유료 성공 요청으로 세지 않으며, Tavily 문서가 명시한 실패 면제 조건은 URL 추출에 관한 것이다.
앞의 Tavily 예시에서 월 1,000건 중 100건이 기본 검색을 한 번 더 하고, 그때마다 새 결과 3,000토큰을 모델에 전달한다고 가정하자. 추가 검색 100회는 100크레딧으로, 종량제 적용 조건에서 0.80달러다. 추가 입력량 30만 토큰에는 앞서 가정한 단가를 적용해 0.90달러가 든다. 따라서 월 추정액은 64달러에서 65.70달러로 오른다. 재검색 뒤 문서를 새로 추출했다면 해당 크레딧과 본문 입력 토큰도 더해야 한다.
월 예산표에는 작업 유형별로 최초 검색, 추가 검색, 성공한 문서 읽기, 모델 입력 토큰을 각각 둔다. 재시도율은 ‘다시 검색한 작업의 비율’로만 남기지 말고 그 작업에서 실제로 추가된 검색·추출·읽기 분량으로 환산한다. 그래야 단가가 바뀌거나 검색 깊이를 조정할 때 어느 항목이 월 비용을 움직이는지 계산할 수 있다.
함께 읽기:
관련 기사
뉴스레터 구독
최신 Web3, AI, 암호화폐 뉴스를 이메일로 받아보세요.




