CLAUDE LABEN
OPUS — Claude Opus 4.7が一般提供になりました。ソフトウェアエンジニアリングと長時間コーディングが改善し、画像を高解像度で扱えるようになりましたAPIKEY — ConsoleでAPIキーに有効期限を設定できるようになりました。7日以上のキーは失効前にメールで通知されますREFLECT — Settings > Reflectの月次ふりかえりで、よく触れた話題や最も活発だった時間を確認できます(beta)M365 — Microsoft 365コネクタが書き込みに対応し、メール作成・カレンダー・OneDrive/SharePointのファイル操作を任せられますCOWORK — CoworkがWebとモバイルへ広がり、ChatとCoworkが一つのホームにまとまりましたDESIGN — Anthropic LabsのClaude Designで、設計・プロトタイプ・スライド・1枚資料をClaudeと共同制作できますOPUS — Claude Opus 4.7が一般提供になりました。ソフトウェアエンジニアリングと長時間コーディングが改善し、画像を高解像度で扱えるようになりましたAPIKEY — ConsoleでAPIキーに有効期限を設定できるようになりました。7日以上のキーは失効前にメールで通知されますREFLECT — Settings > Reflectの月次ふりかえりで、よく触れた話題や最も活発だった時間を確認できます(beta)M365 — Microsoft 365コネクタが書き込みに対応し、メール作成・カレンダー・OneDrive/SharePointのファイル操作を任せられますCOWORK — CoworkがWebとモバイルへ広がり、ChatとCoworkが一つのホームにまとまりましたDESIGN — Anthropic LabsのClaude Designで、設計・プロトタイプ・スライド・1枚資料をClaudeと共同制作できます
記事一覧/API & SDK
API & SDK/2026-06-15中級

Claude に最新ページを直接読ませる — web_fetch ツールの実装と落とし穴

Claude API の web_fetch ツールで、公式ページや PDF の本文をそのままコンテキストに取り込む実装手順です。URL を勝手に作らせない検証の仕組み、トークンを溶かさない設定、200 で返るエラーの処理まで、個人開発の自動運用で実際に踏んだ判断を共有します。

Claude API115web_fetchサーバーツールコスト管理13自動化パイプライン2

プレミアム記事

スケジュール実行で「Claude Code の直近の変更点を3行で要約して」と投げたところ、返ってきたのは数ヶ月前の機能を並べた、それらしいけれど古い要約でした。モデルは学習時点の知識で答えるので、これは想定どおりの挙動です。問題は、古いと気づかずに記事の下書きへ流れていきそうになったことでした。

公式の変更履歴ページは毎週のように更新されます。そこを Claude 自身に読ませてしまえば、要約は常に最新の本文に基づきます。これを叶えるのが web_fetch ツールです。Web 検索ではなく、こちらが指定した URL の本文(および PDF)を丸ごと取得してコンテキストに載せる、サーバー側で実行される道具です。

私自身、Dolice Labs で複数のサイトを個人開発で自動更新しているのですが、「公式ページの一次情報をそのまま読む」工程を入れてから、生成の事実誤りが目に見えて減りました。ここでは、その組み込みで実際につまずいた点を中心にまとめます。

web_fetch と web_search は役割が違う

最初に混同しやすいのが web_search との違いです。web_search は「クエリで世界中を検索して候補を集める」道具で、web_fetch は「すでに分かっている1枚のページを開いて全文を読む」道具です。

判断はシンプルで、コンテキストに URL が出ているなら fetch、まだ URL が分かっていないなら search という分け方になります。Claude は次のような時に fetch を選びます。

  • ユーザーメッセージや直前のツール結果に URL が含まれている
  • 特定のページ(ある記事・README・料金ページ等)を名指ししていて、かつ web_search も有効になっていて先に検索で探せる

逆に、「REST API 設計のベストプラクティスは?」のような一般的な問いでは fetch は走りません。特定のページを指していないからです。この線引きを理解しておくと、「URL を渡しているのに fetch してくれない」「逆に毎回検索に行ってしまう」といった挙動の食い違いを切り分けやすくなります。

まずは最小実装で動かす

Python SDK での最小構成は驚くほど短いです。ツール配列に web_fetch を1つ足すだけで、取得から読解までモデル側が引き受けます。

import anthropic
 
client = anthropic.Anthropic()
 
resp = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "次のページの要点を3つにまとめてください: "
                       "https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool",
        }
    ],
    tools=[
        {
            "type": "web_fetch_20250910",
            "name": "web_fetch",
            "max_uses": 3,
        }
    ],
)
 
for block in resp.content:
    if block.type == "text":
        print(block.text)

ベータ機能のため、環境によってはベータヘッダ web-fetch-2025-09-10 を付ける必要があります。SDK のバージョンが新しければツール定義を渡すだけで通ることもありますが、unsupported 系のエラーが返るときは、まずヘッダの有無を疑うのが早道です。

ここで覚えておきたいのは、web_fetch がサーバーツールである点です。tool_use を受け取ってこちらが実行して結果を返す、いわゆるクライアントツールとは違い、取得そのものは Anthropic 側で完結します。こちらのコードでは HTTP リクエストを書きません。その代わり、後述するように「どの URL を読ませるか」の制御責任がこちら側に残ります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
web_fetch_20250910 / web_fetch_20260209 の使い分けと、最小実装からレスポンスの読み方まで
URL は会話に出ていないと取得できないという検証仕様と、それを前提にした安全な組み込み方
max_content_tokens・allowed_domains・max_uses でトークンと攻撃面を抑える本番設定の指針
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-07-04
Claude apps gateway の発表を読んで、個人開発の管制面を作り直した話
セルフホスト型 Claude apps gateway の設計を管制面と実行面の分離として読み解き、個人開発の規模に縮約します。アプリ別コスト帰属・モデル許可リスト・fail-closed の支出上限を Cloudflare Workers で実装した記録です。
API & SDK2026-07-01
新モデルが増えてもコスト集計をズラさない Claude API 単価レジストリと fail-closed 設計
Opus 4.8 と Haiku 4.5 が Messages API に加わったとき、コード中に散らばった単価がコスト集計を静かに狂わせます。単価を1か所に集約し、未知モデルを fail-closed で弾く実装を、実コード付きで紹介します。
API & SDK2026-06-22
Claude API のコスト計算が請求と合わないとき — usage の4トークンバケットを正しく会計する
プロンプトキャッシュを有効にすると、自前のコスト集計とコンソールの請求額がずれます。usage が返す4つのトークンバケットを重み付きで会計し、突合できる台帳を組む方法をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →