概要
DeepSeekのSearch APIとFetch APIは、エージェントやRAGアプリケーションにライブなウェブコンテンツへのアクセスを提供。 Search APIはクエリに基づきウェブページを検索し、構造化された結果を返却。 Fetch APIは指定URLのページ内容をMarkdown形式で取得。 どちらもBearer認証付きのJSON APIで、同一のAPIキーを利用。 料金やレート制限、エラー処理、請求体系も明確に定義。
DeepSeek Search APIとFetch API概要
-
Search API
- クエリに基づき関連ウェブページを検索し、 構造化データ で返却
- DeepSeek独自の 検索エンジン を利用
- クエリ演算子 による柔軟な検索条件指定が可能
- 結果にはタイトル、URL、スニペット、サマリー、ページ内容(オプション)、サイト情報、公開日、権威スコアなどを含む
-
Fetch API
- 指定した 単一URL のページ内容をMarkdown形式で取得
- タイトルとページ内容のみを返却
- 対象サイトの利用規約やアクセス制限の影響を受ける
-
認証・エンドポイント
- 両APIとも Bearer認証 (DeepSeek APIキー)をヘッダーで送信
- Content-Type はapplication/json
- ベースURL: https://api.deepseek.com
- Search: /v1/tools/search
- Fetch: /v1/tools/fetch
-
リクエスト例
- Search API
- 必須: query(1~128文字のUnicode、空白のみ不可)
- 任意: count(1~50)、need_content、localization、ori_question
- Python/requestsやcurlでの実装例も公式リファレンスに記載
- Fetch API
- 必須: url(HTTP/HTTPS、最大8192文字、ユーザ名・パスワードなし)
- Search API
-
クエリ演算子一覧
- site: 指定サイト限定検索
- -site: サイト除外
- -<単語>: 単語除外
- -"...":フレーズ除外
- "...":フレーズ完全一致
- lang: 言語コード指定
- after: 指定日以降
- before: 指定日以前
-
レスポンス仕様
- Search: 結果配列(results)で返却、各要素に多様なメタ情報
- Fetch: タイトルとMarkdown形式のページ内容
- エラー時はOpenAI互換のエラーフォーマット利用(paramは常にnull)
-
主なレスポンスフィールド
- rerank_score: 0~3の関連性スコア(1.5以上が高品質)
- authority: 0~4の権威レベル(3以上が高権威、-1は不明)
- content: need_content=falseや取得不可時は空文字
-
エラーコードと対処
- 400: リクエスト不正
- 401: APIキー不正
- 402: 残高不足
- 403: セキュリティポリシー違反
- 404: ページ取得不可
- 408/429/5xx: 一定時間後にリトライ
- その他4xx: 内容修正後のみリトライ
-
課金体系
- 成功リクエスト単位で課金(Search/Fetch共通、1,000回あたり$0.75)
- Searchは空配列、Fetchは内容未取得の場合は課金対象外
- count値は課金額に影響なし
- DeepSeek HarnessやClaude Code経由のサーバーサイド呼び出しは2026年11月1日0時(北京時間)から課金開始
-
レートリミット
- Search/Fetchそれぞれ独立してQPS(1秒あたりリクエスト数)上限5
- アカウント単位で計算、APIキーを分けても合算
- Fetchはドメイン単位のQPS制限も追加で適用
Search APIの使い方
-
リクエスト作成
- 必須: query
- 任意: count, need_content, localization, ori_question
- クエリ演算子で高度な検索条件指定
- 例:
{ "query": "DeepSeek site:github.com OR site:huggingface.co lang:en after:2025", "count": 10 }
-
レスポンス処理
- results配列に各ページ情報
- rerank_scoreやauthorityで品質評価
- need_content=true時のみ全文取得
Fetch APIの使い方
-
リクエスト作成
- 必須: url(HTTP/HTTPS、8192文字以内、ユーザ名・パスワード不可)
-
レスポンス処理
- titleとcontent(Markdown)
エラー・リトライ・課金の注意点
-
リトライ推奨ケース
- 408(タイムアウト)、429(QPS超過)、5xx(サーバー側エラー)
-
リトライ非推奨ケース
- 400, 401, 403, 404などは内容修正後のみ
-
課金対象外ケース
- Search: 結果配列が空
- Fetch: ページ内容取得不可
まとめ
- DeepSeek Search/Fetch APIは、 ライブWeb情報取得 や RAG開発 に最適
- Bearer認証 と JSON形式 でシンプルな設計
- 柔軟な検索条件指定や Markdown変換 など、最新の開発ニーズに対応
- エラー処理 や 課金体系 も明確で、商用利用にも安心