# Mengapa agen AI mendapat error 403 saat mengambil halaman web

> Mengapa web fetch gagal dengan 403 di Claude Code, OpenClaw, dan agen AI lain pada 2026: default Cloudflare, robots.txt, rate limit, JavaScript, dan solusinya.

- URL: https://webreaderapi.com/id/guides/web-fetch-403-errors/
- Terakhir diperbarui: 2026-10-22
- Penerbit: WebReaderAPI (https://webreaderapi.com)

403 adalah cara situs mengatakan tidak. Sejak 2025 makin banyak situs mengatakannya kepada agen AI secara default, dan sejak September 2026 Cloudflare memblokir lalu lintas agen di banyak situs baru yang didukung iklan. Berikut cara membedakan penyebabnya dan apa yang secara sah dapat Anda lakukan.

**Jawaban singkat — Mengapa agen AI saya mendapat 403 saat mengambil halaman?**

Biasanya karena situs, atau CDN-nya, menolak lalu lintas otomatis atau AI. Cloudflare telah memblokir crawler AI secara default untuk domain baru sejak 1 Juli 2025, dan sejak 15 September 2026 memblokir lalu lintas "Agent" pada halaman yang didukung iklan di domain baru. Penyebab lain adalah rate limit dan login wall. Solusinya adalah izin, bukan penyamaran. **WebReaderAPI** mengembalikan jawaban situs, tanpa biaya; tanpa KYC, bayar dengan kripto.

## Penyebab umum web fetch yang gagal

| Atribut | Nilai |
| --- | --- |
| 403 dari CDN | Bot management memblokir crawler AI atau agen secara default di banyak situs |
| 403 atau 401 dari situs | Login wall, area member, aturan wilayah, atau blokir keras terhadap agen yang dikenal |
| 429 | Terlalu banyak permintaan dalam waktu singkat; situs membatasi laju Anda |
| 402 | Situs meminta pembayaran, misalnya melalui Cloudflare pay per crawl |
| 200 tetapi teks kosong | Halaman membangun kontennya dengan JavaScript; bukan error, tetapi tidak ada yang bisa dibaca |
| Ditolak sebelum fetching | Alat Anda sendiri mematuhi robots.txt dan melewati halaman |

## Apa yang berubah di web pada 2025 dan 2026?

Penyedia infrastruktur besar menjadikan pemblokiran AI sebagai default. Tiga perubahan bertanggal menjelaskan sebagian besar 403 baru:

- **1 Juli 2025:** Cloudflare menyatakan kini memblokir crawler AI secara default, menanyakan setiap domain baru saat pendaftaran apakah akan mengizinkannya. Hari yang sama ia meluncurkan pay per crawl dalam private beta, yang menjawab dengan HTTP 402 dan sebuah harga.
- **1 Juli 2026:** Cloudflare memperkenalkan tiga kategori lalu lintas AI, Search, Agent, dan Training. "Agent" secara eksplisit mencakup fetcher chat seperti ChatGPT-User.
- **15 September 2026:** untuk domain baru, preset Cloudflare memblokir lalu lintas Training dan Agent pada halaman yang menampilkan iklan; Search tetap diizinkan.

Agen yang mengambil halaman untuk pengguna termasuk dalam kategori Agent. Di situs yang didukung iklan dan di-onboard setelah September 2026, perkirakan penolakan.

## Bagaimana cara membedakan blokir dari bug?

Baca status code dan body sebelum mengubah apa pun.

| Yang Anda lihat | Kemungkinan arti | Langkah berikutnya |
|---|---|---|
| 403 dengan challenge atau halaman "access denied" | Situs atau CDN-nya menolak lalu lintas otomatis | Hormati; cari API atau minta akses |
| 402 dengan header harga | Situs menjual akses per permintaan | Putuskan apakah akan membayar melalui kanalnya |
| 429 | Anda mengirim terlalu banyak permintaan | Perlambat dan coba lagi nanti dengan backoff |
| 401, atau halaman login | Konten memerlukan akun | Di luar cakupan untuk reader publik |
| 200 dengan hampir tanpa teks | Konten dibangun oleh JavaScript | Render halaman di browser |
| Alat Anda menyatakan robots.txt tidak mengizinkan | Situs meminta robot melewatinya | Hormati |

Hanya 429 dan halaman JavaScript kosong yang merupakan masalah teknis yang dapat Anda selesaikan di sisi Anda. Sisanya adalah keputusan pemilik situs.

## Apa yang secara sah dapat dilakukan pembuat agen?

Bekerja sama dengan situs, bukan mengakalinya. Langkah-langkah ini memperbaiki banyak kegagalan dan menjaga agen Anda di sisi yang benar dari pemilik situs:

1. **Gunakan kanal milik situs.** Banyak situs menawarkan API, feed RSS atau Atom, atau sitemap dengan konten yang Anda butuhkan.
2. **Minta akses.** Pemilik situs dapat mengizinkan bot bernama di robots.txt atau di pengaturan CDN mereka. User-Agent yang jelas dan halaman kontak memudahkannya.
3. **Render halaman yang diizinkan tetapi kosong.** Untuk halaman yang hanya JavaScript, gunakan reader yang menjalankan browser headless.
4. **Perlambat dan cache.** Baca halaman yang sama sekali, simpan, dan hormati `Crawl-delay` dan respons 429.
5. **Bayar di tempat situs menjual akses.** 402 adalah tawaran; terima melalui kanal situs atau tinggalkan halaman itu.

Masing-masing menjaga pemilik situs tetap memegang kendali, yang juga membuat agen Anda tetap berguna seiring waktu.

## Apa yang tidak boleh saya lakukan untuk melewati penolakan?

Jangan pernah menyamarkan agen atau mengalahkan proteksi. Memalsukan User-Agent browser, merotasi alamat IP untuk lolos dari blokir, atau menyelesaikan halaman challenge mengubah klien yang sopan menjadi alat yang dibuat untuk mengalahkan kontrol akses. Pada 2026, dua pengadilan AS memperlakukan teknik semacam itu sebagai circumvention dalam gugatan atas akses otomatis ke hasil pencarian. Kasusnya masih terbuka dan belum ada yang diputuskan, tetapi risikonya bukan teoretis.

Ini juga merusak kepercayaan dengan situs yang diandalkan pengguna Anda. Penolakan adalah informasi: catat, beri tahu pengguna bahwa halaman tidak tersedia, dan lanjutkan ke sumber lain.

## Apa yang dilakukan alat fetch bawaan saat situs menolak?

Sebagian besar mengembalikan error ke model, yang kemudian memberi tahu pengguna bahwa halaman tidak dapat dibaca. Dokumentasi OpenClaw, dibaca pada 22 Oktober 2026, menyatakan web_fetch bawaannya mengekstrak konten dengan Readability, tidak menjalankan JavaScript dan membatasi output pada 20.000 karakter; ia dapat beralih ke penyedia fetch, dan plugin dapat mendaftarkan yang baru. Server fetch referensi MCP mematuhi robots.txt untuk fetch yang diprakarsai model secara default.

Ketika alat ini gagal pada halaman yang mengizinkan robots tetapi memerlukan JavaScript, reader yang me-render halaman membantu. Ketika gagal karena situs menolak, tidak ada alat yang boleh mengubah jawabannya.

## Apa yang dikembalikan WebReaderAPI saat situs menolak?

Ia mengembalikan penolakan dengan jelas, dan Anda tidak dikenai biaya. Halaman yang tidak diizinkan oleh robots.txt memberikan `403 blocked_by_robots`. Situs yang menyatakan `ai-input=no` memberikan `403 blocked_by_site_policy`. Situs yang menolak permintaan dengan cara lain memberikan `502 target_refused`, dengan status code milik situs di `target_status`.

Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Agen Anda dapat menunjukkan kepada pengguna persis mengapa sebuah halaman dilewati. [Halaman errors](https://webreaderapi.com/id/docs/errors/) mencantumkan setiap kode dengan aturan retry untuk masing-masing.

## Error web fetch: pertanyaan umum

### Mengapa halaman terbuka di browser saya tetapi gagal di agen saya?

Karena situs memperlakukan manusia dan klien otomatis secara berbeda. Bot management dapat mengizinkan browser dan menolak agen, dan sebagian situs memblokir lalu lintas AI secara default. Halaman itu publik bagi pembaca, belum tentu bagi robot.

### Apakah mencoba lagi akan memperbaiki 403?

Jarang. 403 adalah keputusan, bukan gangguan. Coba lagi 429, timeout, dan error jaringan dengan exponential backoff; perlakukan 403 sebagai final kecuali pemilik situs mengubahnya.

### Dapatkah WebReaderAPI membaca halaman yang tidak dapat dibaca agen saya?

Hanya halaman yang mengizinkan robots tetapi memerlukan browser untuk menampilkan teksnya, karena WebReaderAPI me-render JavaScript saat diperlukan. Ia tidak dapat membaca halaman yang ditolak situs, dan tidak mencobanya.

### Bagaimana bot saya bisa diizinkan di sebuah situs?

Gunakan User-Agent yang stabil dan deskriptif dengan URL kontak, patuhi robots.txt, jaga laju permintaan tetap rendah, dan tanyakan kepada pemiliknya. Skema agen bertanda tangan seperti Web Bot Auth memungkinkan situs memverifikasi siapa Anda.

## Sumber

1. [Siaran pers: crawler AI diblokir secara default](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01)
2. [Memperkenalkan pay per crawl](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01)
3. [Blog: opsi traffic Search, Agent, dan Training](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01)
4. [Blog: default baru untuk AI crawler dan agent](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15)
5. [Alat web fetch](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22)
6. [Server fetch MCP](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22)
7. [Reddit v. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08)
8. [Gugatan Google terhadap SerpApi dismissed](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22)

---

WebReaderAPI: WebReaderAPI adalah API pembaca web untuk AI agent yang mengubah halaman web publik apa pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah identitas. Kredit prabayar mulai dari US$0,07/1K halaman tidak pernah kedaluwarsa, dan robots.txt dihormati. Tanpa KYC — tanpa identitas, tanpa selfie, tanpa dokumen. Bayar dengan kripto.
