# AIエージェントがWebページを取得する際に403エラーが発生する理由

> 2026年にClaude Code、OpenClaw、その他のAIエージェントでWebフェッチが403で失敗する理由：Cloudflareのデフォルト設定、robots.txt、レート制限、JavaScript、そして対処法

- URL: https://webreaderapi.com/ja/guides/web-fetch-403-errors/
- 最終更新: 2026-10-22
- 発行者: WebReaderAPI (https://webreaderapi.com)

403はサイト側が「拒否」しているという意味です。2025年以降、より多くのサイトがAIエージェントに対してデフォルトで拒否を返すようになり、2026年9月以降はCloudflareが広告収益型の新規サイトの多くでエージェントのトラフィックをブロックしています。ここでは原因を区別する方法と、合法的にできることを説明します。

**概要 — AIエージェントがページを取得する際に403が返るのはなぜですか？**

通常は、サイトまたはそのCDNが自動化トラフィックやAIトラフィックを拒否しているためです。Cloudflareは2025年7月1日以降、新規ドメインに対してデフォルトでAIクローラーをブロックしており、2026年9月15日以降は新規ドメインの広告掲載ページで「Agent」トラフィックをブロックしています。その他の原因としてはレート制限やログインウォールがあります。解決策は偽装ではなく許可を得ることです。**WebReaderAPI** はサイトからの回答を課金なしで返します。KYC不要、暗号資産で支払い。

## Webフェッチが失敗する一般的な原因

| 項目 | 値 |
| --- | --- |
| CDNからの403 | 多くのサイトでボット管理がデフォルトでAIクローラーやエージェントをブロックしている |
| サイトからの403または401 | ログインウォール、会員エリア、地域ルール、または既知のエージェントに対する完全なブロック |
| 429 | 短時間にリクエストが多すぎる。サイトがレート制限をかけている |
| 402 | サイトが支払いを求めている。例えばCloudflareのpay per crawlなど |
| 200だがテキストが空 | ページがJavaScriptでコンテンツを構築している。エラーではないが、読むものが何もない |
| 取得前に拒否された | 自分のツールがrobots.txtを遵守し、ページをスキップした |

## 2025年と2026年にWeb上で何が変わったのか？

大手インフラプロバイダーがAIブロックをデフォルトにしました。3つの日付付きの変更が、新しい403のほとんどを説明します：

- **2025年7月1日：** CloudflareはAIクローラーをデフォルトでブロックするようになり、新規ドメインの登録時に許可するかどうかを確認すると発表しました。同日、プライベートベータでpay per crawlを開始し、HTTP 402と価格を返すようになりました。
- **2026年7月1日：** CloudflareはAIトラフィックをSearch、Agent、Trainingの3つのカテゴリーに分類しました。「Agent」にはChatGPT-Userなどのチャットのフェッチャーが明示的に含まれます。
- **2026年9月15日：** 新規ドメインについて、Cloudflareのプリセットは広告を表示するページでTrainingとAgentのトラフィックをブロックします。Searchは許可されたままです。

ユーザーのためにページを取得するエージェントはAgentカテゴリーに該当します。2026年9月以降に登録された広告収益型サイトでは、拒否を想定してください。

## ブロックとバグをどう見分けるか？

何かを変更する前に、ステータスコードと本文を確認してください。

| 表示されるもの | 考えられる意味 | 次のステップ |
|---|---|---|
| チャレンジまたは「access denied」ページ付きの403 | サイトまたはそのCDNが自動化トラフィックを拒否している | それを尊重する。APIを探すか、アクセス許可を求める |
| 価格ヘッダー付きの402 | サイトがリクエストごとにアクセスを販売している | そのチャネルを通じて支払うかどうかを決める |
| 429 | リクエストを送りすぎた | 速度を落とし、バックオフして後で再試行する |
| 401、またはログインページ | コンテンツにアカウントが必要 | 公開リーダーの範囲外 |
| テキストがほとんどない200 | JavaScriptで構築されたコンテンツ | ブラウザでページをレンダリングする |
| ツールがrobots.txtで禁止されていると表示 | サイトがrobotsにスキップを求めている | それを尊重する |

自分側で解決できる技術的な問題は、429と空のJavaScriptページだけです。それ以外はサイト所有者の判断です。

## エージェントの開発者が合法的にできることは？

サイトの邪魔をするのではなく、協力してください。これらの手順は多くの失敗を解決し、エージェントをサイト所有者の立場に沿わせます：

1. **サイト自身のチャネルを使う。** 多くのサイトはAPI、RSSまたはAtomフィード、または必要なコンテンツを含むサイトマップを提供しています。
2. **アクセスを求める。** サイト所有者はrobots.txtやCDN設定で特定のボットを許可できます。明確なUser-Agentと連絡先ページがあれば簡単です。
3. **許可されているが空のページをレンダリングする。** JavaScriptのみのページには、ヘッドレスブラウザを実行するリーダーを使います。
4. **速度を落としてキャッシュする。** 同じページを一度だけ読み、保存し、`Crawl-delay`と429レスポンスを尊重します。
5. **サイトがアクセスを販売している場合は支払う。** 402はオファーです。サイトのチャネルを通じて受け入れるか、そのページを除外します。

いずれもサイト所有者の制御を保ち、それがあなたのエージェントを長期的に有用に保ちます。

## 拒否を回避するために絶対にしてはいけないことは？

エージェントを偽装したり、保護を突破したりしないでください。ブラウザのUser-Agentを偽造する、ブロックを逃れるためにIPアドレスをローテーションする、チャレンジページを解くといった行為は、礼儀正しいクライアントをアクセス制御を突破するためのツールに変えてしまいます。2026年、米国の2つの裁判所は、検索結果への自動アクセスをめぐる訴訟で、こうした手法を回避行為とみなしました。訴訟はまだ係争中で何も確定していませんが、リスクは理論上のものではありません。

また、ユーザーが依存するサイトとの信頼も損ないます。拒否は情報です。それを記録し、ユーザーにページが利用できなかったことを伝え、別の情報源に進んでください。

## サイトが拒否した場合、組み込みのフェッチツールはどうするのか？

ほとんどはエラーをモデルに返し、モデルはユーザーにページを読めなかったと伝えます。2026年10月22日に確認したOpenClawのドキュメントによると、組み込みのweb_fetchはReadabilityでコンテンツを抽出し、JavaScriptを実行せず、出力を20,000文字に制限します。フェッチプロバイダーにフォールバックでき、プラグインで新しいプロバイダーを登録できます。MCPリファレンスのfetchサーバーは、モデルが開始するフェッチについてデフォルトでrobots.txtを遵守します。

これらのツールが、robotsは許可しているがJavaScriptが必要なページで失敗する場合、ページをレンダリングするリーダーが役立ちます。サイトが拒否したために失敗する場合、どのツールもその回答を変えるべきではありません。

## サイトが拒否した場合、WebReaderAPIは何を返すのか？

拒否を明確に返し、課金はされません。robots.txtで禁止されているページは`403 blocked_by_robots`を返します。`ai-input=no`を宣言しているサイトは`403 blocked_by_site_policy`を返します。その他の方法でリクエストを拒否するサイトは`502 target_refused`を返し、`target_status`にサイト自身のステータスコードが含まれます。

サイトが当社のリクエストを拒否した場合、その回答をそのまま返します。CAPTCHAを解いたり、アカウントにログインしたり、ブロックやペイウォールを回避しようとしたりすることは決してありません。エージェントはユーザーにページがスキップされた理由を正確に示せます。[エラーページ](https://webreaderapi.com/ja/docs/errors/)では、すべてのコードとそれぞれの再試行ルールを一覧で確認できます。

## Webフェッチのエラー：よくある質問

### ブラウザではページが開くのに、エージェントでは失敗するのはなぜですか？

サイトが人間と自動化クライアントを異なる扱いするためです。ボット管理はブラウザを許可しエージェントを拒否でき、一部のサイトはデフォルトでAIトラフィックをブロックします。ページは読者には公開されていても、ロボットに必ずしも公開されているわけではありません。

### 再試行すれば403は解決しますか？

ほとんど解決しません。403は決定であり、不具合ではありません。429、タイムアウト、ネットワークエラーは指数バックオフで再試行し、403はサイト所有者が変更しない限り最終的なものとして扱ってください。

### WebReaderAPIはエージェントが読めないページを読めますか？

robotsを許可しているがテキストを表示するのにブラウザが必要なページのみです。WebReaderAPIが必要に応じてJavaScriptをレンダリングするからです。サイトが拒否するページは読めませんし、読もうともしません。

### ボットをサイトで許可してもらうにはどうすればよいですか？

連絡先URLを含む安定した説明的なUser-Agentを使い、robots.txtに従い、リクエストレートを低く保ち、所有者に尋ねてください。Web Bot Authなどの署名付きエージェントの仕組みにより、サイトはあなたが誰かを検証できます。

## ソース

1. [プレスリリース：AIクローラーがデフォルトでブロックされる](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01)
2. [従量課金クロールのご紹介](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01)
3. [ブログ：検索・エージェント・トレーニングのトラフィックオプション](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01)
4. [ブログ：AIクローラーとエージェントの新しいデフォルト設定](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15)
5. [Web fetchツール](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22)
6. [MCP fetch server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22)
7. [Reddit対SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08)
8. [GoogleによるSerpApiへの訴訟が却下される](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22)

---

WebReaderAPI: WebReaderAPIはAIエージェント向けのWebリーダーAPIで、あらゆる公開WebページをクリーンなMarkdownに変換します。暗号資産で支払い、本人確認書類のアップロードは不要です。$0.07/1Kページから購入できるプリペイドクレジットに有効期限はなく、robots.txtを尊重します。KYC不要 — 身分証もセルフィーも書類も不要。暗号資産で支払い。
