Ollama Web Search APIとは?Windowsで使う方法|API key・Web Fetch・local-only
- 公開日
- 2026-08-10
- 更新日
- 2026-08-10
- 情報確認日
- 2026-08-10
- 編集・運営
- Local AI Compass
OllamaのWeb Search APIは、PC内のlocalhost APIだけで検索する機能ではありません。https://ollama.com/api/web_searchへAPI keyで接続し、検索結果を取得するcloud側のAPIです。Windowsでは、Web Search・Web Fetch・local model・tool callingを分け、PowerShellで外部通信の境界を確認してから使います。
導入前に確認すること
- Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
- 最初は軽量モデル、短い質問、少ない同時作業から始める
- 公式サイトの対応OS、利用規約、モデルのライセンスを確認する
先に結論:Web Searchはlocalhostのlocal APIとは別のcloud API
OllamaのWeb Search APIは、最新情報を検索してモデルの入力へ渡すためのREST APIです。公式docsでは、検索用のPOST先をhttps://ollama.com/api/web_search、既知のURLを読むWeb FetchのPOST先をhttps://ollama.com/api/web_fetchとして案内しています。どちらもAPI keyが必要です。
| 目的 | 接続先 | 認証・通信 | 最初に確認すること |
|---|---|---|---|
| Web Search | https://ollama.com/api/web_search | OLLAMA_API_KEYとBearer header。外部通信 | query、max_results、返ったURLとcontent |
| Web Fetch | https://ollama.com/api/web_fetch | OLLAMA_API_KEYとBearer header。外部通信 | url、title、content、links |
| Ollama native local API | http://localhost:11434/api | local APIへのアクセスは公式docs上で認証不要 | model、endpoint、stream=false |
| local-only mode | local APIのみを使う構成 | cloud機能を無効化。Web Searchは使えない | OLLAMA_NO_CLOUDまたはserver.json、再起動 |
「OllamaをWindowsで動かしているから検索もPC内で完結する」とは限りません。検索APIの送信先、local modelの推論場所、検索結果を受け取るアプリの保存先を別々に確認するのがこの記事の中心です。
- Ollamaのlocal/cloud比較 - 推論場所と通信経路の違いを先に確認する
- OllamaのAPI認証 - localhost・cloud model・API keyを分けて見る
- ローカルLLMの安全性 - ログ・権限・外部送信の確認へ進む
WindowsのPowerShellからWeb Search APIを呼ぶ
直接検索するだけなら、ローカルモデルを起動していなくてもWeb Search APIの仕様確認はできます。Windowsでは、API keyをソースへ書かず、ユーザー環境変数など既存のsecret管理から読み込み、検索語には秘密情報や個人情報を入れません。
$apiKey = [Environment]::GetEnvironmentVariable("OLLAMA_API_KEY", "User")
if ([string]::IsNullOrWhiteSpace($apiKey)) {
throw "OLLAMA_API_KEY is not configured"
}
$headers = @{
Authorization = "Bearer $apiKey"
}
$payload = @{
query = "WindowsでローカルAIを始める前に確認すること"
max_results = 5
} | ConvertTo-Json
$request = @{
Uri = "https://ollama.com/api/web_search"
Headers = $headers
Method = "Post"
ContentType = "application/json"
Body = $payload
}
$result = Invoke-RestMethod @request
$result.results | Select-Object title, url, content- Ollama accountでAPI keyを作成し、値を画面・Git・ログへ貼り付けない。
- Windowsのユーザー環境変数など、利用環境のsecret管理へOLLAMA_API_KEYを登録する。
- 安全なテスト用の検索語を使い、https://ollama.com/api/web_searchへ送信する。
- 返ったresultsのtitle、url、contentを確認し、検索結果をそのまま事実の証拠とみなさない。
- 使い終わったらshell履歴、CIログ、proxyログにAPI keyや検索語が残っていないか確認する。
公式仕様ではmax_resultsの既定値は5、最大値は10と説明されています。実際の利用上限、料金、アカウント条件は変わり得るため、現在のOllama accountと公式案内を優先してください。このサイトの確認作業ではAPI keyを取得・表示・使用していません。
- Ollama Web Search公式docs - request、response、API keyの現行仕様を見る
- Ollama認証のWindows確認 - OLLAMA_API_KEYを安全に扱う境界を確認する
- Ollama APIの接続確認 - client・server・endpointを分けて考える
Web Fetchは検索ではなく、指定した1つのURLを読むAPI
Web Searchがqueryから複数の候補を探すのに対して、Web Fetchは既知のURLを1つ指定してページ内容を取得します。検索結果のURLを後から詳しく読む、公式ドキュメントを指定して内容を取得する、といった順番で使い分けます。
$apiKey = [Environment]::GetEnvironmentVariable("OLLAMA_API_KEY", "User")
if ([string]::IsNullOrWhiteSpace($apiKey)) {
throw "OLLAMA_API_KEY is not configured"
}
$headers = @{
Authorization = "Bearer $apiKey"
}
$payload = @{ url = "https://docs.ollama.com/windows" } | ConvertTo-Json
$request = @{
Uri = "https://ollama.com/api/web_fetch"
Headers = $headers
Method = "Post"
ContentType = "application/json"
Body = $payload
}
$result = Invoke-RestMethod @request
[pscustomobject]@{
Title = $result.title
Content = $result.content
Links = ($result.links -join [Environment]::NewLine)
}
| API | 入力 | 主な返却値 | 向いている使い方 |
|---|---|---|---|
| web_search | query、任意のmax_results | results配列。title、url、content | 検索語から複数候補を得る |
| web_fetch | url | title、content、links | 候補URLや公式ページを詳しく読む |
Web FetchでもURL先へ通信するため、local-onlyの読書機能にはなりません。URLの所有者、ページ内容、リンク先、取得した文章の保存場所を確認し、検索結果や取得本文をモデルへ渡す前に不必要な個人情報を取り除きます。
- Ollama Web Fetch公式仕様 - url、title、content、linksの返却内容を見る
- Ollamaのlocal-only mode - cloudとWeb Searchを止める設定を確認する
- RAG・埋め込み・ベクトルDB - 取得した文書をローカルで扱う場合の基本を見る
local modelで検索エージェントを作るときの境界
Ollama公式の検索エージェント例では、localまたはcloudのモデルへweb_searchとweb_fetchをtoolとして渡し、モデルがtool callを返したらアプリ側が関数を実行し、その結果をmessagesへ追加して次の応答を行います。モデルがWebへ直接つながるのではなく、アプリがtool関数を呼ぶ構成です。
| 構成要素 | 役割 | 確認する通信・権限 |
|---|---|---|
| local model | Windows PC上で質問を判断し、tool callを提案する | modelの実行場所、RAM/VRAM、保存先 |
| web_search関数 | https://ollama.com/api/web_searchへqueryを送る | API key、検索語、外部通信、利用条件 |
| web_fetch関数 | 指定URLをhttps://ollama.com/api/web_fetchへ渡す | URL、取得本文、リンク、外部通信 |
| アプリ側のloop | tool callを検証し、結果をmodelへ返す | 実行許可、結果の長さ、ログ、停止条件 |
from ollama import chat, web_fetch, web_search
messages = [
{"role": "user", "content": "公式情報を確認して要点を整理してください"}
]
response = chat(
model="MODEL",
messages=messages,
tools=[web_search, web_fetch],
)
# response.message.tool_callsを検証してから、
# web_searchまたはweb_fetchをアプリ側で実行する
# 結果をtool messageとして追加し、次のchatを呼ぶ- model名と、local modelかcloud modelかを最初に記録する。
- tool callの関数名と引数をallowlistで確認し、知らない関数を実行しない。
- 検索結果のcontentを必要な長さに制限し、長文をそのまま何度も履歴へ追加しない。
- 外部作用のあるツール、ファイル書き込み、メール送信、購入操作などをWeb Searchと同じloopへ無条件に混ぜない。
この例は検索エージェントの構造を示すもので、特定モデルが常にtool callを返すことや、検索結果が正しいことを保証しません。toolを実行するのはアプリ側なので、modelの出力をそのままPowerShellや外部APIへ渡さない設計が必要です。
- Ollama Tool support公式記事 - toolsを渡してアプリ側で実行する基本を見る
- Ollamaのtool calling - tool_calls・引数・結果を安全に扱う
- Ollama native streaming - stream中のtool_callsを蓄積する境界を見る
local・cloud・Web Searchを同じ「Ollama」として扱わない
ローカルモデルを使っていても、検索APIを呼べば検索語と結果は別の外部通信経路を通ります。反対に、cloud modelをlocalhostのAPIから呼ぶ構成もあり得るため、URLだけで推論場所を断定しません。model、tool、base URL、保存先、ログを1行ずつ記録します。
| 確認対象 | local modelだけ | local model + Web Search | cloud model + Web Search |
|---|---|---|---|
| モデル推論 | PC上の構成 | PC上の構成を選べる | cloud側の構成を選ぶ |
| 検索通信 | なし | ollama.com/apiへ外部通信 | ollama.com/apiへ外部通信 |
| API key | local APIでは通常不要 | Web Search用に必要 | Web Search用に必要。model側の認証も別途確認 |
| PC負荷 | model、context、GPU/CPUの影響 | modelに加えて検索結果のcontextが影響 | local modelと同じ負荷とは限らない |
| local-only mode | 利用可能 | Web Searchは利用不可 | cloud modelとともに利用不可 |
Web Searchの結果は、モデルが生成した答えではなく、外部ページから取得した候補です。タイトル、URL、本文、公開日、一次情報かどうかを人間が確認し、重要な判断では検索結果だけを根拠にしません。
- Ollama local/cloud比較 - モデルの実行場所・通信・PC負荷を整理する
- Ollama Responses API - local endpointとcloud側のAPIを分けて実装する
- ローカルAIとMCP - Web検索・MCP・ファイル権限の違いを見る
OLLAMA_NO_CLOUDを設定するとWeb Searchは使えない
Ollama公式FAQでは、cloud機能を無効にするlocal-only modeの方法として、OLLAMA_NO_CLOUD=1またはserver.jsonのdisable_ollama_cloudが説明されています。この設定を有効にするとcloud modelだけでなくWeb Searchも使えなくなるため、検索が突然失敗したときはlocal-only設定を確認します。
# 現在のユーザー環境変数へ設定する例
[Environment]::SetEnvironmentVariable("OLLAMA_NO_CLOUD", "1", "User")
# 設定後にOllamaを終了し、Windowsから再起動する
# 解除するときは、組織の運用ルールを確認してから値を削除・変更する
[Environment]::SetEnvironmentVariable("OLLAMA_NO_CLOUD", $null, "User")- local-onlyにする理由、対象PC、利用者、戻す条件を決める。
- 環境変数または公式に案内されたserver.jsonの設定を変更する。
- Ollamaを再起動し、local modelの利用だけが必要な構成か確認する。
- Web Searchを使う必要がある場合は、設定を戻す前にAPI key、外部通信、組織ルールを再確認する。
- 設定変更後も、履歴、ログ、MCP、ブラウザ、別providerの通信経路は個別に確認する。
local-only modeは、ローカルで動くアプリ全体の安全性を保証する設定ではありません。ファイルアクセス、ログ保存、MCP、proxy、他の外部APIは別の境界として扱います。
- Ollama FAQ公式docs - OLLAMA_NO_CLOUDとserver.jsonの現行説明を見る
- Ollama API認証 - local-only・API key・cloudを比較する
- ローカルRAGのプライバシー - 文書・embedding・保存先の経路を確認する
Windowsで失敗したときの確認順
Web Searchのエラーは、API key、接続先、local-only設定、アカウント状態、検索語、返却結果の長さを一度に変えずに切り分けます。まずlocalの/apiとcloudのhttps://ollama.com/apiを混同していないか確認します。
| 症状 | 原因候補 | 最初の確認 |
|---|---|---|
| API keyがない・認証に失敗する | OLLAMA_API_KEYが現在のプロセスから読めない、Authorization形式が違う | 環境変数の有無だけを確認し、keyの値は表示しない |
| localhostへweb_searchを送っている | local native APIとcloud Web Searchのendpoint混同 | https://ollama.com/api/web_searchへ送る設計か確認 |
| local-only後に検索できない | OLLAMA_NO_CLOUDまたはserver.jsonが有効 | 設定、Ollamaの再起動、組織ルールを確認 |
| 検索結果が長くて回答が不安定 | resultsのcontentと履歴がcontextを圧迫 | max_results、本文の長さ、context、要約段階を分ける |
| 検索結果を信じてしまう | URLや出典を検証せず要約した | 公式・一次情報へWeb Fetchし、URLと日付を確認 |
| agentがtoolを実行しない | model能力、SDK、tool call処理が未確認 | 短いtool callを記録し、modelとSDKの公式例を確認 |
Ollama公式のWeb Search docsでは、検索結果は大量のtokenになる場合があり、検索エージェントでは約32000 tokenのcontextが推奨されています。これは全てのPCやモデルへ一律に必要という意味ではなく、検索結果の長さとPCのRAM/VRAMを見ながら段階的に調整します。
- 検索APIだけをPowerShellで確認し、次にWeb Fetch、最後にlocal modelとのtool loopへ進む。
- 失敗時のログにはURL、HTTP status、model名、設定の有無を残し、API keyや検索本文の秘密情報は残さない。
- 同じ検索を繰り返す前に、検索語、max_results、結果の長さ、モデルのcontextを変えたか記録する。
- OllamaのAPI認証 - 認証・base URL・local-onlyの切り分けを見る
- Ollamaモデルidentity - model ID・能力・実行状態を確認する
- Ollama回答が途中で止まるとき - context・メモリ・doneを確認する
安全に使うための最小チェックリスト
- 検索語、URL、文書へAPI key、cookie、個人情報、社外秘を入れない。
- API keyをソース、スクリーンショット、Git、shell履歴、CIログへ残さない。
- Web Searchの検索結果は候補として扱い、重要な主張は一次情報のページを開いて確認する。
- 検索結果をmodelへ渡す前に、長さ、出典URL、不要な指示文、個人情報を確認する。
- tool callを自動実行する場合も、削除、上書き、送信、購入、メールなどの外部作用には人間の確認を残す。
- Web Searchをlocal機能と説明せず、サイトやアプリの利用者へ外部通信とAPI keyの必要性を明示する。
Web Searchは「最新情報を取れる」便利な入口ですが、検索結果の品質、ページの更新、アクセス権、API利用条件を自動で保証するものではありません。Windows初心者は、まず安全な公開情報で1回だけ試し、local model・Web Search・Web Fetchの3経路を分けて記録するだけで十分です。
- ローカルLLMの安全性とプライバシー - 保存・ログ・外部送信・権限の基本を見る
- MCPとは - Web Search APIとMCPの役割を分ける
- Ollamaのlocal/cloud比較 - PC内処理とcloud経路を確認する
よくある質問
OllamaのWeb Search APIは完全にローカルですか?
いいえ。公式のWeb Search APIはhttps://ollama.com/api/web_searchへ接続し、API keyを使って検索します。local modelを検索エージェントへ組み合わせても、検索部分の通信は別に発生します。
Web Search APIとWeb Fetch APIは何が違いますか?
Web Searchはqueryから複数の検索結果を得るAPIで、Web Fetchは指定した1つのURLのtitle、content、linksを取得するAPIです。検索して候補を探すか、既知の公式ページを読むかで使い分けます。
OllamaのWeb SearchにAPI keyは必要ですか?
公式docsでは、Web Search APIへアクセスするためにAPI keyを作成し、Authorization: Bearer headerで送る例が案内されています。localのhttp://localhost:11434 APIへ認証なしで接続する場合とは別の条件です。
Web Searchを使うためにローカルモデルをpullする必要はありますか?
Web Search APIを直接呼ぶだけなら、検索APIの確認にローカルモデルは必須ではありません。検索エージェントを作る場合は、Ollama公式例のようにtool callを扱えるモデルと、web_search・web_fetchを実行するアプリ側のloopが必要です。
OLLAMA_NO_CLOUD=1でWeb Searchは使えますか?
Ollama公式FAQでは、cloud機能を無効にするとcloud modelとWeb Searchが使えなくなると説明されています。local-onlyで使うPCでは、Web Searchを利用する構成と同時に有効にしないでください。
Web Searchの結果をそのまま正しい情報として使えますか?
そのまま証拠にはしません。検索結果は候補として扱い、title、URL、本文、公開日、一次情報かどうかを確認し、重要な主張は公式ページや原典へ移動して確認します。
PowerShellでAPI keyを安全に使うには?
API keyをコードへ直書きせず、既存のsecret管理や環境変数から読み込みます。コマンド履歴、ログ、スクリーンショット、Gitへ値を残さず、漏れた可能性があればOllama accountでrevokeや再発行を確認します。
次に読むおすすめルート
開発・API連携したい人
LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
- ローカルAIをAPIで使う方法
- WindowsでローカルAIコーディングを始める
- VS CodeでローカルAIを使う
- LM Studioのlms CLIを使う
- LM StudioのTool Useを使う
- LM StudioのStructured Outputを使う
- LM StudioのResponses APIを使う
- LM StudioのMCPをAPIで使う
- ローカルAIでJSON出力する方法
- LM StudioとOllamaの違い
- コンテキスト長とは
- RAG・埋め込み・ベクトルDBの仕組み
- OllamaのEmbedding APIを使う
- OllamaのResponses APIを使う
- OllamaのAPI認証を確認する
- OllamaをWindowsのLANから使う前の確認
- OllamaのモデルID・能力を確認する
- OllamaのModelfileを使う
- Ollama native API streamingを使う
- OllamaのThinkingを使う
- LM StudioのEmbedding APIを使う
- RAG評価と引用確認の基礎
- faithfulness確認
- ローカルRAGのプライバシー
- MCPとは
- ローカルLLMの安全性とプライバシー
- Gemma 4 12Bの更新メモ
- Hermes Desktopとは
- Hermes DesktopとLM Studio接続
- Hermes DesktopとOllama接続
- Hermes Desktop接続トラブル
- Hermes DesktopでOpenRouterを使う
- Hermes DesktopでDeepSeek APIを使う
- Hermes DesktopでProviderを使い分ける
- Hermes DesktopとLM Studio接続の確認ポイント
- Hermes AgentとDesktopの違い
- Ollamaとは
- Windows ARMでローカルAIを使う前の確認
- WindowsでOllamaをインストールする
- Ollamaのローカルモデルとcloudモデルの違い
- Ollamaのモデル保存場所と移動
- Ollamaのモデル一覧・削除・容量整理
- OllamaのOpenAI互換APIを使う
- Ollamaのtool callingを使う
- OllamaのStructured Outputsを使う
- OllamaのEmbedding APIを使う
- OllamaのResponses APIを使う
- OllamaのAPI認証を確認する
- OllamaのモデルID・能力を確認する
- OllamaのModelfileを使う
- Ollama native API streamingを使う
- LM StudioのEmbedding APIを使う
- Ollamaの解説
- 診断基準
- 比較表
あなたはどのタイプ?
- 初めてローカルAIを触る人 - まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- LM Studio・Ollamaの症状別トラブルを解決したい人 - 起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。
- GPUなし・低スペックPCの人 - 軽量モデル、メモリ別の目安、重いときの確認ポイントを先に見ます。
- PDFや資料を読ませたい人 - 先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- ローカルAIエージェントを試したい人 - Bionic、Ollama、AnythingLLM、Hermesを役割別に分け、local/cloud、tool、保存、PC負荷を順番に確認します。
- 開発・API連携したい人 - LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
関連チェック先
- Ollama Web Search - Web Search API、Web Fetch API、認証、Python/JavaScriptライブラリ、検索エージェントの公式仕様を確認できます。
- Ollama Web search blog - Web Search APIの公開時期、API key、検索エージェント、Web Fetchの公式発表を確認できます。
- Ollama Authentication - localhostの認証不要と、ollama.com/apiへ直接接続するAPI keyの違いを確認できます。
- Ollama API Introduction - Windowsで使うlocal APIとcloud APIのbase URLを分けて確認できます。
- Ollama FAQ - OLLAMA_NO_CLOUDとserver.jsonによるlocal-only modeの公式説明を確認できます。
- Ollama Tool support - モデルへツールを渡し、アプリ側が関数を実行するtool callingの基本を確認できます。
- Ollama Windows - Windows版Ollama、localhost、PowerShellの前提を確認できます。