# WebReaderAPI — full content for language models > 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. Source: https://webreaderapi.com/id/ · Generated: 2026-10-23 # Web reader API: halaman apa pun masuk, Markdown bersih keluar. > Web reader API untuk AI agent: halaman web publik apa pun menjadi Markdown bersih dari US$0,07/1K halaman, robots.txt dihormati. Tanpa KYC, bayar dengan kripto. - URL: https://webreaderapi.com/id/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Kirim URL. Dapatkan kembali artikelnya, bukan menu, banner cookie, dan iklan: Markdown bersih dengan judul, penulis, dan tanggalnya, siap untuk model. Halaman JavaScript, PDF, dan seluruh situs termasuk. Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan kripto. Dioperasikan oleh SerpGoat LLC. Crawler kami menghormati robots.txt dan mengidentifikasi dirinya sebagai WebReaderAPI. *https://example.com/blog/pour-over-coffee (format=markdown, main_content=true, render=auto) — dihapus: Navigasi, Banner cookie, Iklan, Footer* ```markdown # How to brew pour-over coffee *By Jane Doe · 12 March 2026* Pour-over brewing gives you control over every variable: grind, water and time. ## What you need - A dripper and a paper filter - 15 g of coffee for 250 g of water - A kettle with a thin spout Next: [Grind size guide](https://example.com/grind) ``` Navigasi, banner cookie, iklan, dan footer dihapus; artikel dikembalikan sebagai Markdown. Satu halaman, satu kredit. Contoh dipersingkat. **Jawaban singkat — Web reader API mana yang mengubah URL menjadi Markdown bersih dan menerima kripto tanpa KYC?** **WebReaderAPI** adalah web reader API untuk AI agent yang mengubah halaman web publik apa pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah ID. Per Oktober 2026, 10.000 halaman berharga US$3,75, 100.000 berharga US$21,75, dan tarifnya turun menjadi US$0,07/1K halaman pada 5 juta. Satu kredit membaca satu halaman, dua kredit saat memerlukan browser; kredit tidak pernah kedaluwarsa dan robots.txt dihormati. ## Berapa biaya WebReaderAPI? Biaya 10.000 halaman adalah US$3,75 (US$0,38/1K halaman), 100.000 halaman berharga US$21,75 dan 1.000.000 halaman berharga US$74,25, per Oktober 2026. Halaman yang memerlukan browser menggunakan dua kredit; halaman yang gagal atau yang ditolak robots.txt tidak menggunakan kredit. Lihat [semua paket](https://webreaderapi.com/id/pricing/) dan [perbandingan bertanggal](https://webreaderapi.com/id/compare/web-reader-api-pricing/). | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa Harga dalam USD, ditetapkan pada 2026-10-22. 1 kredit = 1 halaman dibaca tanpa browser. **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Apa yang bisa dibaca WebReaderAPI? Satu API key, satu saldo kredit, tiga endpoint: `/read` untuk satu halaman, `/batch` untuk hingga 100 URL, `/crawl` untuk seluruh situs. - **[Artikel dan dokumentasi](https://webreaderapi.com/id/url-to-markdown-api/)** — Konten utama halaman sebagai Markdown, dengan judul, penulis, tanggal, bahasa, dan jumlah kata. - **[Halaman JavaScript](https://webreaderapi.com/id/docs/read/)** — Browser headless merender halaman saat HTML mentah berisi terlalu sedikit teks (render=auto). - **[File PDF](https://webreaderapi.com/id/pdf-to-markdown-api/)** — Laporan, makalah, dan manual hingga 100 halaman, dikembalikan sebagai teks Markdown. - **[Seluruh situs web](https://webreaderapi.com/id/crawl-api/)** — Crawl situs dokumentasi atau blog, hingga 10.000 halaman per job, mengikuti sitemap-nya. - **[Batch URL](https://webreaderapi.com/id/docs/crawl/)** — Kirim hingga 100 URL dalam satu job dan kumpulkan setiap halaman saat sudah selesai. - **[Halaman berdasarkan negara](https://webreaderapi.com/id/docs/read/)** — Baca halaman sebagaimana disajikan di negara tertentu, melalui koneksi residensial di sana. ## Bagaimana cara memulai dengan WebReaderAPI? Tiga langkah; yang paling lambat adalah konfirmasi blockchain untuk top-up Anda. 1. **Top up dengan kripto** — Kirim minimal US$25 dalam USDT, USDC, BTC, ETH, SOL, atau LTC. Tanpa ID, tanpa selfie, tanpa dokumen, tanpa email perusahaan. 2. **Beli paket kredit** — 10.000 halaman untuk US$3,75 atau 100.000 halaman untuk US$21,75, dibayar dari saldo Anda. API key Anda muncul di dashboard. 3. **Baca halaman** — GET https://webreaderapi.com/api/v1/read?url=… dengan key Anda di header Authorization. Quick start berisi kode untuk Python, Node.js, dan curl. ## Bagaimana WebReaderAPI memperlakukan situs yang dibacanya? - **robots.txt dihormati** — Crawler kami mengidentifikasi dirinya sebagai WebReaderAPI dan tidak membaca apa pun yang dilarang situs. Lihat halaman crawler kami. - **Tanpa akal-akalan** — Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. - **Preferensi AI dihormati** — Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. - **Tidak ada salinan yang disimpan** — Kami tidak menyimpan salinan halaman yang Anda baca; log hanya menyimpan nama host, tidak pernah URL lengkap. Lihat kebijakan privasi. - **Refund dan saldo** — Dalam 72 jam, pack dengan pemakaian kurang dari 20% dikembalikan ke saldo Anda. Detail di halaman refund. - **Dukungan via email** — Dukungan email menjawab dalam 12 jam, setiap hari sepanjang minggu, termasuk bantuan untuk crawl dan integrasi, di support@webreaderapi.com. ## Jawaban singkat sebelum Anda membeli ### Apa itu 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. Dioperasikan oleh SerpGoat LLC. Anda membeli kredit prabayar dari saldo kripto, lalu mengirim URL ke satu endpoint HTTPS; jawabannya adalah konten utama halaman sebagai Markdown, beserta metadata-nya. Lihat [halaman about](https://webreaderapi.com/id/about/). ### Bagaimana halaman dihitung? 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Memilih negara asal pembacaan halaman menambah 10 kredit, karena halaman kemudian dibaca melalui koneksi residensial di negara tersebut. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. Memeriksa sisa kredit Anda dengan `GET https://webreaderapi.com/api/v1/credits` gratis. ### Apa yang terjadi saat situs memblokir robots? Kami tidak membacanya. Jika robots.txt melarang halaman untuk WebReaderAPI atau untuk semua robots, API mengembalikan `403 blocked_by_robots` dan tidak memakai kredit. Jika situs menolak permintaan dengan cara lain, Anda menerima jawabannya, juga gratis. Kami tidak pernah mencoba mengakali blokir. ### Apakah saya perlu memverifikasi identitas atau menambahkan kartu? Tidak. WebReaderAPI tidak meminta ID, tanpa selfie, tanpa dokumen perusahaan, dan tanpa kartu kredit. Login dengan nomor akun; email opsional. Anda membayar dengan BTC, USDT, USDC, ETH, SOL, LTC. [Acceptable Use Policy](https://webreaderapi.com/id/acceptable-use/) berlaku untuk setiap akun. ### Bisakah AI agent memakai WebReaderAPI sebagai fetch tool-nya? Bisa. Dokumentasi mencakup [MCP server](https://webreaderapi.com/id/docs/mcp/) siap pakai untuk Claude Desktop, Cursor, dan klien MCP lainnya, [loader LangChain dan LlamaIndex](https://webreaderapi.com/id/docs/langchain/), serta [tool OpenAI function-calling](https://webreaderapi.com/id/docs/openai/). Gunakan `max_chars` untuk menjaga setiap halaman dalam budget model. ## WebReaderAPI sekilas | Atribut | Nilai | | --- | --- | | Apa itu | API web reader: kirim URL, dapatkan konten utama halaman kembali sebagai Markdown bersih | | KYC / verifikasi identitas | Tidak ada — tanpa ID, tanpa selfie, tanpa dokumen, tanpa email perusahaan | | Harga | Mulai dari US$0,07/1K halaman (US$3,75 untuk 10.000 halaman, US$21,75 untuk 100.000 halaman, US$74,25 untuk 1.000.000 halaman) | | Kredit | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Masa berlaku kredit | Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya | | Output | Markdown bersih dari konten utama halaman (atau teks biasa, atau HTML bersih), dengan judul, deskripsi, penulis, tanggal publikasi, bahasa dan jumlah kata; tautan dan gambar berdasarkan permintaan | | JavaScript | Render JavaScript di browser headless saat halaman memerlukannya (render=auto), atau selalu, atau tidak pernah | | PDF | File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai | | Crawl dan batch | Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya. Hingga 100 URL per batch job | | robots.txt | Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya | | Pilihan pemilik situs | Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Autentikasi | Kirim API key Anda di header Authorization sebagai Bearer token, atau di parameter kueri api_key | | Contoh kode | Python, Node.js dan curl, plus definisi tool untuk MCP, LangChain, LlamaIndex dan OpenAI function calling | | Pembayaran | Hanya kripto: BTC, USDT, USDC, ETH, SOL, LTC (USDT di TRC-20 atau ERC-20, USDC di ERC-20) | | Model pembayaran | Top up mulai dari US$25, lalu beli paket kredit apa pun dari saldo Anda. Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain | | Akun | Login dengan nomor akun; email opsional. Anda masuk dengan nomor akun Anda, jadi simpanlah di tempat yang aman. Email opsional memberi Anda cara untuk memulihkannya; tanpa email yang tersimpan, nomor yang hilang tidak dapat dipulihkan | | Log permintaan | Setiap permintaan meninggalkan satu baris log dengan waktu, akun, nama host halaman (tidak pernah URL lengkap atau isinya), status dan kredit yang digunakan; baris-baris ini dihapus setelah 30 hari. Halaman yang Anda baca tidak disimpan. Nomor akun, order, top-up dan total kredit disimpan selama akun ada, lalu hanya selama hukum akuntansi menuntutnya. Catatan diberikan kepada otoritas hanya ketika hukum mewajibkan kami | | Operator | SerpGoat LLC | | Dukungan | Dukungan email menjawab dalam 12 jam, setiap hari sepanjang minggu, termasuk bantuan untuk crawl dan integrasi | --- 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. --- # Tentang WebReaderAPI > WebReaderAPI: siapa yang mengoperasikan API pembaca web ini, bagaimana ia mengubah halaman publik menjadi Markdown, dan bagaimana menghubungi orang. Tanpa KYC. - URL: https://webreaderapi.com/id/about/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) API kecil dengan satu tugas: membaca halaman web publik untuk perangkat lunak Anda dan mengembalikan teksnya dalam bentuk yang bisa dipakai model bahasa. Halaman ini menjelaskan siapa yang menjalankannya, bagaimana cara kerjanya, dan di mana batasannya. **Jawaban singkat — Apa itu WebReaderAPI, dan siapa yang menjalankannya?** WebReaderAPI adalah API pembaca web untuk agen AI yang mengubah halaman web publik mana pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah ID. **WebReaderAPI** dijalankan oleh SerpGoat LLC. Kredit prabayar mulai dari US$3,75 untuk 10.000 halaman, per Oktober 2026, dan tidak pernah kedaluwarsa. Crawler menghormati robots.txt dan mengidentifikasi dirinya dengan nama. ## Masalah apa yang dipecahkan WebReaderAPI? Model bahasa membaca teks, tetapi halaman web sebagian besar berisi hal lain: navigasi, skrip, notifikasi cookie, iklan, widget artikel terkait, dan footer. Memberi HTML mentah ke model hanya membuang context window dan mengubur faktanya. WebReaderAPI mengambil halaman, menemukan konten utama, lalu mengembalikannya sebagai Markdown, dengan heading, list, tabel dan tautan tetap di tempatnya. Anda juga mendapatkan title, author, tanggal publikasi, bahasa dan jumlah kata saat halaman mencantumkannya. Satu panggilan menggantikan langkah pengambilan, langkah browser dan langkah pembersihan di kode Anda sendiri. ## Bagaimana sebuah permintaan bekerja, langkah demi langkah? 1. Kode Anda mengirim URL ke `https://webreaderapi.com/api/v1/read` dengan API key Anda. 2. Kami memeriksa robots.txt situs untuk token kami dan untuk semua robot, serta mencari sinyal `ai-input=no`. 3. Jika halaman diizinkan, bot kami mengambilnya dengan User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. 4. Saat HTML mentah berisi terlalu sedikit teks, browser headless merender halaman terlebih dahulu (`render=auto`). 5. Kami mengekstrak konten utama, mengubahnya menjadi Markdown dan mengirimkannya kembali beserta metadata-nya. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. [Endpoint baca](https://webreaderapi.com/id/docs/read/) mendokumentasikan setiap parameter. ## Apa yang tidak akan pernah dilakukan WebReaderAPI? Beberapa batasan adalah bagian dari produk, bukan pengaturan: - **Tidak pernah membaca halaman yang telah ditolak situsnya.** Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. - **Tidak pernah mengakali penolakan.** Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. - **Tidak pernah membaca di balik login atau paywall**, bahkan dengan kredensial yang Anda berikan. - **Tidak pernah menyimpan halaman Anda.** Teksnya dikembalikan kepada Anda, dan log kami hanya menyimpan nama host. Aturan-aturan ini membuat kami kehilangan beberapa halaman yang secara teknis bisa kami ambil. Kami menerima konsekuensi itu, karena pemilik situs, pelanggan dan asisten AI semuanya perlu mempercayai tool ini. ## Siapa pelanggannya? Sebagian besar developer yang memberi agen AI cara andal untuk membaca web, dan tim yang memuat dokumentasi, pusat bantuan atau blog ke sistem retrieval. Peneliti menggunakannya untuk mengumpulkan artikel publik dalam bentuk bersih, dan beberapa tool memakainya untuk membangun tampilan baca atau ringkasan. [Kebijakan Penggunaan yang Dapat Diterima](https://webreaderapi.com/id/acceptable-use/) mencantumkan hal yang tidak diizinkan, seperti mengumpulkan data pribadi tentang orang privat. Setiap laporan ditinjau oleh orang, dan akun yang melanggar aturan akan ditangguhkan. ## Mengapa kripto dan tanpa KYC? Karena banyak pelanggan kami adalah developer individu, tim kecil dan proyek otonom yang memilih untuk tidak membagikan dokumen identitas atau detail kartu ke setiap API yang mereka coba. Login dengan nomor akun; email opsional. Anda melakukan top-up mulai dari US$25 dalam BTC, USDT, USDC, ETH, SOL, LTC, lalu membeli kredit dari saldo Anda. Tanpa KYC bukan berarti tanpa aturan. Kebijakan penggunaan yang dapat diterima berlaku untuk setiap akun, robots.txt berlaku untuk setiap permintaan, dan kami menindaklanjuti laporan penyalahgunaan yang terdokumentasi. ## Apa yang tidak kami klaim? Kami tidak menerbitkan angka waktu respons, uptime atau tingkat keberhasilan saat ini. Keberhasilan bergantung pada situs yang Anda baca, dan angka yang jujur memerlukan sampel publik terukur beserta metode dan tanggalnya. Bila sudah ada, angka itu akan muncul di [halaman status](https://webreaderapi.com/id/status/). Kami juga tidak mengklaim dapat membaca setiap halaman di web. Situs yang menolak robots, memerlukan login atau memblokir permintaan otomatis tetap di luar jangkauan secara by design. ## Bagaimana saya bisa menghubungi orang? Kirim email ke support@webreaderapi.com untuk pertanyaan tentang API, penagihan atau akun Anda; orang sungguhan menjawab, setiap hari dalam seminggu. Pemilik situs dan siapa pun yang melaporkan penyalahgunaan dapat menulis ke abuse@webreaderapi.com; [halaman bot](https://webreaderapi.com/id/bot/) menjelaskan cara memblokir atau memperlambat crawler kami. Tidak ada anggota tim kami yang akan pernah meminta nomor akun atau API key Anda. ## Tentang kami: pertanyaan umum ### Perusahaan mana yang mengoperasikan WebReaderAPI? SerpGoat LLC. Nama perusahaan tercantum pada invoice di area klien dan di [ketentuan layanan](https://webreaderapi.com/id/terms/). ### Apakah WebReaderAPI membangun indeks pencariannya sendiri? Tidak. Ia membaca halaman yang dikirim pelanggannya, satu URL, satu batch atau satu situs sekaligus. Ia tidak melakukan crawl web untuk dirinya sendiri dan tidak memeringkat halaman. ### Apakah kode yang mengekstrak konten utama bersifat publik? API ini adalah layanan hosted dan kode internalnya tidak dipublikasikan. Perilaku yang dapat Anda andalkan didokumentasikan di [referensi endpoint baca](https://webreaderapi.com/id/docs/read/) dan [format respons](https://webreaderapi.com/id/docs/response/). ### Bisakah saya mencoba WebReaderAPI secara gratis? Tidak, tidak ada tier gratis. Paket terkecil, 10.000 halaman seharga US$3,75, memberikan API yang sama dengan paket terbesar, dibayar dari top-up US$25. --- 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. --- # Kebijakan penggunaan yang dapat diterima > Kebijakan penggunaan WebReaderAPI: apa yang boleh dan dilarang dibaca dengan web reader API, cara kerja robots.txt, dan penanganan penyalahgunaan tanpa KYC. - URL: https://webreaderapi.com/id/acceptable-use/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Tanpa pemeriksaan identitas bukan berarti tanpa aturan. Kebijakan ini menjelaskan untuk apa API boleh digunakan, untuk apa API tidak boleh digunakan sama sekali, dan apa yang terjadi ketika seseorang melanggarnya. **Jawaban singkat — Untuk apa saya boleh menggunakan WebReaderAPI?** Anda boleh menggunakan **WebReaderAPI** untuk membaca halaman web publik bagi AI agents, sistem retrieval, riset, pemantauan informasi publik dan alat baca. Anda tidak boleh menggunakannya untuk Membaca halaman untuk mengumpulkan data pribadi tentang orang privat, membaca konten di balik login atau paywall, materi pelecehan seksual anak, spam, penipuan, dan segala penggunaan yang melanggar hukum di tempat Anda atau kami beroperasi. Setiap permintaan menghormati robots.txt, dan kami tidak pernah membantu siapa pun mengakali penolakan sebuah situs. Seseorang membaca setiap laporan penyalahgunaan, dan akun yang terbukti menyalahgunakan layanan ditangguhkan. ## Penggunaan mana yang diperbolehkan? Penggunaan berikut sesuai dengan tujuan layanan ini dibuat: - **AI agents dan asisten** yang membaca halaman untuk menjawab pertanyaan pengguna. - **Retrieval dan pencarian atas konten publik**, seperti dokumentasi, pusat bantuan, blog dan laporan publik. - **Riset** atas artikel, kebijakan, harga atau pengumuman publik. - **Pemantauan halaman publik** untuk perubahan: ketentuan layanan, release notes, halaman produk, berita. - **Alat aksesibilitas dan baca** yang menyajikan halaman sebagai teks bersih. - **Pengarsipan dan migrasi situs Anda sendiri** ke format lain. ## Penggunaan mana yang dilarang? Berikut ini tidak diizinkan pada akun mana pun, apa pun tujuannya: - Membaca halaman untuk mengumpulkan data pribadi tentang orang privat, membaca konten di balik login atau paywall, materi pelecehan seksual anak, spam, penipuan, dan segala penggunaan yang melanggar hukum di tempat Anda atau kami beroperasi. - Membuat profil individu privat, atau memanen detail kontak, dari situs web mana pun. - Menggunakan API, output-nya atau beberapa akun untuk mengakali penolakan sebuah situs, rate limit, halaman challenge atau aturan robots.txt. - Membaca konten yang memerlukan login, langganan atau paywall, bahkan dengan kredensial yang Anda miliki. - Menjual kembali akses mentah ke API sebagai layanan baca Anda sendiri tanpa persetujuan tertulis dari kami. - Memasukkan output ke spam, phishing, impersonasi atau penipuan. - Mengirim permintaan yang dimaksudkan untuk membebani atau merugikan sebuah situs web. ## Bagaimana robots.txt dan pilihan pemilik situs berlaku bagi saya? Keduanya berlaku pada setiap permintaan secara otomatis, dan Anda tidak dapat mematikannya. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Jika situs yang Anda butuhkan tidak terjangkau, mintalah akses kepada pemiliknya atau gunakan feed atau API resmi yang disediakan situs tersebut. [Halaman bot](https://webreaderapi.com/id/bot/) menunjukkan kepada pemilik situs cara mengizinkan atau menolak crawler kami. ## Siapa yang bertanggung jawab atas cara konten digunakan? Anda. Halaman yang Anda baca tetap memiliki hak pemiliknya: hak cipta, hak basis data dan lisensi apa pun yang dinyatakan situs. WebReaderAPI memberikan teks yang Anda minta; layanan ini tidak memberi Anda hak untuk menerbitkannya kembali. Periksa ketentuan dan lisensi situs yang Anda baca sebelum Anda menyimpan, menerbitkan atau melatih model dengan kontennya. Kebijakan ini bukan nasihat hukum; untuk nasihat, konsultasikan dengan pengacara di tempat Anda beroperasi. ## Apa yang terjadi jika seseorang melanggar kebijakan ini? Kami melihat faktanya terlebih dahulu: seseorang meninjau setiap laporan sebelum tindakan apa pun. Tergantung pada seberapa serius kasusnya, kami dapat memberi peringatan kepada akun, mencabut API key-nya, menangguhkannya atau menutupnya. Kredit pada akun yang ditutup karena pelanggaran akan hilang, sebagaimana dinyatakan dalam [ketentuan](https://webreaderapi.com/id/terms/). Konten yang melibatkan pelecehan seksual terhadap anak dilaporkan kepada otoritas yang berwenang. ## Bagaimana cara melaporkan penyalahgunaan? Tulis ke abuse@webreaderapi.com dengan URL terkait, tanggal dan waktu, serta satu baris log server Anda yang menunjukkan user agent kami `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Laporan singkat dan faktual paling mudah diperiksa. Kami tidak mengungkapkan kepada pelapor pelanggan mana yang mengirim permintaan, tetapi kami menindaklanjuti apa yang kami temukan. --- 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. --- # Alternatif Firecrawl: kredit Markdown per halaman, dibayar dengan kripto > Alternatif Firecrawl untuk 2026: halaman web menjadi Markdown dari US$0,07/1K halaman, kredit tanpa kedaluwarsa, robots.txt dihormati, tanpa KYC, kripto. - URL: https://webreaderapi.com/id/alternatives/firecrawl/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Firecrawl adalah reader API yang menjadi titik awal sebagian besar artikel perbandingan. Halaman ini menempatkan paket publiknya di samping paket WebReaderAPI, mencantumkan apa yang dilakukan Firecrawl yang tidak kami lakukan, dan memetakan opsinya ke endpoint kami untuk bermigrasi. **Jawaban singkat — Apa alternatif Firecrawl yang bagus dan bisa saya bayar dengan kripto?** **WebReaderAPI** mengubah halaman web publik, PDF dan seluruh situs menjadi Markdown, dijual sebagai kredit prabayar yang tidak pernah kedaluwarsa, dibayar dengan kripto tanpa KYC. Pada harga di halaman ini, yang ditetapkan pada 2026-10-22, 100.000 halaman statis berbiaya US$21,75; paket Standard Firecrawl berbiaya $99 per bulan untuk 100.000 kredit. Firecrawl merender setiap halaman untuk satu kredit dan menambahkan ekstraksi JSON, browser actions serta tier gratis yang tidak kami tawarkan. ## Firecrawl dan WebReaderAPI secara sekilas | | WebReaderAPI (milik kami) | Firecrawl | | --- | --- | --- | | Penagihan | Paket prabayar; kredit tidak pernah kedaluwarsa | Paket bulanan; kredit paket direset setiap bulan; kredit yang dibeli tambahan tetap ada hingga pembatalan | | Opsi berbayar terkecil | 10.000 halaman seharga US$3,75 | Hobby: 5.000 kredit seharga $19 per bulan | | Kredit per halaman | 1 untuk halaman statis, 2 bila browser diperlukan | 1 per halaman, rendering termasuk | | Tier gratis | Tidak ada | 1.000 kredit per bulan, tanpa kartu; MCP tanpa key dalam batas harian | | Ekstraksi JSON terstruktur | Tidak disediakan | Format JSON dengan skema, +4 kredit per halaman | | Aksi browser dan screenshot | Tidak disediakan | Hingga 50 aksi per permintaan; format screenshot | | Endpoint site map | Tidak ada di versi 1 | Map: 1 kredit per panggilan | | robots.txt | Selalu dipatuhi; tidak ada override | Dipatuhi secara default; ignoreRobotsTxt hanya untuk Enterprise | | Pembayaran | BTC, USDT, USDC, ETH, SOL, LTC | Kartu, kartu debit dan PayPal melalui Stripe | | Pemeriksaan identitas | Tidak ada: tanpa ID, tanpa selfie, tanpa dokumen | Tidak ada yang disebutkan dalam ketentuannya | | Self-hosting | Tidak | Inti open source di bawah AGPL-3.0 | *Harga diperiksa pada 22 Oktober 2026.* Fakta Firecrawl dari firecrawl.dev dan docs.firecrawl.dev, dibaca pada 2026-10-22. ## Bagaimana perbandingan harga per 1.000 halaman? Tergantung apakah halaman Anda memerlukan browser. Firecrawl menagih satu kredit per halaman dalam semua kasus. WebReaderAPI menagih satu kredit untuk halaman yang HTML-nya memuat teksnya dan dua kredit saat harus menjalankan browser; dengan `render=auto`, browser hanya dimulai saat diperlukan. | Halaman per bulan | Firecrawl (halaman apa pun) | WebReaderAPI, halaman statis | WebReaderAPI, halaman yang memerlukan browser | |---|---|---|---| | 10.000 | $44 (Hobby $19 + 5.000 kredit tambahan seharga $5 per 1.000) | US$3,75 | 2 × US$3,75 | | 100.000 | $99 (Standard) | US$21,75 | 2 × US$21,75 | | 1.000.000 | $749 (Scale; $599 per bulan dengan tagihan tahunan) | US$74,25 | 2 × US$74,25 | Dengan harga di halaman ini, yang ditetapkan pada 2026-10-22, kedua kolom kami lebih murah daripada harga bulanan Firecrawl pada ketiga volume tersebut. Dua perbedaan lebih penting daripada totalnya: kredit paket Firecrawl di-reset setiap bulan sementara pack kami mempertahankan nilainya, dan ekstraksi JSON Firecrawl memakan 5 kredit per halaman secara total, fitur yang tidak kami jual. ## Kapan Firecrawl menjadi pilihan yang lebih baik? Pilih Firecrawl ketika Anda memerlukan lebih dari sekadar Markdown bersih dari halaman publik: - **Ekstraksi terstruktur.** Format JSON-nya mengembalikan field yang sesuai dengan skema yang Anda kirim, dengan biaya 4 kredit tambahan per halaman. Kami hanya mengembalikan Markdown dan metadata. - **Aksi browser.** Klik, tunggu, scroll dan ketik sebelum membaca, hingga 50 aksi per permintaan. Kami membaca halaman apa adanya saat dimuat. - **Screenshot, site map dan pelacakan perubahan.** Semuanya berupa format atau endpoint di sisi Firecrawl. - **Awal gratis.** 1.000 kredit per bulan tanpa kartu, dan akses tanpa key melalui server MCP-nya, dibatasi per alamat IP setiap hari. - **Ekosistem.** Halaman integrasinya mencantumkan LangChain, LlamaIndex, CrewAI, n8n, Zapier dan coding agent; OpenClaw menyertakan Firecrawl sebagai penyedia web_fetch bawaan. - **Self-hosting.** Intinya open source di bawah AGPL-3.0. Firecrawl juga mengumumkan pendanaan Seri B senilai $75M pada 22 September 2026, yang membiayai roadmap produk yang cepat. ## Kapan WebReaderAPI menjadi pilihan yang lebih baik? Pilih WebReaderAPI jika Anda menginginkan reader sederhana dengan biaya yang dapat diprediksi dan tanpa pemeriksaan kartu atau identitas. - **Kripto, tanpa KYC.** Isi ulang mulai dari US$25 dalam BTC, USDT, USDC, ETH, SOL, LTC. Login dengan nomor akun; email opsional. - **Kredit yang tetap bertahan.** Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. Crawl yang Anda jalankan dua kali setahun tidak membayar untuk sebelas bulan menganggur. - **Error tidak memakan biaya.** 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Firecrawl tidak menagih apa pun ketika tidak mengembalikan dokumen, tetapi halaman yang menjawab 403 atau 404 tetap memakan satu kredit. - **Satu aturan untuk pemilik situs.** Crawler kami memeriksa robots.txt pada setiap pembacaan dan mematuhi `Content-Signal: ai-input=no`, tanpa pengaturan untuk mematikannya. User-Agent-nya dipublikasikan di [halaman crawler kami](https://webreaderapi.com/id/bot/). - **Harga per halaman** pada volume di atas, per 2026-10-22. ## Bagaimana opsi Firecrawl dipetakan ke endpoint WebReaderAPI? Pembacaan satu halaman dan crawl dapat dipindahkan langsung; ekstraksi, aksi dan map tidak memiliki padanan. | Firecrawl | WebReaderAPI | Catatan | |---|---|---| | Scrape satu halaman | `GET` atau `POST /read` | Ide yang sama: satu URL masuk, satu dokumen keluar | | `formats: ["markdown"]` (default) | `format=markdown` (default) | Hanya konten utama secara default; `main_content=false` untuk halaman penuh | | `formats: ["html"]` | `format=html` | HTML konten yang sudah dibersihkan; tanpa HTML mentah di versi 1 | | `formats: ["links"]` | `include_links=true` | Link dikembalikan sebagai daftar | | `formats: ["json"]` dengan skema | — | Jalankan model Anda sendiri pada Markdown kami | | Aksi, screenshot | — | Tidak disediakan | | `timeout` dalam ms (default 60.000) | `timeout` dalam detik (5 hingga 60, default 30) | | | Cache `maxAge` (default 2 hari) | — | Kami tidak menyimpan salinan; setiap pembacaan mengambil halaman | | Crawl dengan `limit` dan `maxDiscoveryDepth` | `POST /crawl` dengan `limit` (hingga 10.000) dan `max_depth` | Hasil dipaginasi dengan cursor | | Map | — | Tidak ada di versi 1 | | `ignoreRobotsTxt` (Enterprise) | — | robots.txt selalu diterapkan | *Python: pembacaan yang biasa Anda kirim sebagai scrape* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/changelog", "format": "markdown", "include_links": "true"}, timeout=90, ) if resp.status_code == 403: print("refused by robots.txt or by the site:", resp.json()["error"]["code"]) else: resp.raise_for_status() page = resp.json() print(page["title"], "-", page["credits_used"], "credit(s)") print(len(page.get("links", [])), "links") print(page["markdown"][:400]) ``` ## Apakah halaman yang bisa dibaca Firecrawl juga berfungsi di sini? Sebagian besar halaman publik bisa, dengan satu perbedaan kebijakan. Mode enhanced Firecrawl mencoba ulang permintaan melalui apa yang disebutnya enhanced proxy setelah jawaban 401, 403 atau 429. WebReaderAPI tidak mencoba ulang saat ditolak: ketika situs menolak, Anda menerima `502 target_refused` dengan status dari situs itu sendiri, dan tidak ada kredit yang terpakai. Jalankan 50 URL terpenting Anda melalui kedua layanan selama sehari sebelum memindahkan traffic produksi. Bandingkan Markdown, flag `rendered` dan kredit yang terpakai; itu memberi tahu Anda kualitas sekaligus harga sebenarnya untuk halaman Anda. ## Pack mana yang menggantikan paket Firecrawl saya? Hitung halaman Anda per bulan dan berapa banyak yang memerlukan browser. Beban kerja seukuran Standard dengan 100.000 halaman cocok dengan 100.000 halaman jika halamannya statis, atau dua pack tersebut jika setiap halaman memerlukan browser. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Alternatif Firecrawl: pertanyaan umum ### Apakah ada alternatif Firecrawl yang gratis? Firecrawl sendiri memiliki tier gratis 1.000 kredit per bulan. Alat open source seperti Crawl4AI, MarkItDown dan Trafilatura gratis dijalankan di server Anda sendiri; lihat [Crawl4AI atau API terkelola](https://webreaderapi.com/id/compare/crawl4ai-vs-api/). WebReaderAPI tidak memiliki tier gratis: pack terkecilnya adalah 10.000 halaman untuk US$3,75. ### Bisakah saya membayar Firecrawl dengan kripto? Halaman harganya menyebut Stripe, dengan kartu, kartu debit dan PayPal, dan tanpa opsi kripto. WebReaderAPI hanya menerima BTC, USDT, USDC, ETH, SOL, LTC, tanpa KYC. ### Apakah WebReaderAPI mengekstrak JSON dengan skema seperti Firecrawl? Tidak. WebReaderAPI mengembalikan Markdown, teks atau HTML yang sudah dibersihkan beserta metadata. Jika Anda memerlukan field, teruskan Markdown kami ke model pilihan Anda dengan skema Anda; format JSON Firecrawl melakukan ini dengan biaya 4 kredit tambahan per halaman. ### Apakah kredit Firecrawl kedaluwarsa? Menurut dokumentasi penagihan Firecrawl, kredit paket direset setiap bulan dan tidak dibawa ke bulan berikutnya secara default; kredit yang dibeli sebagai tambahan tetap ada sampai terpakai tetapi kedaluwarsa jika Anda berhenti berlangganan. WebReaderAPI kredit tidak pernah kedaluwarsa. ### Bisakah saya self-host Firecrawl? Bisa. Intinya open source di bawah AGPL-3.0, dan README menyatakan bahwa ia menghormati robots.txt secara default. Layanan hosted menambahkan fitur yang tidak disertakan dalam versi open source. ## Sumber 1. [Harga Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Penagihan](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Panduan scraping lanjutan](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 4. [Crawl](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 5. [Mode enhanced](https://docs.firecrawl.dev/features/enhanced-mode.md) — Firecrawl docs (read 2026-10-22) 6. [Integrasi](https://docs.firecrawl.dev/integrations.md) — Firecrawl docs (read 2026-10-22) 7. [Peluncuran keyless Firecrawl](https://www.firecrawl.dev/blog/firecrawl-keyless-launch) — Firecrawl (read 2026-10-22) 8. [Memperkenalkan Alexandria dan Series B kami](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 9. [repositori firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 10. [Alat web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-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. --- # Alternatif Jina Reader: kredit per halaman alih-alih token > Alternatif Jina Reader: kredit per halaman alih-alih token, mulai US$0,07/1K halaman, robots.txt selalu diperiksa, tanpa KYC, kripto. Harga per 2026-10-22. - URL: https://webreaderapi.com/id/alternatives/jina-reader/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Jina Reader mempopulerkan trik prefiks URL: taruh r.jina.ai/ di depan tautan dan dapatkan Markdown kembali. Halaman ini menjelaskan cara Jina menagih, kapan ia adalah alat yang tepat, dan kapan harga per halaman lebih mudah direncanakan. **Jawaban singkat — Apa alternatif Jina Reader yang baik?** Jina Reader menagih berdasarkan token output: $50 untuk 1 miliar, $500 untuk 11 miliar, dengan 10 juta token gratis per key baru untuk penggunaan non-komersial (dibaca 22 Oktober 2026). **WebReaderAPI** menagih per halaman, mulai US$0,07/1K halaman, jadi halaman panjang berbiaya sama dengan halaman pendek. Ia memeriksa robots.txt pada setiap pembacaan, menjual kredit yang tidak pernah kedaluwarsa, dan menerima kripto tanpa KYC. ## Jina Reader dan WebReaderAPI sekilas | | WebReaderAPI (milik kami) | Jina Reader | | --- | --- | --- | | Cara Anda memanggilnya | `GET https://webreaderapi.com/api/v1/read?url=…` dengan API key | Tambahkan prefiks pada tautan: `https://r.jina.ai/` + URL; key opsional | | Satuan penagihan | Halaman: 1 kredit, 2 dengan browser | Token output | | Harga | US$3,75 untuk 10.000 halaman; mulai US$0,07/1K halaman | $50 per 1B token; $500 per 11B token | | Penggunaan gratis | Tidak ada | Keyless hingga 20 permintaan per menit; 10M token per key baru, hanya non-komersial | | Rate limit | Batas konkurensi ditampilkan di dashboard | 500 permintaan per menit dengan key; 5.000 pada premium | | robots.txt | Diperiksa pada setiap pembacaan | Header `X-Robots-Txt` opt-in; default tidak disebutkan | | Crawl seluruh situs | `POST /crawl`, hingga 10.000 halaman | Tidak ada endpoint crawl yang disebutkan | | PDF | Ya, hingga 100 halaman | Ya | | Pembayaran | BTC, USDT, USDC, ETH, SOL, LTC | Kartu, Google Pay, dan PayPal melalui Stripe | | Pemilik | SerpGoat LLC | Jina AI, bagian dari Elastic sejak Oktober 2025 | *Harga diperiksa pada 22 Oktober 2026.* Fakta Jina dari jina.ai/reader dan dashboard harganya, dibaca pada 2026-10-22. ## Bagaimana Jina Reader menagih, dan berapa biaya satu halaman? Jina menghitung token dalam respons. Paketnya adalah $50 untuk 1 miliar token, sekitar $0,05 per juta, dan $500 untuk 11 miliar, sekitar $0,045 per juta. Permintaan yang gagal tidak dipotong, dan halaman yang diminta dua kali dalam 5 menit berasal dari cache. Biaya sebuah halaman karenanya bergantung pada panjangnya, dan Jina tidak menerbitkan rata-rata. Sebagai **perkiraan, dengan asumsi 5.000 token per halaman**, 1.000 halaman berbiaya sekitar $0,25 pada paket pertama dan $0,225 pada paket kedua. Ringkasan berita 2.000 token berbiaya lebih murah; halaman dokumentasi 20.000 token berbiaya empat kali lebih mahal. OCR melalui jina-ocr-v1 berbiaya 40 kali lebih banyak token. ## Kapan kredit per halaman lebih mudah direncanakan? Ketika Anda tahu berapa banyak halaman yang akan dibaca tetapi tidak tahu panjangnya. Crawl situs dokumentasi, daftar halaman kompetitor untuk dipantau, atau agen yang membaca lima tautan per tugas semuanya punya jumlah halaman, bukan jumlah token. Dengan WebReaderAPI, 100.000 halaman berbiaya US$21,75, berapa pun panjang setiap halaman, per 22 Oktober 2026. Halaman yang membutuhkan browser memakai dua kredit, dan field `rendered` menyebutkan kapan itu terjadi. Gunakan `max_chars` untuk membatasi ukuran yang dikembalikan; ini melindungi context window model Anda tetapi tidak mengubah harga. ## Kapan Jina Reader menjadi pilihan yang lebih baik? Pilih Jina Reader ketika waktu setup lebih penting daripada segalanya, atau ketika halaman Anda pendek: - **Tanpa setup.** Prefiks URL berfungsi tanpa API key pada 20 permintaan per menit, yang cukup untuk pengujian dan skrip kecil. - **Halaman pendek.** Dengan penagihan token, halaman pendek berbiaya lebih murah daripada harga per halaman; pada perkiraan 5.000 token di atas, Jina berbiaya lebih murah per halaman daripada pak 10.000 halaman kami. - **Kontrol rinci melalui header.** `X-Target-Selector`, `X-Remove-Selector`, `X-Token-Budget`, `X-Engine` dan lainnya membentuk setiap pembacaan. - **Model dan pencarian.** Output ReaderLM-v2 dan pencarian `s.jina.ai` berasal dari akun yang sama. - **MCP server resmi** yang tool `read_url`-nya membaca hingga lima URL per panggilan. - **Open source.** Cabang Reader di GitHub berlisensi Apache-2.0, tanpa lapisan penyimpanan hosted. Jina AI kini bagian dari Elastic, yang menyelesaikan akuisisi pada 9 Oktober 2025. ## Bagaimana header Jina Reader dipetakan ke parameter WebReaderAPI? Sebagian besar pembacaan bisa dipindahkan dengan mengubah URL dan menambahkan API key. | Jina Reader | WebReaderAPI | Catatan | |---|---|---| | `https://r.jina.ai/https://example.com` | `GET https://webreaderapi.com/api/v1/read?url=https://example.com` | API key di header `Authorization` | | Output Markdown default | `format=markdown` (default) | Konten utama secara default | | `X-Engine: direct` | `render=false` | Pembacaan HTTP biasa | | Browser headless default | `render=auto` atau `render=true` | 2 kredit saat browser berjalan | | `X-Token-Budget` | `max_chars` | Karakter, bukan token | | `X-Target-Selector`, `X-Remove-Selector` | — | Deteksi konten utama sebagai gantinya | | `X-Proxy` (negara) | `country` | +10 kredit, koneksi residential | | `X-No-Cache` | — | Kami tidak menyimpan cache | | `X-Robots-Txt` (opt-in) | — | robots.txt selalu diperiksa | | Override `X-User-Agent` | — | User-Agent kami tetap dan dipublikasikan | *Python: dari prefiks r.jina.ai ke endpoint read* ```python import os import requests # Before: requests.get("https://r.jina.ai/" + url) url = "https://example.com/guide/install" resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "render": "auto", "max_chars": 30000}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["word_count"], "words, rendered:", page["rendered"], "credits:", page["credits_used"]) print(page["markdown"][:400]) ``` ## Apa yang berubah bagi situs yang Anda baca? Dengan Jina, robots.txt hanya diperiksa ketika Anda mengirim header `X-Robots-Txt`, dan Anda dapat meng-override User-Agent browser; halamannya tidak menyebutkan default untuk keduanya. Dengan WebReaderAPI, keduanya tetap: setiap pembacaan memeriksa robots.txt untuk `WebReaderAPI` dan untuk semua robot, dan setiap permintaan membawa `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Artinya beberapa halaman yang bisa dibaca Jina akan ditolak di sini, tanpa biaya bagi Anda. Sebagai gantinya, pemilik situs dapat melihat siapa yang membaca halaman mereka dan memblokir atau mengizinkan kami dalam satu baris, seperti yang dijelaskan [halaman crawler](https://webreaderapi.com/id/bot/) kami. ## Berapa biaya WebReaderAPI alih-alih token? Harga tetap per halaman: 10.000 halaman untuk US$3,75 hingga 5.000.000 halaman untuk US$350, per 22 Oktober 2026. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Alternatif Jina Reader: pertanyaan umum ### Apakah Jina Reader gratis? Sebagian. Tanpa API key, r.jina.ai gratis untuk penggunaan dasar pada 20 permintaan per menit. Setiap API key baru juga mendapat 10 juta token gratis, yang dibatasi halaman harga Jina untuk penggunaan non-komersial. Paket berbayar mulai dari $50 untuk 1 miliar token. ### Mengapa halaman Jina Reader berbiaya lebih mahal ketika halamannya panjang? Karena Jina menagih token dalam responsnya. Artikel panjang mengembalikan lebih banyak token daripada yang pendek. WebReaderAPI menagih satu kredit per halaman, dua dengan browser, berapa pun panjangnya. ### Bisakah saya membayar Jina Reader dengan kripto? Halaman Jina menyebut Stripe dengan kartu, Google Pay dan PayPal, dan tidak ada opsi kripto. WebReaderAPI menerima BTC, USDT, USDC, ETH, SOL, LTC, tanpa KYC. ### Apakah WebReaderAPI punya mode gratis tanpa API key seperti r.jina.ai? Tidak. Setiap pembacaan membutuhkan API key, dan API key disertakan dengan pak berbayar. Pak terkecil adalah 10.000 halaman untuk US$3,75. ### Siapa yang memiliki Jina Reader sekarang? Elastic. Elastic menyelesaikan akuisisi Jina AI pada 9 Oktober 2025, dan halaman legal Jina menyatakan bahwa ketentuan pemrosesan data Elastic kini berlaku. ## Sumber 1. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 2. [Dashboard API: harga](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Legal](https://jina.ai/legal/) — Jina AI (read 2026-10-22) 4. [Repositori jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) 5. [Repositori jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 6. [Elastic menyelesaikan akuisisi Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-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. --- # Web reader API terbaik pada 2026: 10 cara mengubah URL menjadi Markdown > API Web reader dan URL to Markdown terbaik 2026: 10 opsi dibandingkan berdasarkan harga per 1.000 halaman, JavaScript, robots.txt, kripto, dan KYC. - URL: https://webreaderapi.com/id/best/web-reader-apis/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Sepuluh API hosted dan tool open-source yang mengubah halaman web menjadi Markdown untuk model, dibandingkan dengan kriteria yang sama dari halaman mereka sendiri. Kami menerbitkan WebReaderAPI, yang berada di urutan pertama daftar ini; setiap entri menyebutkan apa yang lebih baik dari opsi tersebut. **Jawaban singkat — Apa web reader atau URL to Markdown API terbaik pada 2026?** Tergantung pekerjaannya. Pada 22 Oktober 2026: **WebReaderAPI** untuk pembayaran kripto, tanpa KYC, robots.txt dihormati dan kredit yang tidak pernah kedaluwarsa, mulai dari US$0,07/1K halaman; Firecrawl untuk fitur paling lengkap dengan $0.99 per 1.000 halaman pada paket $99-nya; Jina Reader untuk pembacaan tanpa setup yang ditagih per token; Crawl4AI jika Anda lebih suka self-host di bawah lisensi Apache-2.0. ## 10 web reader API terbaik di 2026 **Metodologi.** Diterbitkan oleh WebReaderAPI (SerpGoat LLC). Setiap penyedia dibandingkan dengan kriteria yang sama, diambil dari situs web publiknya sendiri: harga daftar per 1.000 halaman untuk halaman biasa dan halaman yang dirender browser, free tier dan masa berlaku kredit, fitur kualitas Markdown (konten utama, PDF, crawl), kebijakan robots.txt, metode pembayaran yang diterima, termasuk kripto, persyaratan identitas atau kartu, tanggal harga diperiksa. *Harga diperiksa pada 22 Oktober 2026.* ### 1. WebReaderAPI — Produk kami Web reader API untuk AI agent dengan kredit prabayar yang tidak pernah kedaluwarsa, dibayar dengan kripto tanpa KYC; crawler-nya menghormati robots.txt dan tidak pernah mencoba mengakali penolakan. - Cocok untuk: Membayar dengan kripto tanpa dokumen; agent dan pipeline RAG yang menginginkan crawling yang sopan - Harga: US$0,38/1K halaman pada 10.000 halaman, US$0,07/1K halaman pada 1.000.000 halaman; halaman browser memakai 2 kredit - KYC: Tidak ada - Pembayaran kripto: BTC, USDT, USDC, ETH, SOL, LTC - Kelebihan: Kredit tidak pernah kedaluwarsa - Kelebihan: Halaman yang gagal dan ditolak robots.txt gratis - Kelebihan: Kode tool untuk MCP, LangChain, LlamaIndex, OpenAI, n8n, OpenClaw - Kekurangan: Tanpa free tier - Kekurangan: Tidak ada ekstraksi JSON terstruktur atau aksi halaman - Kekurangan: Halaman yang ditolak situs tetap ditolak ### 2. Firecrawl API paling dikenal untuk mengubah situs menjadi data siap LLM: scrape, crawl, map, dan extract, dengan ekosistem open-source dan MCP yang besar. - Cocok untuk: Tim yang butuh ekstraksi terstruktur, aksi halaman, dan ekosistem yang matang - Harga: $3.80 per 1.000 di Hobby ($19 untuk 5.000); $0.99 di Standard ($99 untuk 100.000); $0.749 di Scale ($749 untuk 1 juta); JavaScript termasuk - KYC: Tidak disebutkan - Pembayaran kripto: Tidak (kartu, PayPal) - Kelebihan: 1.000 kredit gratis per bulan, tanpa kartu - Kelebihan: Menghormati robots.txt secara default - Kelebihan: Core yang bisa di-self-host (AGPL-3.0) - Kekurangan: Kredit paket di-reset setiap bulan - Kekurangan: Ekstraksi JSON menambah 4 kredit per halaman ### 3. Jina Reader Awali URL dengan r.jina.ai dan dapatkan Markdown kembali; ditagih per token output dan kini bagian dari Elastic. - Cocok untuk: Pembacaan cepat tanpa setup; halaman pendek - Harga: $50 per 1 miliar token output; $500 per 11 miliar (biaya per halaman tergantung panjang halaman) - KYC: Tidak disebutkan - Pembayaran kripto: Tidak disebutkan - Kelebihan: Penggunaan tanpa API key pada 20 request per menit - Kelebihan: 10 juta token gratis per API key baru (non-komersial) - Kekurangan: Penagihan per token membuat halaman panjang sulit diprediksi biayanya - Kekurangan: robots.txt hanya melalui header opt-in ### 4. Crawl4AI Crawler open-source paling populer untuk LLM, dengan cloud terhosting dalam tahap soft launch. - Cocok untuk: Tim yang ingin self-host dan mengontrol semuanya - Harga: Gratis untuk self-host; Cloud mulai $10 (Starter), halaman biasa 0,5 kredit, halaman browser 1 kredit - KYC: Tanpa kartu (Cloud) - Pembayaran kripto: Tidak disebutkan - Kelebihan: Lisensi Apache-2.0 - Kelebihan: MCP server self-hosted - Kekurangan: Self-hosting berarti server dan pemeliharaan - Kekurangan: check_robots_txt nonaktif secara default ### 5. Olostep API yang merender setiap halaman di browser, dengan batch, crawl, dan map, serta kripto per request untuk agent. - Cocok untuk: Situs berat JavaScript dalam volume besar - Harga: $1,80 per 1.000 di Starter ($9 untuk 5.000); $0,399 di Scale ($399 untuk 1 juta), setiap halaman dirender - KYC: Kartu untuk top-up - Pembayaran kripto: Per request, USDC (x402) - Kelebihan: Harga halaman browser terverifikasi terendah pada 1 juta per bulan - Kelebihan: Batch, crawl, dan map - Kekurangan: Kredit paket di-reset setiap bulan ### 6. Konten Exa Konten halaman dari indeks pencarian Exa dengan harga flat, dengan kripto per request untuk agent. - Cocok untuk: Agent yang sudah memakai pencarian Exa - Harga: $1,00 per 1.000 halaman, flat - KYC: Kartu untuk pay as you go - Pembayaran kripto: Per request, USDC (x402) - Kelebihan: Kredit gratis $10 per bulan - Kelebihan: x402 seharga $0,001 per halaman - Kekurangan: Cache-first; tidak ada opsi browser yang terdokumentasi ### 7. Tavily Extract Ekstraksi dari stack pencarian Tavily, dihargai per batch URL, dengan mode advanced. - Cocok untuk: Agent yang dibangun di sekitar pencarian Tavily - Harga: $1,50 per 1.000 URL basic di Project ($30); $1,00 di Growth ($500); mode advanced menggandakannya - KYC: Tidak disebutkan - Pembayaran kripto: Hanya atas kebijakannya sendiri (ketentuan) - Kelebihan: 1.000 kredit per bulan gratis (5.000 URL basic) - Kekurangan: Kredit direset setiap bulan - Kekurangan: Kebijakan robots.txt tidak dinyatakan ### 8. ScrapingBee API web scraping umum dengan opsi output Markdown dan harga halaman biasa yang rendah dalam volume besar. - Cocok untuk: Volume besar halaman biasa - Harga: $0,099 per 1.000 halaman biasa pada 1 juta per bulan ($99 Startup); halaman browser berbiaya 5 kredit - KYC: Kartu untuk paket berbayar - Pembayaran kripto: Tidak - Kelebihan: Harga halaman biasa terendah dalam volume besar - Kelebihan: Output Markdown dan teks - Kekurangan: Tidak ada rollover kredit - Kekurangan: Kebijakan robots.txt tidak dinyatakan ### 9. ZenRows API web scraping dengan output Markdown termasuk dan storefront agent yang menerima USDC. - Cocok untuk: Beban kerja agen kecil yang dibayar per penggunaan - Harga: $0,50 per 1.000 halaman biasa melalui storefront agennya; $0,199 pada 1 juta dengan paket; halaman browser dikenai 5 kredit - KYC: Validasi email - Pembayaran kripto: Hanya agen, USDC (x402) - Kelebihan: Markdown tanpa biaya tambahan - Kelebihan: 5.000 kredit gratis per bulan - Kekurangan: Akun tidak dapat membayar dengan kripto - Kekurangan: Kredit paket kedaluwarsa saat perpanjangan ### 10. Cloudflare Browser Run Layanan browser Cloudflare dengan endpoint /markdown dan /crawl, ditagih berdasarkan waktu browser. - Cocok untuk: Tim yang sudah memakai Cloudflare Workers - Harga: $0,09 per jam browser setelah 10 jam termasuk, minimum $5 per bulan - KYC: Akun Cloudflare - Pembayaran kripto: USDC melalui Stripe untuk penagihan Cloudflare (satu halaman penagihan tidak mencantumkannya) - Kelebihan: /crawl respects robots.txt and always identifies itself as a bot - Kelebihan: Bayar untuk waktu browser, bukan per halaman - Kekurangan: Biaya per halaman bergantung pada berapa lama setiap halaman diproses *Pengungkapan: halaman ini diterbitkan oleh WebReaderAPI. Detail kompetitor berasal dari situs web publik mereka pada tanggal yang tercantum di atas dan mungkin telah berubah sejak saat itu.* ## Bagaimana cara memilih web reader API? Mulai dari halaman Anda, lalu volume Anda. 1. **Apakah halaman Anda memerlukan browser?** Berita, blog, dan dokumentasi biasanya tidak; web app dan sebagian toko memerlukannya. API scraping berbasis kredit mengenakan biaya 5 hingga 10 kali lebih mahal untuk halaman browser, sedangkan Firecrawl dan Olostep memberi harga yang sama untuk setiap halaman. 2. **Berapa halaman per bulan, dan seberapa stabil?** Paket bulanan dengan kuota besar cocok untuk volume yang stabil; kredit prabayar yang tidak kedaluwarsa cocok untuk agen dan crawl sekali jalan. 3. **Apakah Anda perlu ekstraksi selain Markdown?** JSON terstruktur, aksi halaman, dan screenshot adalah keunggulan Firecrawl dan API scraping besar. 4. **Bagaimana Anda ingin memperlakukan pemilik situs?** Firecrawl, /crawl milik Cloudflare, dan WebReaderAPI menghormati robots.txt secara default; beberapa API menyerahkannya kepada Anda atau tidak menyebutkannya. 5. **Bagaimana Anda akan membayar?** Sebagian besar hanya menerima kartu. Scrape.do, Decodo, dan Scrapeless menyatakan kripto untuk akun; Exa, Olostep, dan lainnya menerima USDC per permintaan; WebReaderAPI menerima BTC, USDT, USDC, ETH, SOL, LTC tanpa KYC. ## Apakah sebaiknya saya self-host alih-alih membayar API? Self-host gratis dalam hal lisensi dan mahal dalam hal waktu. Crawl4AI (Apache-2.0), Microsoft MarkItDown (MIT), Trafilatura (Apache-2.0), dan Mozilla Readability (Apache-2.0) menangani konversinya; Anda tetap harus menjalankan server, browser headless, retry, dan penanganan robots.txt. Inti Firecrawl juga dapat di-self-host di bawah lisensi AGPL-3.0. Untuk beberapa ribu halaman per bulan, API terkelola biasanya lebih murah daripada waktu yang dihabiskan untuk memelihara crawler. Halaman [Crawl4AI atau API terkelola](https://webreaderapi.com/id/compare/crawl4ai-vs-api/) kami menjelaskan pertimbangannya. ## Berapa biaya WebReaderAPI? Kredit prabayar, satu per halaman biasa dan dua per halaman browser; kredit tidak pernah kedaluwarsa. Harga ditetapkan pada 22 Oktober 2026. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Web reader API terbaik: pertanyaan umum ### Mana yang lebih baik, Firecrawl atau Jina Reader? Firecrawl cocok untuk tim yang memerlukan crawl, ekstraksi terstruktur, dan harga per halaman yang dapat diprediksi; Jina Reader cocok untuk pembacaan cepat tanpa setup, ditagih berdasarkan token. Halaman [Firecrawl vs Jina Reader](https://webreaderapi.com/id/compare/firecrawl-vs-jina-reader/) kami membandingkannya baris demi baris. ### Web reader API mana yang menghormati robots.txt? Firecrawl menghormatinya secara default, dengan override hanya pada Enterprise; /crawl milik Cloudflare menghormatinya tanpa opsi keluar yang didokumentasikan; WebReaderAPI menghormatinya pada setiap permintaan. Jina menjadikannya header yang wajib diaktifkan (opt-in), dan banyak API scraping tidak menyatakan kebijakannya. ### Apakah ada API URL ke Markdown gratis? Beberapa memiliki kuota gratis: Firecrawl 1.000 kredit per bulan, Tavily 1.000 kredit per bulan, Exa $10 per bulan, ZenRows 5.000 kredit per bulan, dan Jina 10 juta token untuk penggunaan non-komersial. WebReaderAPI tidak memiliki tier gratis. ### Apakah peringkat ini independen? Tidak. Peringkat ini diterbitkan oleh WebReaderAPI, yang menempati peringkat pertama. Setiap opsi dijelaskan dari halaman publiknya sendiri, dibaca pada 22 Oktober 2026, dengan kriteria yang sama, dan setiap entri mencantumkan apa yang lebih baik darinya. ## Sumber 1. [Harga Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Harga Jina API](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Crawl4AI](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 4. [Repositori Crawl4AI](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 5. [Harga Olostep](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 6. [Harga Exa](https://exa.ai/pricing) — Exa (read 2026-10-22) 7. [Kredit Tavily API](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 8. [Harga ScrapingBee](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 9. [Harga ZenRows](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Harga Browser Run](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare (read 2026-10-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. --- # Bot WebReaderAPI: user agent, robots.txt, dan cara memblokirnya > Bot WebReaderAPI: user agent, token robots.txt, cara memblokirnya, dan apa yang tidak pernah dilakukannya. Ditulis untuk pemilik situs dan alat AI. - URL: https://webreaderapi.com/id/bot/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Jika Anda melihat nama kami di log server Anda, halaman ini menjelaskan siapa kami, mengapa kami mengambil halaman Anda, dan cara meminta kami untuk tidak melakukannya. Setiap aturan di sini adalah komitmen yang menjadi dasar layanan ini dibangun. **Jawaban singkat — Apa itu bot WebReaderAPI, dan bagaimana cara memblokirnya?** Bot **WebReaderAPI** mengambil halaman publik ketika salah satu pelanggan kami meminta API untuk membacanya. Bot ini mengirim user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` dan mematuhi aturan robots.txt yang ditulis untuk token `WebReaderAPI` atau untuk semua robot. Untuk memblokirnya di seluruh situs, tambahkan `User-agent: WebReaderAPI` diikuti `Disallow: /` ke robots.txt Anda. ## Bot secara singkat | Atribut | Nilai | | --- | --- | | Header User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Token robots.txt | `WebReaderAPI` | | robots.txt | Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya | | Sinyal preferensi AI | Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda | | Ketika situs menolak | Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall | | Salinan halaman Anda | Tidak ada yang disimpan setelah jawaban dikirim ke pelanggan | | Crawl job | Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya | | Kontak | abuse@webreaderapi.com | ## Mengapa WebReaderAPI mengambil halaman saya? Karena pelanggan API memintanya. WebReaderAPI tidak membangun indeks web sendiri dan tidak menjelajah atas inisiatif sendiri. Setiap pengambilan termasuk salah satu dari tiga jenis permintaan: - **Pembacaan tunggal:** sebuah aplikasi atau AI agent mengirim URL Anda ke `/read`, biasanya karena seseorang mengajukan pertanyaan yang dijawab oleh halaman Anda. - **Batch job:** pelanggan mengirim daftar berisi hingga 100 URL, dan URL Anda ada di dalamnya. - **Crawl job:** pelanggan meminta kami membaca seluruh situs, dimulai dari satu alamat dan tetap di domain tersebut. Crawl mengikuti sitemap dan robots.txt Anda. Pelanggan menerima teks utama halaman dalam format Markdown. Kami tidak menyimpan salinannya setelah itu. ## Bagaimana cara memblokir bot di seluruh situs saya? Tambahkan grup untuk token kami ke file robots.txt Anda. Bot membaca `/robots.txt` sebelum mengambil halaman dan meng-cache-nya paling lama 24 jam, jadi perubahan berlaku paling lambat dalam sehari. *robots.txt: tolak semua halaman untuk WebReaderAPI* ```text User-agent: WebReaderAPI Disallow: / ``` ## Bisakah saya memblokir hanya sebagian situs saya, atau memperlambat bot? Bisa. Daftarkan folder yang ingin Anda kecualikan di bawah `Disallow`, dan tetapkan `Crawl-delay` dalam detik untuk crawl job. Aturan yang ditulis untuk semua robot (`User-agent: *`) juga berlaku bagi kami jika Anda tidak memiliki grup untuk token kami. Jika Anda memilikinya, grup tersebut yang berlaku, sebagaimana dijelaskan RFC 9309. *robots.txt: kecualikan dua folder dan beri jeda permintaan crawl* ```text User-agent: WebReaderAPI Disallow: /account/ Disallow: /drafts/ Crawl-delay: 5 ``` ## Apakah bot mematuhi sinyal preferensi AI? Ya, sinyal yang dinyatakan situs di robots.txt. Jika file Anda mendeklarasikan `Content-Signal: ai-input=no`, kami menganggapnya sebagai penolakan agar halaman Anda digunakan sebagai input untuk jawaban AI, dan kami tidak membacanya untuk pelanggan kami. API kemudian mengembalikan error `blocked_by_site_policy` kepada pelanggan, yang tidak dikenai biaya. *robots.txt: izinkan mesin pencari, tolak input AI* ```text User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## Apa yang dilakukan bot ketika situs saya menolaknya? Bot berhenti dan melaporkan jawaban Anda. Status 403 atau 429, halaman challenge, formulir login, atau paywall mengakhiri permintaan. Pelanggan menerima error `target_refused` beserta kode status Anda, dan tidak dikenai biaya untuk itu. Bot tidak pernah menyelesaikan challenge, tidak pernah login, tidak pernah mengubah user agent-nya agar terlihat seperti browser, dan tidak pernah mencoba ulang dengan menyamar. Jika Anda ingin kami membaca halaman Anda, izinkan token di robots.txt dan biarkan permintaan lewat; jika tidak, tidak ada tindakan lain yang diperlukan di pihak Anda. ## Apa yang belum dijanjikan WebReaderAPI? Kami belum mempublikasikan daftar alamat IP saat ini, jadi identifikasi bot berdasarkan user agent dan perilaku robots.txt-nya, bukan berdasarkan IP. Halaman yang dibaca dengan opsi `country` keluar dari alamat di negara yang dipilih, tetap dengan user agent yang sama. Kami akan menambahkan rentang alamat kami ke halaman ini setelah ditetapkan, beserta tanggal perubahannya. ## Bagaimana cara melaporkan masalah dengan bot? Kirim email ke abuse@webreaderapi.com dengan tanggal dan waktu, domain Anda, URL yang diambil, dan satu baris access log Anda yang menunjukkan user agent kami. Seseorang membaca setiap laporan dan memeriksanya terhadap log kami. Jika pelanggan menggunakan API yang melanggar [Acceptable Use Policy](https://webreaderapi.com/id/acceptable-use/) kami, akun mereka ditangguhkan. Untuk memeriksa apakah suatu permintaan benar-benar berasal dari kami, bandingkan user agent dan perilaku robots.txt dengan halaman ini. Klien yang mengabaikan aturan robots.txt Anda sambil memakai nama kami bukanlah bot kami. ## Pertanyaan pemilik situs ### Apakah bot WebReaderAPI crawler mesin pencari? Bukan. Bot ini tidak mengindeks web atau memberi peringkat halaman. Bot membaca halaman hanya ketika pelanggan API meminta halaman tersebut, dalam satu permintaan, batch, atau crawl satu situs. ### Apakah memblokir bot akan memengaruhi peringkat saya di Google atau Bing? Tidak. Aturan yang ditulis untuk `WebReaderAPI` hanya berlaku untuk bot kami. Crawler mesin pencari mengikuti grup mereka sendiri di robots.txt Anda. ### Berapa lama perubahan robots.txt berlaku? Paling lambat dalam 24 jam. Bot meng-cache robots.txt paling lama satu hari sebelum membacanya lagi. ### Apakah bot mematuhi Crawl-delay? Ya, untuk tugas crawl, yang membaca banyak halaman dari satu situs. Satu read adalah satu permintaan dan tidak diberi jeda. ### Apakah Anda menyimpan atau menjual konten halaman saya? Tidak. Teks halaman dikirim ke pelanggan yang memintanya dan tidak kami simpan. Log kami menyimpan nama host, waktu, status, dan kredit yang digunakan, selama 30 hari. --- 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. --- # Changelog > Changelog WebReaderAPI: perubahan bertanggal pada API web reader, harganya, aturan crawler, dan kebijakannya. Entri pertama: situs dan dokumentasi terbit. - URL: https://webreaderapi.com/id/changelog/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Perubahan pada API, harga, perilaku crawler, dan kebijakan tercantum di sini, terbaru lebih dulu. Perubahan pada janji yang dibuat di tempat lain di situs juga muncul di sini. **Jawaban singkat — Apa yang berubah di WebReaderAPI?** Pada 22 Oktober 2026, **WebReaderAPI** menerbitkan situs web, dokumentasi, harga, dan kebijakannya. API-nya sendiri belum dibuka; peluncurannya akan menjadi entri berikutnya di halaman ini. Harga mulai dari US$3,75 untuk 10.000 halaman dan turun menjadi US$0,07/1K halaman pada paket terbesar. ## 22 Oktober 2026: situs dan dokumentasi diterbitkan - **Situs web, harga, dan kebijakan** telah online: [harga](https://webreaderapi.com/id/pricing/), [ketentuan](https://webreaderapi.com/id/terms/), [privasi](https://webreaderapi.com/id/privacy/), [penggunaan yang dapat diterima](https://webreaderapi.com/id/acceptable-use/) dan [pengembalian dana](https://webreaderapi.com/id/refunds/). - **Dokumentasi** untuk endpoint `/read`, `/batch`, `/crawl` dan `/credits`, dengan kode untuk Python, Node.js dan curl. - **Aturan crawler** diterbitkan di [halaman bot](https://webreaderapi.com/id/bot/): user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token robots.txt `WebReaderAPI`, kepatuhan terhadap `ai-input=no`. - **Status API:** peluncuran tertunda. Sampai entri peluncuran muncul di sini, tidak ada API key yang dapat dibeli. ## Apa yang dianggap sebagai perubahan yang layak mendapat entri bertanggal? Apa pun yang dapat diandalkan oleh pelanggan atau pemilik situs: - endpoint, parameter, atau field respons baru; - field yang diganti nama atau dihapus (yang hanya terjadi pada versi API baru, seperti `/api/v2/`); - harga, aturan kredit, atau aturan pengembalian dana; - perubahan pada cara crawler mengidentifikasi dirinya atau memperlakukan robots.txt; - insiden yang memengaruhi permintaan, dengan rentang waktunya. ## Bagaimana perubahan harga ditangani? Harga baru berlaku untuk paket yang dibeli setelah dipublikasikan di sini. Kredit yang sudah Anda miliki tetap bernilai: dihitung dalam halaman, bukan dalam dolar, dan Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. ## Seberapa stabil versi 1 API? Dalam versi 1, kami dapat menambahkan field dan parameter, tidak pernah mengganti nama atau menghapusnya. Kode yang membaca field yang didokumentasikan dalam [format respons](https://webreaderapi.com/id/docs/response/) tetap berfungsi. Perubahan yang merusak akan masuk ke versi baru, diumumkan di sini sebelum diluncurkan. ## Bagaimana cara mengikuti perubahan? Periksa halaman ini, atau baca versi Markdown-nya, yang [llms.txt](https://webreaderapi.com/llms.txt) mencantumkan bersama halaman lain di situs. Setiap entri menyimpan tanggalnya, sehingga Anda dapat melihat apa yang berubah sejak kunjungan terakhir Anda. Pertanyaan dikirim ke support@webreaderapi.com. --- 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. --- # Crawl4AI atau API hosted? Kapan menjalankan web reader sendiri > Crawl4AI atau API hosted untuk halaman web ke Markdown? Lisensi, default robots.txt, biaya self-hosting, dan harga hosted yang diperiksa pada 2026-10-22. - URL: https://webreaderapi.com/id/compare/crawl4ai-vs-api/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Alat open-source dapat mengubah halaman web menjadi Markdown secara gratis, di server Anda sendiri. API hosted menagih per halaman dan menjalankan server untuk Anda. Halaman ini menjelaskan biaya sebenarnya dari setiap pilihan, dari lisensi dan default robots.txt hingga browser dan pemeliharaan. **Jawaban singkat — Haruskah saya self-host Crawl4AI atau menggunakan API web reader hosted?** Self-host Crawl4AI (Apache-2.0, dengan persyaratan atribusi) ketika Anda memiliki volume stabil dan orang untuk menjalankan browser dan server; perhatikan bahwa pemeriksaan robots.txt-nya nonaktif secara default. Gunakan API hosted ketika volume tidak merata atau Anda tidak ingin pekerjaan operasional: Crawl4AI Cloud mulai dari $10 untuk 10.000 kredit, dan **WebReaderAPI** mulai dari US$3,75 untuk 10.000 halaman, dibayar dengan kripto tanpa KYC (22 Oktober 2026). ## Alat open-source mana yang mengubah halaman web menjadi Markdown? Opsi utama pada Oktober 2026, dengan lisensi dan default yang dinyatakan oleh repositori dan dokumentasi mereka sendiri. | Alat | Lisensi | Merender JavaScript | robots.txt secara default | server MCP | | --- | --- | --- | --- | --- | | Crawl4AI | Apache-2.0, plus persyaratan atribusi README | Ya (Playwright) | Nonaktif: `check_robots_txt` default ke False | Ya, di server Anda sendiri | | Firecrawl (self-hosted) | Inti AGPL-3.0; SDK dan sebagian UI berlisensi MIT | Ya (layanan Playwright) | Aktif | Ya (firecrawl-mcp-server, MIT) | | Microsoft MarkItDown | MIT | Tidak | Tidak didokumentasikan | Ya (markitdown-mcp) | | Trafilatura | Apache-2.0 (GPLv3+ sebelum v1.8.0) | Tidak | Spider-nya mengikuti Robots Exclusion Standard | Tidak ada yang disebutkan | | Mozilla Readability | Apache-2.0 | Tidak; butuh DOM dan tidak mengambil halaman | Tidak berlaku | Tidak ditemukan | | Jina Reader (cabang open-source) | Apache-2.0 | Ya (Puppeteer) | Tidak disebutkan | Tidak ada di repositori | *Harga diperiksa pada 22 Oktober 2026.* Dari repositori GitHub dan dokumentasi yang tercantum di bawah, dibaca pada 2026-10-22. ## Berapa biaya sebenarnya untuk self-hosting web reader? Perangkat lunaknya gratis; menjalankannya tidak. Sebelum Anda membandingkan harga hosted dengan nol, hitung dulu hal-hal ini: - **Server dan browser.** Halaman statis tidak butuh banyak CPU, tetapi halaman JavaScript butuh browser headless per permintaan, dengan memori yang setara. Lonjakan trafik butuh kapasitas cadangan yang menganggur sepanjang waktu lainnya. - **Pemeliharaan.** Versi browser, aturan ekstraksi, dan dependensi berubah. Crawl4AI merilis v0.9.5 pada 14 Oktober 2026; MarkItDown 0.1.9 pada 21 Oktober 2026. Seseorang harus menguji dan men-deploy setiap pembaruan. - **Jaringan.** Bandwidth keluar, DNS, timeout, dan retry menjadi tanggung jawab Anda untuk disetel. Situs dapat menolak trafik dari alamat server Anda, dan jawaban yang tepat saat itu adalah menghormati penolakan tersebut. - **Kebijakan.** Crawl4AI membiarkan `check_robots_txt` nonaktif kecuali Anda mengaktifkannya, dan memungkinkan Anda menetapkan atau mengacak user agent. Memutuskan dan menegakkan aturan robots.txt serta identifikasi Anda sendiri adalah bagian dari pekerjaan ini. - **Keamanan.** README MarkItDown memperingatkan bahwa perangkat ini melakukan I/O dengan hak akses proses saat ini dan bahwa input harus disanitasi di lingkungan yang tidak tepercaya. Layanan yang mengambil URL sembarang juga harus menolak alamat privat dan lokal. ## Berapa biaya yang dikenakan pembaca hosted sebagai perbandingan? API hosted mengubah biaya tersebut menjadi harga per halaman. Dua contoh dari 22 Oktober 2026: | | Crawl4AI Cloud | WebReaderAPI (milik kami) | |---|---|---| | Masuk | Starter $10 per bulan, 10.000 kredit | US$3,75 untuk 10.000 halaman | | Halaman statis | 0,5 kredit | 1 kredit | | Halaman dengan browser | 1 kredit ("real browser") | 2 kredit | | Paket lebih besar | Builder $99 untuk 125.000 kredit; Scale $499 untuk 750.000 | US$74,25 untuk 1.000.000 halaman; US$350 untuk 5.000.000 halaman | | Kredit tak terpakai | Kredit bulanan tidak roll over; kredit tambahan tidak pernah kedaluwarsa | Tidak pernah kedaluwarsa | | Pembayaran | Kartu melalui Stripe | BTC, USDT, USDC, ETH, SOL, LTC | | robots.txt | Pelanggan harus mematuhi direktif robots situs (ketentuan) | Diperiksa oleh layanan pada setiap pembacaan | Crawl4AI Cloud dijalankan oleh pengelola Crawl4AI dan menandai harganya sebagai "soft launch" yang dapat berubah. Kreditnya bernilai $0,001, jadi halaman statis berbiaya $0,50 per 1.000 pada paket Starter. ## Kapan sebaiknya saya self-host? Self-hosting menguntungkan ketika tiga hal terpenuhi: volume Anda tinggi dan stabil, Anda sudah menjalankan server dan browser, dan Anda butuh kontrol yang tidak bisa diberikan API. - **Ekstraksi kustom.** Skema CSS, XPath, dan LLM dari Crawl4AI, atau aturan Anda sendiri di atas Readability atau Trafilatura. - **Residensi data.** Halaman tidak pernah meninggalkan infrastruktur Anda. - **Input selain halaman web.** MarkItDown mengonversi Word, Excel, PowerPoint, EPub, dan lainnya, yang tidak dilakukan API web reader. - **Kesesuaian lisensi.** Alat berlisensi Apache-2.0 dan MIT memungkinkan produk closed-source; inti AGPL-3.0 Firecrawl meminta Anda membagikan perubahan jika Anda menawarkannya sebagai layanan jaringan. ## Kapan API hosted menjadi pilihan yang lebih baik? Beli halaman alih-alih menjalankan server ketika beban kerja Anda tidak merata, tim Anda kecil, atau reader hanyalah alat di dalam agent, bukan produk tersendiri. - **Volume yang melonjak atau musiman.** Crawl dua kali setahun tidak membenarkan armada browser. Dengan WebReaderAPI, Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. - **Agent.** Endpoint hosted dapat dipasang ke MCP, LangChain, atau tool OpenAI dalam hitungan menit; lihat [server MCP kami](https://webreaderapi.com/id/docs/mcp/). - **Kebijakan yang tidak perlu Anda bangun sendiri.** Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. - **Pembayaran tanpa kartu.** WebReaderAPI menerima BTC, USDT, USDC, ETH, SOL, LTC tanpa KYC. ## Bisakah saya menggabungkan keduanya? Bisa, dan banyak tim melakukannya. Jalankan konverter open-source untuk file yang sudah Anda miliki, seperti PDF dan dokumen Office dengan MarkItDown, dan panggil reader hosted untuk halaman web langsung, terutama halaman JavaScript yang jika tidak demikian akan membutuhkan browser Anda sendiri. Jaga format output tetap sama di kedua sisi, Markdown dengan URL sumber dan judul, agar kode chunking dan indexing Anda tidak peduli dari mana dokumen itu berasal. [Panduan RAG kami](https://webreaderapi.com/id/use-cases/rag/) menunjukkan format itu dalam praktik. ## Berapa biaya reader hosted dengan WebReaderAPI? Kredit per halaman yang dibayar dengan kripto, per 22 Oktober 2026: 1 kredit per halaman statis, 2 dengan browser, tanpa biaya untuk halaman yang gagal atau ditolak. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Self-hosting web reader: pertanyaan umum ### Apakah Crawl4AI gratis untuk penggunaan komersial? README-nya menyatakan berlisensi Apache-2.0, yang mengizinkan penggunaan komersial, dan menambahkan bahwa pengguna harus menyertakan atribusi, baik berupa badge atau baris teks. Baca sendiri lisensi dan README-nya sebelum Anda merilis. ### Apakah Crawl4AI mematuhi robots.txt? Hanya jika Anda memintanya. Parameter `check_robots_txt`-nya default ke False; set ke True untuk memeriksa dan menyimpan cache aturan robots.txt sebelum crawl. Anda juga dapat menetapkan atau mengacak user agent, jadi kebijakan Anda sendiri yang menentukan perilakunya. ### Bisakah saya self-host Firecrawl alih-alih Crawl4AI? Bisa. Inti Firecrawl bersifat open-source di bawah AGPL-3.0 dan secara default mematuhi robots.txt. AGPL meminta Anda menerbitkan perubahan ketika Anda menawarkan perangkat lunak sebagai layanan jaringan, yang penting untuk produk komersial. ### Alat mana yang mengubah PDF dan file Office? Microsoft MarkItDown, dengan lisensi MIT, mengubah PDF, Word, PowerPoint, Excel, HTML, EPub, dan lainnya menjadi Markdown. Alat ini tidak merender halaman JavaScript. WebReaderAPI membaca PDF dari URL, hingga 100 halaman. ### Berapa biaya Crawl4AI Cloud? Pada 22 Oktober 2026: Starter $10 sebulan untuk 10.000 kredit, Builder $99 untuk 125.000, dan Scale $499 untuk 750.000, dengan halaman statis sebesar 0,5 kredit dan halaman browser sebesar 1. Situs menandai harga ini sebagai soft launch yang dapat berubah. ## Sumber 1. [repositori unclecode/crawl4ai](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 2. [parameter Crawl4AI](https://docs.crawl4ai.com/api/parameters/) — Crawl4AI docs (read 2026-10-22) 3. [self-hosting Crawl4AI](https://docs.crawl4ai.com/core/self-hosting/) — Crawl4AI docs (read 2026-10-22) 4. [crawl4ai di PyPI](https://pypi.org/project/crawl4ai/) — PyPI (read 2026-10-22) 5. [Crawl4AI Cloud](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 6. [repositori microsoft/markitdown](https://github.com/microsoft/markitdown) — GitHub (read 2026-10-22) 7. [markitdown di PyPI](https://pypi.org/project/markitdown/) — PyPI (read 2026-10-22) 8. [repositori adbar/trafilatura](https://github.com/adbar/trafilatura) — GitHub (read 2026-10-22) 9. [repositori mozilla/readability](https://github.com/mozilla/readability) — GitHub (read 2026-10-22) 10. [repositori firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 11. [Repositori jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-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. --- # Firecrawl vs Jina Reader (2026): web reader mana yang cocok untuk proyek Anda? > Firecrawl vs Jina Reader pada 2026: kredit per halaman vs penagihan token, tier gratis, crawl, ekstraksi JSON, robots.txt, dan pembayaran. Diperiksa 2026-10-22. - URL: https://webreaderapi.com/id/compare/firecrawl-vs-jina-reader/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Firecrawl dan Jina Reader adalah dua nama yang pertama muncul saat developer bertanya cara mengubah halaman web menjadi Markdown untuk sebuah model. Keduanya menagih, melakukan crawl, dan memperlakukan robots.txt secara berbeda. Halaman ini membandingkannya berdasarkan fakta yang sama, dengan layanan kami sendiri di kolom terpisah yang diberi label. **Jawaban singkat — Firecrawl atau Jina Reader: mana yang harus saya pakai?** Gunakan Firecrawl untuk pipeline lengkap: menagih 1 kredit per halaman dengan rendering sudah termasuk, melakukan crawl dan map situs, serta mengekstrak JSON ke sebuah skema, pada paket dari $19 hingga $749 sebulan (22 Oktober 2026). Gunakan Jina Reader untuk pembacaan cepat: awali URL dengan r.jina.ai, bayar $50 per miliar token output, atau gratis pada 20 permintaan per menit. **WebReaderAPI**, yang menerbitkan halaman ini, menjual kredit per halaman dengan kripto tanpa KYC. ## Firecrawl vs Jina Reader, dengan WebReaderAPI sebagai referensi Setiap baris berasal dari halaman penyedia masing-masing, dibaca pada 22 Oktober 2026. Kolom ketiga adalah layanan kami, diterbitkan oleh pesaing keduanya. | | Firecrawl | Jina Reader | WebReaderAPI (milik kami) | | --- | --- | --- | --- | | Satuan penagihan | Kredit: 1 per halaman, rendering sudah termasuk | Token output | Kredit: 1 per halaman, 2 dengan browser | | Harga masuk | Hobby: $19 sebulan untuk 5.000 kredit | $50 untuk 1B token | US$3,75 untuk 10.000 halaman | | Volume lebih besar | Standard $99 untuk 100K; Scale $749 untuk 1M sebulan | $500 untuk 11B token | US$74,25 untuk 1.000.000 halaman | | Penggunaan gratis | 1.000 kredit sebulan, tanpa kartu; MCP tanpa key, dibatasi per IP setiap hari | Tanpa key pada 20 permintaan per menit; 10M token per key baru, non-komersial | Tidak ada | | Kredit yang tidak terpakai | Kredit paket di-reset setiap bulan | Masa berlaku tidak ditampilkan dalam teks yang dapat kami baca | Tidak pernah kedaluwarsa | | Crawl dan map | Crawl (batas default 10.000 halaman) dan map | Tidak ada endpoint crawl yang disebutkan | Crawl hingga 10.000 halaman; tanpa map | | Ekstraksi terstruktur | JSON dengan schema, +4 kredit per halaman | JSON schema atau header instruksi | Tidak disediakan | | robots.txt | Dihormati secara default; pengecualian hanya untuk Enterprise | Header `X-Robots-Txt` opsional | Selalu dihormati | | Pembayaran | Kartu, kartu debit, PayPal (Stripe) | Kartu, Google Pay, PayPal (Stripe) | BTC, USDT, USDC, ETH, SOL, LTC | | Open source | Inti di bawah AGPL-3.0 | Branch Reader di bawah Apache-2.0 | Tidak | | Perusahaan | Firecrawl; $75M Series B pada 22 September 2026 | Jina AI, bagian dari Elastic sejak Oktober 2025 | SerpGoat LLC | *Harga diperiksa pada 22 Oktober 2026.* Sumber di bagian bawah halaman. ## Mana yang lebih murah per halaman? Tergantung panjang halaman dan volume, karena keduanya menagih dalam unit yang berbeda. Firecrawl menagih per halaman: $0.99 per 1.000 halaman di Standard, $0.749 di Scale dengan penagihan bulanan, rendering sudah termasuk. Jina menagih per output token, dan tidak mempublikasikan rata-rata per halaman. Sebagai **perkiraan, dengan asumsi 5.000 token per halaman**, Jina berbiaya sekitar $0.25 per 1.000 halaman pada paket $50 dan $0.225 pada paket $500. Dengan asumsi itu, Jina lebih murah per halaman daripada Firecrawl di semua volume. Untuk halaman yang jauh lebih panjang dari 5.000 token, seperti halaman dokumentasi panjang, selisihnya menyempit atau berbalik; untuk halaman pendek selisihnya melebar. Ekstraksi JSON Firecrawl menambah 4 kredit per halaman, yang mengubah perbandingan untuk pekerjaan ekstraksi. ## Mana yang lebih baik untuk crawl seluruh situs? Firecrawl. Endpoint crawl-nya mengikuti sitemap secara default, menerima batas halaman (10.000 secara default) dan kedalaman discovery, serta mengembalikan 402 jika kredit Anda tidak cukup untuk menutup batas tersebut. Endpoint map terpisah mencantumkan URL situs dengan satu kredit per panggilan. Jina Reader adalah reader satu URL plus endpoint pencarian; halamannya tidak menyebutkan fitur crawl. Untuk membaca seluruh situs dengan Jina, Anda mengumpulkan URL sendiri, misalnya dari sitemap, lalu memanggil reader sekali per halaman. ## Bagaimana keduanya memperlakukan robots.txt dan pemilik situs? Firecrawl menghormati robots.txt secara default dan hanya pelanggan Enterprise yang dapat mematikannya; pemilik situs mengizinkan atau menolaknya dengan token `FirecrawlAgent`. Dokumentasinya memperingatkan bahwa token ini mungkin bukan header User-Agent dari fetch itu sendiri. Jina memeriksa robots.txt saat request membawa header `X-Robots-Txt`, yang menyebut bot mana yang diperiksa. Jina juga memungkinkan pemanggil mengesampingkan User-Agent browser. Halamannya tidak menyebutkan default untuk keduanya. Kedua pendekatan menyerahkan banyak pilihan kepada pelanggan; layanan kami tidak, seperti dijelaskan di bagian berikutnya. ## Mana yang lebih cocok untuk AI agent? Keduanya melayani agent dengan baik, dengan cara berbeda. Firecrawl menawarkan MCP server terkelola, akses tanpa key dengan batas harian per IP, dan daftar integrasi yang panjang, termasuk LangChain, LlamaIndex, CrewAI, dan n8n; OpenClaw menyertakan Firecrawl sebagai penyedia web_fetch-nya. Jina menawarkan MCP server remote resmi yang tool `read_url`-nya membaca hingga lima URL per panggilan, kredensial n8n, dan prefiks URL yang dapat dipakai tool apa pun yang bisa membuat request GET. Untuk agent yang membaca beberapa halaman per tugas, prefiks Jina adalah awalan paling sederhana; untuk agent yang crawl, map, dan ekstraksi, Firecrawl mencakup lebih banyak. ## Di mana posisi WebReaderAPI di antara keduanya? WebReaderAPI lebih dekat ke Jina dalam cakupan, yaitu reader, dan lebih dekat ke Firecrawl dalam penagihan, per halaman, dengan endpoint crawl untuk seluruh situs. Yang membedakannya adalah pembayaran dan kebijakan, bukan daftar fitur: - **Kripto tanpa KYC.** Isi saldo dari US$25 di BTC, USDT, USDC, ETH, SOL, LTC. - **Kredit yang tidak pernah kedaluwarsa**, dijual dalam paket mulai US$3,75. - **Kebijakan tetap untuk situs.** Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Fitur kami lebih sedikit daripada Firecrawl: tanpa ekstraksi JSON, tanpa browser action, tanpa map, tanpa free tier. Baca halaman [alternatif Firecrawl](https://webreaderapi.com/id/alternatives/firecrawl/) dan [alternatif Jina Reader](https://webreaderapi.com/id/alternatives/jina-reader/) untuk detail setiap peralihan. ## Mana yang harus saya pilih untuk use case saya? - **Agent prototipe atau hobi:** Jina Reader tanpa key, atau free tier Firecrawl. - **RAG atas situs dokumentasi:** Firecrawl untuk crawl dan map; WebReaderAPI jika Anda ingin kredit per halaman yang tidak hangus dan pembayaran kripto. - **Ekstraksi ke field tetap:** format JSON Firecrawl. - **Banyak halaman berita atau blog pendek:** penagihan token Jina cenderung lebih murah. - **Kepatuhan ketat pada pilihan pemilik situs, ditegakkan oleh penyedia:** WebReaderAPI. - **Tanpa kartu dan tanpa dokumen identitas:** WebReaderAPI; baik Firecrawl maupun Jina tidak mencantumkan opsi pembayaran kripto di halaman yang kami baca. ## Berapa biaya opsi ketiga? Paket per halaman yang dibayar dengan kripto, per 22 Oktober 2026. Halaman yang membutuhkan browser memakai dua kredit; halaman gagal dan halaman yang ditolak robots.txt gratis. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Firecrawl vs Jina Reader: pertanyaan umum ### Apakah Jina Reader gratis dan Firecrawl berbayar? Keduanya punya penggunaan gratis. Jina Reader berfungsi tanpa key pada 20 request per menit, dan setiap key baru mendapat 10 juta token untuk penggunaan non-komersial. Firecrawl memberi 1.000 kredit per bulan tanpa kartu, plus akses MCP tanpa key yang dibatasi per alamat IP setiap hari. ### Mana yang menghasilkan Markdown lebih baik? Kami tidak menerbitkan benchmark kualitas, dan halaman harga kedua vendor tidak mengklaim unggul atas yang lain. Jalankan sampel Anda sendiri: 50 URL nyata Anda melalui setiap layanan, lalu bandingkan heading, tabel, dan menu sisa di output. ### Apakah salah satunya bisa di-self-host? Ya. Inti Firecrawl adalah open source di bawah AGPL-3.0. Jina menerbitkan branch open source untuk Reader-nya di bawah Apache-2.0, tanpa lapisan penyimpanan terkelola. ### Apakah Firecrawl atau Jina menerima kripto? Tidak pada halaman harga dan penagihan yang kami baca pada 22 Oktober 2026: keduanya menyebut Stripe, dengan kartu dan PayPal, dan Jina juga Google Pay. WebReaderAPI menerima BTC, USDT, USDC, ETH, SOL, LTC. ### Apakah perbandingan ini netral? Ditulis oleh WebReaderAPI, pesaing keduanya, dan dinyatakan di bagian atas. Setiap fakta tentang Firecrawl dan Jina berasal dari halaman mereka sendiri, yang tercantum di bawah beserta tanggal kami membacanya. ## Sumber 1. [Harga Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Penagihan](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Crawl](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 4. [Panduan scraping lanjutan](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 5. [server MCP](https://docs.firecrawl.dev/mcp-server.md) — Firecrawl docs (read 2026-10-22) 6. [Memperkenalkan Alexandria dan Series B kami](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 7. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 8. [Dashboard API: harga](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 9. [Repositori jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 10. [Elastic menyelesaikan akuisisi Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) 11. [Alat web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-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. --- # Perbandingan harga API web reader: berapa biaya 10K, 100K dan 1M halaman > Harga API web reader dan URL-to-Markdown dibandingkan pada 2026-10-22: tagihan bulanan untuk 10K, 100K, dan 1M halaman di 13 API, halaman biasa dan halaman JS. - URL: https://webreaderapi.com/id/compare/web-reader-api-pricing/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Harga kredit menyembunyikan ukuran paket, pengali browser dan masa berlaku. Halaman ini mengubah harga daftar publik menjadi tagihan bulanan untuk tiga volume, untuk halaman biasa dan untuk halaman yang memerlukan browser, lalu mencantumkan biaya yang tidak dicantumkan di halaman harga. **Jawaban singkat — Bagaimana perbandingan harga API web reader pada 2026?** Pada 2026-10-22, 100.000 halaman yang dirender browser per bulan berbiaya $99 di delapan API, termasuk Firecrawl, Olostep dan Crawl4AI Cloud; halaman biasa berbiaya mulai dari $29 (Scrape.do). Pada 1 juta halaman, halaman biasa mulai dari sekitar $99 dan halaman browser mulai dari $399 (Olostep). **WebReaderAPI** menagih US$21,75 untuk 100.000 halaman biasa dan $43,50 jika semuanya memerlukan browser, dibayar dengan kripto tanpa KYC. ## Berapa biaya halaman selama sebulan di setiap API? Tagihan bulanan untuk 10.000, 100.000 dan 1.000.000 halaman, menggunakan paket, biaya kelebihan atau tarif bayar sesuai pemakaian termurah yang dipublikasikan. Jika penyedia menetapkan harga berbeda untuk halaman browser, kedua angka ditampilkan (biasa / browser). | API | 10.000 halaman | 100.000 halaman | 1.000.000 halaman | | --- | --- | --- | --- | | WebReaderAPI, halaman biasa | US$3,75 | US$21,75 | US$74,25 | | WebReaderAPI, halaman browser (2 kredit) | $7.50 | $43.50 | $148.50 | | Firecrawl | $44.00 | $99.00 | $749.00 | | Crawl4AI Cloud, biasa / browser | $10.00 | $50.00 / $99.00 | $395.00 / $667.00 | | Olostep | $29.00 | $99.00 | $399.00 | | Tavily Extract, biasa / browser | $16.00 / $30.00 | $140.00 / $236.00 | $1,300 / $2,900 | | Konten Exa | $10.00 | $100.00 | $1,000 | | Linkup fetch, biasa / browser | $10.00 / $50.00 | $100.00 / $500.00 | $1,000 / $5,000 | | ScrapingBee, biasa / browser | $19.00 | $49.00 / $99.00 | $99.00 / $599.00 | | Scrape.do, biasa / browser | $29.00 | $29.00 / $99.00 | $99.00 / $699.00 | | ZenRows, biasa / browser | $5.00 / $25.00 | $39.00 / $99.00 | $199.00 / $549.00 | | Scrapfly, biasa / browser | $30.00 | $30.00 / $100.00 | $100.00 / $560.00 | | Bright Data Web Unlocker | $15.00 | $150.00 | $1,300 | | Diffbot | $299.00 | $299.00 | $899.00 | *Harga diperiksa pada 22 Oktober 2026.* Harga daftar dalam USD, dibaca pada 2026-10-22. "—" = tidak dipublikasikan atau tidak self-serve pada volume tersebut. Exa dan Parallel tidak mendokumentasikan opsi browser. Metode lengkap dan 21 API: [Indeks harga URL to Markdown API 2026](https://webreaderapi.com/id/data/url-to-markdown-price-index-2026/). ## Biaya apa yang tidak dicantumkan di halaman harga? 1. **Pengali browser.** Halaman JavaScript berbiaya 5 kredit di ScrapingBee, ZenRows dan Scrape.do, 6 di Scrapfly dan 10 di ScraperAPI; Firecrawl dan Olostep merender setiap halaman dengan satu harga. 2. **Tingkatan paket.** Paket $99 yang dibeli untuk 20.000 halaman tetap berbiaya $99. 3. **Masa berlaku.** Sebagian besar paket bulanan mereset kredit yang tidak terpakai; bulan yang sepi berarti uang hilang. 4. **Add-on ekstraksi.** Ekstraksi JSON terstruktur berbiaya tambahan di beberapa API: 4 kredit lagi per halaman di Firecrawl. 5. **Koneksi premium.** Proxy residensial atau "premium" mengalikan biaya kredit di sebagian besar API scraping; WebReaderAPI menambahkan 10 kredit hanya saat Anda memilih negara. 6. **Halaman gagal.** Periksa apakah error ditagih. WebReaderAPI tidak menagih apa pun untuk halaman gagal atau halaman yang ditolak robots.txt. ## Di mana posisi WebReaderAPI? Pada harga di halaman ini, yang ditetapkan pada 2026-10-22, WebReaderAPI menagih US$0,38/1K halaman per halaman biasa pada 10.000 halaman, US$0,22/1K halaman pada 100.000 dan US$0,07/1K halaman pada 1 juta; halaman browser memakai dua kredit. Kredit bersifat prabayar, tidak pernah kedaluwarsa dan dibayar dengan BTC, USDT, USDC, ETH, SOL, LTC tanpa KYC. Kami tidak mengklaim sebagai yang termurah di setiap volume atau untuk setiap jenis halaman. Crawler kami menghormati robots.txt dan tidak pernah mencoba menghindari penolakan, sehingga sebagian halaman yang diambil alat lain akan kembali ditolak, dan gratis. ## Berapa biaya WebReaderAPI? Paket prabayar; satu kredit per halaman biasa, dua dengan browser; kredit tidak pernah kedaluwarsa. Harga ditetapkan pada 2026-10-22. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Harga API web reader: pertanyaan umum ### Apa API URL to Markdown termurah pada 2026? Untuk halaman biasa pada 1 juta per bulan, ScrapingBee ($0,099 per 1.000) dan Scrape.do ($0,099 per 1.000) mencantumkan harga terendah pada 2026-10-22. Untuk halaman browser pada volume tersebut, Olostep mencantumkan $0,399. Jawabannya berubah menurut volume, jadi bandingkan pada volume Anda sendiri. ### Apakah Firecrawl mahal? Pada volume kecil, ya: $19 untuk 5.000 halaman di Hobby berarti $3,80 per 1.000. Pada 100.000 halaman ($99) dan 1 juta ($749), harganya dekat dengan pasar untuk halaman yang dirender browser, karena setiap halaman Firecrawl dirender. ### Apakah saya membayar halaman yang gagal? Tergantung penyedianya; baca halaman penagihannya. Crawlbase menyatakan bahwa permintaan yang gagal dan percobaan ulang gratis. WebReaderAPI tidak menagih untuk halaman gagal atau halaman yang ditolak robots.txt. ### Bisakah saya membayar API web reader dengan kripto? Ya, di beberapa. Scrape.do, Decodo Web Data API, Scrapeless menyatakan pembayaran kripto di akun, dan Exa contents, Parallel Extract, Linkup fetch, Olostep dan lainnya menerima USDC per permintaan melalui x402. WebReaderAPI menerima BTC, USDT, USDC, ETH, SOL, LTC tanpa KYC. ## Sumber 1. [Firecrawl: harga](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Crawl4AI Cloud: harga](https://crawl4ai.com/) — Crawl4AI Cloud (read 2026-10-22) 3. [Olostep: harga](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 4. [Tavily Extract: harga](https://docs.tavily.com/documentation/api-credits) — Tavily Extract (read 2026-10-22) 5. [Exa contents: harga](https://exa.ai/pricing) — Exa contents (read 2026-10-22) 6. [Linkup fetch: harga](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup fetch (read 2026-10-22) 7. [ScrapingBee: harga](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 8. [Scrape.do: harga](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 9. [ZenRows: harga](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Scrapfly: harga](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 11. [Bright Data Web Unlocker: harga](https://www.bright.cn/pricing/web-unlocker) — Bright Data Web Unlocker (read 2026-10-22) 12. [Diffbot: harga](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-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. --- # Hubungi WebReaderAPI > Hubungi WebReaderAPI: email dukungan untuk pertanyaan API dan penagihan, email penyalahgunaan untuk pemilik situs, sertakan yang perlu agar cepat dijawab. - URL: https://webreaderapi.com/id/contact/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Dua alamat: satu untuk pelanggan, satu untuk pemilik situs dan laporan penyalahgunaan. Keduanya dibaca oleh orang. **Jawaban singkat — Bagaimana cara menghubungi WebReaderAPI?** Kirim email ke support@webreaderapi.com untuk bantuan dengan API, akun, atau pembayaran; Dukungan email menjawab dalam 12 jam, setiap hari sepanjang minggu, termasuk bantuan untuk crawl dan integrasi. Pemilik situs dan siapa pun yang melaporkan penyalahgunaan crawler **WebReaderAPI** dapat menulis ke abuse@webreaderapi.com. Tim kami tidak akan pernah meminta nomor akun atau API key Anda melalui email atau chat. ## Apa yang membuat permintaan dukungan cepat dijawab? Pesan singkat dengan faktanya mendapat jawaban tercepat: - order ID dari riwayat pesanan Anda, untuk pertanyaan penagihan; - waktu permintaan, endpoint, dan kode error, untuk masalah API; - URL yang Anda coba baca, jika halaman tidak kembali seperti yang diharapkan. Jangan pernah mengirim API key atau nomor akun Anda lewat email. ## Saya mengelola sebuah website. Bagaimana cara menghubungi Anda? Kirim email ke abuse@webreaderapi.com dengan domain Anda, tanggal dan waktu, serta satu baris log server Anda yang menunjukkan user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Untuk menghentikan crawler kami tanpa menulis kepada kami, tambahkan aturan untuk `WebReaderAPI` ke robots.txt Anda; [halaman bot](https://webreaderapi.com/id/bot/) punya contoh siap pakai. Seseorang membaca setiap laporan penyalahgunaan, dan akun yang terbukti menyalahgunakan layanan ditangguhkan. ## Apa saja yang bisa dibantu dukungan? Apa pun tentang penggunaan API atau akun Anda: - halaman yang kembali kosong, terpotong, atau dengan bagian yang salah dipertahankan sebagai konten utama; - kode error yang tidak Anda pahami, atau crawl job yang berhenti lebih awal; - top-up yang belum muncul di saldo Anda setelah konfirmasinya; - permintaan pengembalian dana sesuai [kebijakan pengembalian dana](https://webreaderapi.com/id/refunds/); - batas konkurensi yang lebih tinggi untuk penggunaan produksi. Dukungan tidak dapat membuat situs menerima crawler kami. Ketika situs menolak kami, satu-satunya jalan adalah izin dari pemilik situs. ## Bagaimana cara melaporkan masalah pembayaran? Sertakan jenis koin, jaringan, jumlah yang dikirim, dan ID transaksi, bersama dengan order ID dari area klien. Itu cukup untuk menemukan transfer apa pun di blockchain. Jangan sertakan private key, seed phrase, nomor akun, atau API key Anda: kami tidak pernah membutuhkannya, dan siapa pun yang memintanya bukanlah kami. ## Apakah ada chat atau saluran telepon? Tidak. Email menyimpan catatan tertulis bagi kedua pihak dan memungkinkan kami menjawab dengan tepat, dengan log di tangan. Untuk status API, lihat [halaman status](https://webreaderapi.com/id/status/); untuk pertanyaan umum, lihat [FAQ](https://webreaderapi.com/id/faq/). --- 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. --- # Crawl API: ubah seluruh website menjadi file Markdown > API crawl yang mengubah website menjadi Markdown untuk RAG: hingga 10.000 halaman per job, sitemap dan robots.txt diikuti, mulai US$0,07/1K halaman. Kripto. - URL: https://webreaderapi.com/id/crawl-api/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Berikan URL awal dan batas halaman. Crawler mengikuti sitemap dan tautan situs dalam domain yang sama, membaca setiap halaman sebagai Markdown dan menyerahkan hasilnya halaman demi halaman. Satu kredit per halaman. **Jawaban singkat — Bagaimana cara crawl seluruh website dan mendapatkan setiap halaman sebagai Markdown?** Gunakan crawl API: Anda mengirim URL awal dan batas, lalu API mengembalikan setiap halaman situs sebagai Markdown. **WebReaderAPI** melakukan crawl hingga 10.000 halaman per job dalam satu domain, mengikuti sitemap, robots.txt, dan Crawl-delay, serta menagih satu kredit per halaman yang dibaca, mulai dari US$0,07/1K halaman per Oktober 2026. Halaman yang ditolak robots.txt gratis. Tanpa KYC; bayar dengan kripto. ## Crawl API sekilas | Atribut | Nilai | | --- | --- | | Mulai crawl | `POST https://webreaderapi.com/api/v1/crawl` dengan `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths` | | Dapatkan hasilnya | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, dipaginasi dengan cursor | | Cakupan | Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya | | Banyak URL terpisah | `POST https://webreaderapi.com/api/v1/batch`: Hingga 100 URL per batch job | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Pemilik situs | Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya | | Harga | US$14,25 untuk 50.000 halaman, US$50 untuk 500.000 halaman | ## Bagaimana cara kerja job crawl? Crawl adalah job latar belakang, karena membaca ratusan halaman memakan waktu lebih lama daripada yang seharusnya untuk satu permintaan HTTP. 1. **Mulai:** `POST https://webreaderapi.com/api/v1/crawl` dengan URL awal dan batas Anda. Anda langsung mendapatkan `job_id`. 2. **Temukan:** crawler membaca robots.txt dan sitemap situs, lalu mengikuti tautan dalam domain yang sama, secara breadth first, hingga `max_depth`. 3. **Baca:** setiap halaman yang diizinkan dibaca dengan opsi yang sama seperti `/read`: Markdown, konten utama, rendering bila diperlukan. 4. **Kumpulkan:** lakukan polling pada `GET https://webreaderapi.com/api/v1/jobs/{job_id}` dan telusuri hasilnya dengan cursor selama job berjalan, atau setelah job `done`. Job berhenti pada `limit` Anda, jadi Anda tidak pernah membayar lebih banyak halaman daripada yang Anda minta. *Python: crawl situs dokumentasi menjadi file Markdown* ```python import os import pathlib import re import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} job = requests.post( API + "/crawl", headers=HEADERS, json={"url": "https://docs.example.com/", "limit": 500, "max_depth": 4, "include_paths": ["/guide/*"]}, timeout=60, ).json() out = pathlib.Path("docs_md") out.mkdir(exist_ok=True) cursor, delay = None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for item in page.get("results", []): if "markdown" in item: name = re.sub(r"[^a-z0-9]+", "-", item["url"].lower()).strip("-")[:120] (out / (name + ".md")).write_text(item["markdown"], encoding="utf-8") cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print("credits used:", page.get("credits_used")) ``` ## Halaman mana yang dikunjungi crawler, dan mana yang dilewati? Crawler tetap berada di dalam domain URL awal dan melewati apa pun yang diminta situs agar ditinggalkan oleh robots. Secara rinci: - **Hanya domain yang sama.** Tautan ke domain lain dicantumkan dalam hasil tetapi tidak dibaca. - **robots.txt didahulukan.** Halaman yang tidak diizinkan untuk `WebReaderAPI` atau untuk semua robot dilewati dan tidak dikenai biaya. - **Crawl-delay dihormati.** Jika situs menetapkannya, crawler menunggu selama itu di antara dua halaman, sehingga situs besar bisa memakan waktu lebih lama. - **Filter Anda.** `include_paths` dan `exclude_paths` menerima pola sederhana seperti `/blog/*`; gunakan untuk menghindari halaman tag, halaman pencarian, dan arsip. - **Duplikat dihapus.** Halaman yang sama yang dicapai melalui dua URL, misalnya dengan parameter pelacakan, dibaca sekali ketika situs mendeklarasikan URL kanonik. ## Sebaiknya saya menggunakan crawl atau batch? Gunakan crawl ketika Anda mengetahui situsnya tetapi tidak halaman-halamannya; gunakan batch ketika Anda sudah memiliki daftar URL. Crawl menemukan halaman dari sitemap dan tautan. Batch membaca tepat URL yang Anda kirim, hingga 100 per job, di berapa pun jumlah situs. Untuk penyegaran mingguan basis pengetahuan, pola umumnya adalah satu crawl untuk membangun indeks, lalu batch halaman-halaman yang `lastmod`-nya berubah di sitemap. Ini menjaga biaya mingguan hanya untuk halaman yang benar-benar berubah. ## Berapa biaya untuk crawl sebuah situs? Satu kredit per halaman yang dibaca, dua untuk halaman yang memerlukan browser. Situs dokumentasi dengan 1.500 halaman yang di-render di server memakan 1.500 kredit; situs yang sama yang dibangun sebagai single-page app bisa memakan hingga 3.000. Tiga job tipikal, per Oktober 2026: manual produk 300 halaman muat dalam paket 10.000 halaman (US$3,75); sepuluh situs dokumentasi masing-masing 2.000 halaman muat dalam 50.000 halaman (US$14,25); arsip 400.000 halaman muat dalam 500.000 halaman (US$50). Halaman yang dilewati dan gagal gratis. ## Paket mana yang cocok untuk crawl? Ukur paket berdasarkan jumlah halaman, lalu tambahkan margin untuk halaman yang memerlukan browser. Kredit tidak pernah kedaluwarsa, jadi sisanya bisa dipakai untuk crawl berikutnya. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Scale | 500.000 halaman | US$50 | US$0,10/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Crawl API: pertanyaan umum ### Berapa banyak halaman yang bisa dibaca satu crawl? Hingga 10.000 halaman per job, dalam domain URL awal. Untuk situs yang lebih besar, pecah menjadi beberapa job dengan `include_paths`, misalnya satu per bagian. ### Apakah crawler menggunakan sitemap? Ya. Crawler membaca sitemap yang tercantum di robots.txt atau di lokasi biasa, lalu mengikuti tautan pada halaman yang dibacanya. Halaman yang hanya tercantum di sitemap tetap dibaca jika robots.txt mengizinkannya. ### Bisakah saya crawl situs yang memblokir crawler AI? Tidak dengan WebReaderAPI. Jika robots.txt tidak mengizinkan crawler kami atau semua robot, halaman tersebut dilewati dan tidak dikenai biaya. Jika situs mendeklarasikan `Content-Signal: ai-input=no`, kami tidak membacanya untuk Anda. Kami tidak pernah mencoba mengakali pilihan tersebut. ### Bisakah saya mendapatkan hasil saat crawl masih berjalan? Ya. `GET https://webreaderapi.com/api/v1/jobs/{job_id}` mengembalikan halaman yang sudah dibaca dengan sebuah cursor; terus lakukan paging hingga job `done` dan tidak ada cursor tersisa. ### Bisakah crawl membaca lebih banyak halaman daripada batas saya? Tidak. Kredit dihitung per halaman, dan job berhenti ketika mencapai `limit` yang Anda tetapkan. Halaman yang dilewati karena robots.txt, dan halaman yang gagal, tidak memakai kredit. --- 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. --- # Bayar web reader API dengan kripto > Cara membayar WebReaderAPI dengan kripto: BTC, USDT, USDC, ETH, SOL atau LTC, top-up minimum US$25, dan apa yang harus dilakukan setelah mengirim. - URL: https://webreaderapi.com/id/crypto-payments/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Panduan langkah demi langkah untuk top-up saldo WebReaderAPI Anda dengan kripto dan mengubahnya menjadi kredit halaman, beserta kesalahan yang harus dihindari. **Jawaban singkat — Bagaimana cara saya membayar WebReaderAPI dengan kripto?** Top-up saldo **WebReaderAPI** Anda dengan minimal US$25 dalam BTC, USDT, USDC, ETH, SOL, LTC: kirim jumlah persis yang ditampilkan, di jaringan yang ditampilkan, lalu klik "I've sent the payment". Top-up dicocokkan berdasarkan jumlah persisnya dan dikreditkan setelah dikonfirmasi. Anda kemudian membeli kredit halaman dari saldo, mulai dari US$3,75 untuk 10.000 halaman. Tanpa KYC. ## Koin apa saja yang bisa saya gunakan untuk membayar? Enam koin, satu saldo. USDT berlaku di TRC-20 atau ERC-20, USDC di ERC-20; halaman pembayaran menampilkan alamat dan jaringan untuk koin yang Anda pilih. - Bitcoin (BTC) - Tether (USDT) — TRC-20 or ERC-20 - USD Coin (USDC) — ERC-20 - Ethereum (ETH) - Solana (SOL) - Litecoin (LTC) ## Bagaimana cara kerja top-up kripto, langkah demi langkah? Lima langkah dari akun kosong hingga API key yang berfungsi. Satu-satunya penantian adalah konfirmasi blockchain. 1. **Pilih jumlah dan koin** — Masukkan minimal US$25 dan pilih BTC, USDT, USDC, ETH, SOL atau LTC. Halaman pembayaran mengonversi jumlah dolar ke koin tersebut. 2. **Kirim jumlah persis** — Salin alamat dan jumlah yang ditampilkan, lalu kirim di jaringan yang disebutkan halaman: satu transfer, angka persis, tanpa pembulatan. 3. **Klik "I've sent the payment"** — Beri tahu halaman pembayaran bahwa transfer sedang dalam proses. Jika diminta transaction ID, tempelkan agar transfer lebih mudah ditemukan. 4. **Biarkan jaringan mengonfirmasinya** — Top-up dicocokkan berdasarkan jumlah persisnya dan dikreditkan setelah jaringan mengonfirmasinya. Bitcoin butuh waktu lebih lama daripada USDT di Tron atau SOL di Solana. 5. **Beli paket kredit** — Bayar paket apa pun dari saldo. Jika Anda memulai dari sebuah paket, paket itu dibeli setelah top-up dikreditkan, dan API key Anda muncul di dashboard. ## Koin dan jaringan mana yang sebaiknya saya gunakan? Gunakan koin yang sudah Anda pegang, di jaringan yang disebutkan halaman pembayaran. Stablecoin (USDT atau USDC) menjaga jumlahnya tetap dalam dolar, jadi harga yang Anda lihat adalah harga yang Anda bayar. Biaya jaringan dan waktu konfirmasi berbeda tiap chain; tabel pada langkah di atas menunjukkan waktu konfirmasi yang biasa untuk tiap jaringan. Jika Anda memegang USDT di beberapa chain, pilih yang biayanya lebih kecil untuk jumlah Anda. Biaya dibayar oleh pengirim dan bukan bagian dari top-up Anda. ## Mengapa ada minimum top-up? Karena setiap pembayaran memerlukan biaya pemeriksaan dan pembukuan bagi kami, berapa pun ukurannya. Minimumnya US$25; paket apa pun kemudian bisa dibeli dari saldo, termasuk paket 10.000 halaman seharga US$3,75. Yang tidak Anda belanjakan tetap ada di saldo tanpa tanggal berakhir. Jika paket yang Anda beli lebih murah daripada minimum, kelebihan bagiannya dapat diminta kembali dalam 30 hari, dalam USDT atau USDC, selama belum terpakai. ## Apa yang terjadi setelah saya mengirim pembayaran? Klik "I've sent the payment" di halaman pembayaran. Kami mencocokkan transfer berdasarkan jumlah persisnya, menunggu konfirmasi yang dibutuhkan jaringan, lalu mengreditkan saldo Anda. Jika Anda memulai dari sebuah paket, paket itu dibeli dari saldo setelah top-up dikreditkan, dan API key Anda siap di dashboard. Jika Anda menutup tab, buka client area: top-up yang tertunda dan yang sudah dikreditkan muncul di riwayat pesanan Anda. ## Bagaimana jika saya mengirim jumlah yang salah atau menggunakan jaringan yang salah? Jumlah yang berbeda tidak dapat dicocokkan dengan sendirinya, dan transfer di jaringan lain mungkin tidak sampai ke alamat sama sekali. Sebelum mengirim, periksa tiga hal: koin, jaringan, dan jumlah persisnya. Jika terjadi kesalahan, tulis ke support@webreaderapi.com dengan transaction ID dan order ID. Jangan kirim nomor akun atau API key Anda. Dana yang dikirim di jaringan yang tidak ditampilkan halaman pembayaran mungkin tidak dapat dipulihkan. ## Bisakah pembayaran kripto dikembalikan? Pengembalian dana masuk ke saldo Anda, bukan kembali ke wallet Anda, sehingga menghindari biaya jaringan kedua. Paket yang terpakai kurang dari 20% dalam 72 jam, atau paket yang tidak pernah berfungsi, akan dikreditkan kembali. [Kebijakan pengembalian dana](https://webreaderapi.com/id/refunds/) memberikan syarat persisnya dan tiga contoh. ## Apa yang bisa saya beli setelah saldo saya dikreditkan? Paket apa pun: 10.000 halaman seharga US$3,75, 50.000 halaman seharga US$14,25, atau 100.000 halaman seharga US$21,75, dan paket yang lebih besar di [halaman harga](https://webreaderapi.com/id/pricing/). Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa Harga dalam USD, ditetapkan pada 2026-10-22. Setiap paket dibayar dari saldo kripto Anda. ## Membayar dengan kripto: pertanyaan umum ### Apakah saya perlu kartu atau identitas untuk membayar? Tidak. WebReaderAPI hanya menerima kripto dan tidak meminta dokumen identitas. Login dengan nomor akun; email opsional. ### Apakah harganya tetap saat saya memulai pembayaran? Halaman pembayaran menampilkan jumlah dalam koin yang Anda pilih untuk pembayaran itu. Kirim jumlah persis tersebut; stablecoin menjaganya tetap setara dengan harga dolar. ### Bisakah saya membayar kredit per permintaan alih-alih top-up? Tidak. Pembayaran melalui saldo prabayar, dan setiap pembacaan menggunakan kredit darinya. Saldo dan kredit tidak pernah kedaluwarsa. ### Di mana saya bisa melihat pembayaran saya? Di riwayat pesanan client area, lengkap dengan status, koin, jaringan, dan transaction ID setiap top-up. --- 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. --- # Indeks harga URL to Markdown API 2026: berapa biaya 1.000 halaman di 21 API > Indeks harga API URL-to-Markdown dan web reader 2026: 21 API, biaya per 1.000 halaman pada 3 volume, halaman statis dan JavaScript. - URL: https://webreaderapi.com/id/data/url-to-markdown-price-index-2026/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Harga daftar publik dari 21 API yang mengubah halaman web menjadi Markdown atau teks untuk model, dinormalisasi ke biaya 1.000 halaman pada tiga volume bulanan, untuk halaman biasa dan untuk halaman yang dirender di browser. Diterbitkan oleh WebReaderAPI, yang merupakan salah satu API dalam tabel. **Jawaban singkat — Berapa biaya API URL-to-Markdown per 1.000 halaman pada 2026?** Di antara 21 API yang harga daftarnya kami baca pada 2026-10-22, membaca 100.000 halaman biasa per bulan memerlukan biaya median $0,99 per 1.000, dan $1,00 saat halaman memerlukan browser. Pada 1 juta halaman per bulan, mediannya turun menjadi $0,774 dan $0,899. **WebReaderAPI**, yang menerbitkan indeks ini, menagih US$0,22/1K halaman untuk halaman biasa pada 100.000. ## Indeks dalam enam angka - **$2.00** median per 1.000 halaman biasa pada 10.000 per bulan (21 API) - **$0.99** median per 1.000 halaman biasa pada 100.000 per bulan (21 API) - **$0.774** median per 1.000 halaman plain per bulan pada 1 juta per bulan (20 API) - **$1.00** median per 1.000 halaman yang dirender browser per bulan pada 100.000 per bulan (18 API) - **$0.899** median per 1.000 halaman yang dirender browser per bulan pada 1 juta per bulan (17 API) - **3 + 7** API yang menyatakan pembayaran kripto pada akun, plus API yang menerima USDC per permintaan (x402) ## Bagaimana indeks ini disusun? Kami membaca halaman harga publik setiap penyedia pada 2026-10-22 dan hanya menyimpan angka yang tercantum di sana; setiap sumber dicantumkan di bagian bawah. "Halaman" adalah satu URL yang dibaca dan dikembalikan sebagai Markdown atau teks, dengan proxy default penyedia dan tanpa add-on berbayar. - **Halaman plain:** tanpa rendering JavaScript. **Halaman browser:** dirender di browser headless terlebih dahulu; penyedia yang selalu merender (Firecrawl, Olostep, Diffbot) memiliki harga yang sama di kedua tabel. - **Harga pada volume tertentu:** cara termurah yang dipublikasikan untuk membeli sejumlah halaman itu setiap bulan pada satu penyedia (paket, paket plus overage yang dipublikasikan, atau pay as you go), dibagi jumlah halaman yang digunakan. Paket $99 yang digunakan untuk 100.000 halaman dihitung $0,99 per 1.000 meskipun mencakup lebih banyak. - **Pengali kredit diterapkan**, misalnya 5 kredit per halaman browser di ScrapingBee, ZenRows, dan Scrape.do. - **Free tier dicantumkan, tidak diberi harga.** API yang ditagih berdasarkan token, waktu browser, volume data, atau komputasi, serta satu API yang output Markdown-nya tidak dapat kami konfirmasi, dicantumkan terpisah. WebReaderAPI ditampilkan sebagai referensi dan tidak dihitung dalam median. ## Harga per 1.000 halaman plain, berdasarkan volume bulanan Halaman statis, dibaca tanpa browser. "—" berarti tidak dipublikasikan atau tidak self-serve pada volume tersebut. | API | 10K halaman per bulan | 100K halaman per bulan | 1M halaman per bulan | | --- | --- | --- | --- | | WebReaderAPI (prabayar, tidak pernah kedaluwarsa) | US$0,38/1K halaman | US$0,22/1K halaman | US$0,07/1K halaman | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $1.60 | $1.40 | $1.30 | | Konten Exa | $1.00 | $1.00 | $1.00 | | Parallel Extract | $1.00 | $1.00 | $1.00 | | Linkup fetch | $1.00 | $1.00 | $1.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.49 | $0.099 | | ScraperAPI | $4.90 | $0.49 | $0.149 | | ZenRows | $0.50 | $0.39 | $0.199 | | Scrapfly | $3.00 | $0.30 | $0.10 | | Scrape.do | $2.90 | $0.29 | $0.099 | | Crawlbase | $2.10 | $0.764 | $0.349 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $1.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.49 | $0.249 | | Scrapeless | $1.00 | $0.90 | $0.80 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.50 | $0.395 | *Harga diperiksa pada 22 Oktober 2026.* Harga list dalam USD, dibaca pada 2026-10-22. Harga kami: halaman harga WebReaderAPI pada tanggal yang sama. ## Harga per 1.000 halaman yang dirender browser, berdasarkan volume bulanan Halaman yang memerlukan JavaScript, dirender di browser headless. API yang tidak mendokumentasikan opsi browser tidak disertakan dalam tabel ini. | API | 10K halaman per bulan | 100K halaman per bulan | 1M halaman per bulan | | --- | --- | --- | --- | | WebReaderAPI (2 kredit per halaman) | $0,75/1K halaman | $0,435/1K halaman | $0,148/1K halaman | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $3.00 | $2.36 | $2.90 | | Linkup fetch | $5.00 | $5.00 | $5.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.99 | $0.599 | | ScraperAPI | $4.90 | $1.49 | $0.975 | | ZenRows | $2.50 | $0.99 | $0.549 | | Scrapfly | $3.00 | $1.00 | $0.56 | | Scrape.do | $2.90 | $0.99 | $0.699 | | Crawlbase | — | $0.99 | $0.599 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $5.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.99 | $0.999 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.99 | $0.667 | *Harga diperiksa pada 22 Oktober 2026.* ## Mengapa harga antar API bisa begitu berbeda? Ada empat hal yang menjelaskan sebagian besar selisihnya. 1. **Jenis produk.** API scraping umum (ScrapingBee, Scrape.do, ZenRows, Scrapfly) diberi harga untuk volume dan mencapai sekitar $0,10 per 1.000 halaman plain pada 1 juta per bulan. Reader yang berfokus pada AI (Exa, Parallel, Linkup) menetapkan tarif tetap $1,00 dan menambahkan fitur retrieval. 2. **Pengali browser.** Halaman browser berbiaya 2 hingga 10 kali halaman plain di API berbasis kredit; API dengan harga tetap menagih sama untuk keduanya. 3. **Tingkatan paket.** Banyak penyedia menjual paket bulanan dengan jatah besar, sehingga pengguna kecil membayar halaman yang tidak terpakai: median pada 10.000 halaman plain per bulan adalah $2,00. 4. **Kedaluwarsa.** Sebagian besar paket mereset kredit yang tidak terpakai setiap bulan; ScrapeGraphAI, Crawlbase, Crawl4AI Cloud menyimpan kredit yang dibeli tanpa reset bulanan. ## Free tier, kedaluwarsa, kripto, verifikasi identitas, dan robots.txt Apa yang dinyatakan setiap penyedia pada halaman yang kami baca. "Tidak dinyatakan" berarti halaman tersebut tidak menyebutkannya. | API | Tier gratis | Masa berlaku kredit | Pembayaran kripto | Pemeriksaan identitas | robots.txt | | --- | --- | --- | --- | --- | --- | | WebReaderAPI | Tidak ada | Tidak pernah | BTC, USDT, USDC, ETH, SOL, LTC | Tidak ada: tanpa ID, tanpa selfie, tanpa dokumen | Dihormati; tidak pernah diabaikan | | Firecrawl | 1.000 kredit per bulan, tanpa kartu | Kredit paket di-reset setiap bulan | Tidak (kartu, PayPal) | Tidak disebutkan | Dihormati secara default; hanya bisa diubah di Enterprise | | Tavily Extract | 1.000 kredit per bulan (5.000 URL dasar) | Direset setiap bulan | Hanya atas kebijakannya sendiri (ketentuan) | Tidak disebutkan | Tidak disebutkan | | Konten Exa | Kredit $10 per bulan | Kredit gratis direset setiap bulan | Per request, USDC (x402) | Kartu untuk pay as you go | Dinyatakan untuk crawler indeksnya, bukan untuk fetch pengguna | | Parallel Extract | 5.000 permintaan per bulan | Kredit gratis kedaluwarsa setiap bulan | Per request, USDC (x402) | Kartu untuk kredit bulanan | Dinyatakan untuk crawler indeksnya, bukan untuk fetch pengguna | | Linkup fetch | $20 per bulan (email profesional) | Tidak disebutkan | Per request, USDC (x402) | Email profesional untuk kredit gratis | Crawl menghormatinya; fetch tidak dinyatakan | | Olostep | Uji coba 500 permintaan | Paket bulanan; top-up 6 bulan | Per request, USDC (x402) | Kartu untuk top-up | Alat untuk menghormatinya; default tidak dinyatakan | | ScrapeGraphAI | 500 kredit | Kredit paket tidak terbawa; top-up tidak pernah kedaluwarsa | Khusus agen (MPP) | Tidak disebutkan | Pelanggan harus mematuhi (ketentuan) | | Diffbot | 10.000 kredit per bulan | Kuota direset setiap periode | Tidak disebutkan | Tanpa kartu untuk paket gratis | Crawl mematuhinya secara default; Extract tidak dinyatakan | | ScrapingBee | 1.000 kredit | Tanpa rollover | Tidak | Kartu untuk paket berbayar | Tidak disebutkan | | ScraperAPI | 5.000 kredit untuk 7 hari | Kedaluwarsa setiap periode penagihan | Tidak | Tidak disebutkan | Tidak disebutkan | | ZenRows | 5.000 kredit per bulan | Saat perpanjangan | Akun: tidak; agen: USDC (x402) | Validasi email | Tidak disebutkan | | Scrapfly | 1.000 kredit sekali | Tanpa rollover | Tidak disebutkan | KYC untuk setiap pelanggan | Crawler API menghormatinya secara default; bisa dinonaktifkan | | Scrape.do | 1.000 kredit per bulan | Tidak disebutkan | Ya (koin tidak disebutkan) | Tidak disebutkan | Tidak disebutkan | | Crawlbase | 1.000 kredit | Bayar sesuai pemakaian: tidak ada yang kedaluwarsa | Tidak disebutkan | Tidak disebutkan | Tidak disebutkan | | Bright Data Web Unlocker | 5.000 kredit per bulan | Kredit gratis direset setiap bulan | Tidak | Kartu untuk akun email pribadi; KYC perusahaan untuk halaman yang dilarang robots | Dihormati secara default | | Oxylabs Web Scraper API | Kredit $5 sekali | Akhir siklus | Tidak | KYC untuk setiap pelanggan | Tidak disebutkan | | Decodo Web Data API | Hingga 10.000 permintaan per bulan | Jumlah yang tidak terpakai kedaluwarsa setiap bulan | Ya (via CoinGate) | Pemeriksaan otomatis, lalu KYC | Tidak disebutkan | | Scrapeless | Uji coba, ukuran tidak disebutkan | Minimum prabayar tidak dipertahankan | Ya (koin tidak disebutkan) | Tidak ada untuk paket dasar | Tidak disebutkan | | Hyperbrowser Fetch | 5.000 kredit | Kredit yang dibeli: 12 bulan | Per request, USDC (x402) | Tidak disebutkan | Tidak disebutkan | | Steel scrape | $30 sekali (90 hari) | Kredit peluncuran 90 hari | Per request, USDC (x402) | Tanpa kartu | Ketentuan melarang melanggarnya | | Crawl4AI Cloud | 1.000 kredit per bulan | Kredit yang dibeli tidak pernah kedaluwarsa | Tidak disebutkan | Tanpa kartu | Ketentuan mewajibkan mematuhinya | *Harga diperiksa pada 22 Oktober 2026.* ## Apa temuan utamanya? - **Halaman biasa murah jika volumenya besar.** Pada 1 juta halaman per bulan, ScrapingBee ($0.099), Scrape.do ($0.099), Scrapfly ($0.10) mencantumkan harga halaman biasa terendah. - **Halaman browser lebih mahal.** Pada 1 juta per bulan, Olostep ($0.399), ZenRows ($0.549), Scrapfly ($0.56) mencantumkan harga halaman browser terendah. - **Reader paling terkenal bukan yang paling murah.** Firecrawl mencantumkan $0.99 per 1.000 pada 100.000 halaman dan $0.749 pada 1 juta, dengan setiap halaman dirender. - **Kripto jarang tersedia untuk akun.** Scrape.do, Decodo Web Data API, Scrapeless menyatakan pembayaran kripto; Exa contents, Parallel Extract, Linkup fetch, Olostep, ZenRows, Hyperbrowser Fetch, Steel scrape menerima USDC per permintaan melalui x402. - **robots.txt sering diserahkan ke pelanggan.** Penyedia yang menyatakan default menghormati robots.txt, setidaknya pada produk crawl mereka: Firecrawl, Diffbot, Scrapfly, Bright Data Web Unlocker. Banyak yang tidak menyebut apa pun. - **KYC adalah pengecualian.** Oxylabs dan Scrapfly memintanya dari setiap pelanggan; Decodo menjalankan pemeriksaan otomatis terlebih dahulu. ## API yang ditagih dengan cara lain (tidak termasuk dalam median) Ini ditagih berdasarkan token, waktu browser, volume data, atau komputasi, atau tidak mengonfirmasi output Markdown, sehingga harga per halaman bergantung pada halaman Anda. | API | Harga | Catatan | | --- | --- | --- | | Jina Reader | $50 per 1 miliar output token; $500 per 11 miliar | Ditagih per token: biaya per halaman bergantung pada panjang halaman. 10 juta token gratis per API key baru, hanya untuk non-komersial. | | Cloudflare Browser Run | $0,09 per jam browser setelah 10 jam termasuk, minimum $5 per bulan | Ditagih berdasarkan waktu browser; endpoint /markdown, /content, dan /crawl. | | Spider | $1 per GB konten ditambah komputasi | Ditagih berdasarkan volume data; angka per halaman yang dipublikasikan adalah estimasinya sendiri. | | Apify Website Content Crawler | Unit komputasi ($0.13 per unit pada Business) | Ditagih berdasarkan komputasi; angka per halaman yang dipublikasikan adalah estimasinya sendiri. | | Zyte API | $0.13 per 1.000 permintaan statis (website tier 1, bayar sesuai pemakaian); $1.01 dengan browser | Harga bergantung pada tier yang ditetapkan Zyte per website; output Markdown tidak disebutkan pada halaman yang kami baca. | *Harga diperiksa pada 22 Oktober 2026.* ## Bisakah saya menggunakan ulang data ini? Ya. Tabel di halaman ini diterbitkan di bawah lisensi Creative Commons Attribution 4.0 (CC BY 4.0): salin dan adaptasi dengan tautan ke halaman ini dan tanggal 2026-10-22. Kami membaca ulang harga setidaknya sekali sebulan. Jika ada angka yang salah, tulis ke support@webreaderapi.com dengan halaman yang menunjukkan angka yang benar; kami mengoreksinya dan mencatat perubahan di [changelog](https://webreaderapi.com/id/changelog/). ## Indeks harga: pertanyaan umum ### API URL-ke-Markdown mana yang paling murah? Tergantung pada volume dan pada JavaScript. Pada 2026-10-22, harga halaman biasa terendah pada 1 juta halaman per bulan adalah ScrapingBee sebesar $0.099 dan Scrape.do sebesar $0.099 per 1.000; harga halaman browser terendah pada volume tersebut adalah Olostep sebesar $0.399. ### Berapa biaya Firecrawl per halaman? Firecrawl menagih 1 kredit per halaman dengan JavaScript sudah termasuk: $19 untuk 5.000 kredit pada Hobby, $99 untuk 100.000 pada Standard, dan $749 untuk 1 juta pada Scale, dibaca di halaman harganya pada 2026-10-22. Ekstraksi JSON menambah 4 kredit per halaman. ### Mengapa Jina Reader tidak ada di tabel utama? Jina menagih berdasarkan token output ($50 per 1 miliar token pada paket terkecilnya), jadi harga per halaman bergantung pada panjang halaman Anda. Layanan ini tercantum di tabel API yang ditagih dengan cara lain. ### Apakah WebReaderAPI menghitung dirinya sendiri dalam median? WebReaderAPI menerbitkan indeks ini dan muncul di baris pertama hanya sebagai referensi. Median menggunakan penyedia lain. ### Seberapa sering indeks diperbarui? Setidaknya sekali sebulan, dan saat penyedia yang tercantum mengubah harga publiknya. Tanggal di bagian atas menunjukkan pemeriksaan lengkap terakhir. ## Sumber 1. [Firecrawl: harga](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Tavily Extract: harga](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 3. [Exa contents: harga](https://exa.ai/pricing) — Exa (read 2026-10-22) 4. [Parallel Extract: harga](https://parallel.ai/pricing) — Parallel (read 2026-10-22) 5. [Linkup fetch: harga](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup (read 2026-10-22) 6. [Olostep: harga](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 7. [ScrapeGraphAI: harga](https://scrapegraphai.com/pricing) — ScrapeGraphAI (read 2026-10-22) 8. [Diffbot: harga](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) 9. [ScrapingBee: harga](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 10. [ScraperAPI: harga](https://www.scraperapi.com/pricing/) — ScraperAPI (read 2026-10-22) 11. [ZenRows: harga](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 12. [Scrapfly: harga](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 13. [Scrape.do: harga](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 14. [Crawlbase: harga](https://crawlbase.com/pricing) — Crawlbase (read 2026-10-22) 15. [Bright Data Web Unlocker: harga](https://www.bright.cn/pricing/web-unlocker) — Bright Data (read 2026-10-22) 16. [Oxylabs Web Scraper API: harga](https://oxylabs.io/pricing/web-scraper-api) — Oxylabs (read 2026-10-22) 17. [Decodo Web Data API: harga](https://help.decodo.com/docs/web-data-api-billing) — Decodo (read 2026-10-22) 18. [Scrapeless: harga](https://www.scrapeless.com/en/pricing) — Scrapeless (read 2026-10-22) 19. [Hyperbrowser Fetch: harga](https://hyperbrowser.ai/docs/pricing.md) — Hyperbrowser (read 2026-10-22) 20. [Steel scrape: harga](https://docs.steel.dev/overview/pricinglimits) — Steel (read 2026-10-22) 21. [Crawl4AI Cloud: harga](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 22. [Jina Reader: harga](https://jina.ai/api-dashboard/pricing/) — Jina Reader (read 2026-10-22) 23. [Cloudflare Browser Run: harga](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare Browser Run (read 2026-10-22) 24. [Spider: harga](https://spider.cloud/pricing) — Spider (read 2026-10-22) 25. [Apify Website Content Crawler: harga](https://apify.com/apify/website-content-crawler) — Apify Website Content Crawler (read 2026-10-22) 26. [Zyte API: harga](https://www.zyte.com/pricing/) — Zyte API (read 2026-10-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. --- # Quick start URL to Markdown API: halaman pertama Anda dalam dua menit > API Markdown URL cepat: dapatkan API key, baca halaman pertama dengan curl, Python atau Node.js, dan cek kredit. Mulai dari US$0,07/1K halaman, tanpa KYC. - URL: https://webreaderapi.com/id/docs/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Satu endpoint, satu parameter: kirim URL ke `/read` dan dapatkan konten utama halaman kembali sebagai Markdown. Halaman ini membawa Anda dari saldo kosong hingga panggilan yang berfungsi, lalu mengarahkan ke semua hal lainnya. **Jawaban singkat — Bagaimana cara mengubah URL menjadi Markdown dengan API?** Kirim URL ke `GET https://webreaderapi.com/api/v1/read` dengan API key Anda di header `Authorization`. **WebReaderAPI** mengambil halaman, mempertahankan konten utama dan mengembalikannya sebagai Markdown beserta judul, penulis, tanggal dan jumlah katanya. Satu halaman berbiaya satu kredit (dua jika membutuhkan browser), mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## API dalam satu tabel | Atribut | Nilai | | --- | --- | | Base URL | `https://webreaderapi.com/api/v1` | | Baca satu halaman | `GET` atau `POST https://webreaderapi.com/api/v1/read` | | Banyak URL atau satu situs | `POST https://webreaderapi.com/api/v1/batch` dan `POST https://webreaderapi.com/api/v1/crawl`, hasil dari `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Kredit tersisa | `GET https://webreaderapi.com/api/v1/credits` (gratis) | | Autentikasi | Kirim API key Anda di header Authorization sebagai Bearer token, atau di parameter kueri api_key | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Crawler kami | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token robots.txt `WebReaderAPI` | | Paket terkecil | 10.000 halaman untuk US$3,75; kredit tidak pernah kedaluwarsa | ## Bagaimana cara mendapatkan API key? Tiga langkah, tanpa formulir yang harus diisi. Yang paling lambat adalah konfirmasi blockchain untuk top-up Anda. 1. **Top up dengan kripto** — Kirim minimal US$25 dalam BTC, USDT, USDC, ETH, SOL, LTC. Login dengan nomor akun; email opsional. 2. **Beli paket kredit** — 10.000 halaman untuk US$3,75 sudah cukup untuk menguji setiap opsi pada URL Anda sendiri. 3. **Salin API key Anda** — API key Anda siap di dashboard setelah top-up kripto Anda dikonfirmasi dan Anda telah membeli pack. Simpan di environment variable bernama WEBREADER_API_KEY. ## Seperti apa permintaan pertama? Ini adalah HTTPS GET biasa dengan alamat halaman di parameter `url`. Encode alamatnya, karena alamat itu mengandung karakter `:` dan `/` sendiri; curl melakukannya untuk Anda dengan `--data-urlencode`. Pengaturan default sudah cocok untuk sebagian besar artikel dan halaman dokumentasi: output Markdown, hanya konten utama, dan browser hanya saat halaman membutuhkannya. *curl: baca satu halaman* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" ``` *Python: baca satu halaman dan simpan* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post"}, timeout=70, ) resp.raise_for_status() page = resp.json() print(page["title"], "-", page["word_count"], "words,", page["credits_used"], "credit(s)") with open("first-post.md", "w", encoding="utf-8") as f: f.write(page["markdown"]) ``` *Node.js 18+: baca satu halaman* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); if (!res.ok) throw new Error(`${page.error.code}: ${page.error.message}`); console.log(page.title, page.word_count, 'words'); console.log(page.markdown.slice(0, 500)); ``` ## Apa yang dikembalikan? Sebuah objek JSON dengan Markdown di field `markdown` dan metadata halaman di sampingnya: `title`, `description`, `author`, `published_at`, `language`, `site_name` dan `word_count`. Dua field membantu Anda memeriksa apa yang terjadi: `final_url` adalah alamat setelah redirect, dan `rendered` memberi tahu Anda apakah browser diperlukan. `credits_used` menunjukkan berapa biaya panggilan: 1 untuk halaman biasa, 2 saat `rendered` adalah `true`, satu lagi jika Anda memilih `country`. [Halaman format respons](https://webreaderapi.com/id/docs/response/) mencantumkan setiap field dengan contoh. ## Opsi mana yang paling sering akan saya gunakan? Lima parameter mencakup sebagian besar kebutuhan. Semuanya opsional. | Parameter | Gunakan untuk | |---|---| | `format` | Dapatkan `text` atau `html` yang sudah dibersihkan alih-alih `markdown` | | `main_content` | Setel `false` untuk mengubah seluruh halaman, termasuk menu | | `render` | Paksa (`true`) atau larang (`false`) browser; `auto` yang memutuskan | | `include_links` | Dapatkan tautan halaman sebagai daftar terpisah | | `max_chars` | Potong halaman panjang agar sesuai dengan budget konteks model | [Referensi read](https://webreaderapi.com/id/docs/read/) menjelaskan setiap parameter, termasuk `country`, `include_images` dan `timeout`. ## Bagaimana cara memeriksa kredit saya yang tersisa? Panggil `GET https://webreaderapi.com/api/v1/credits` dengan API key yang sama. Ini mengembalikan `credits_remaining`, `credits_used_today` dan `concurrency_limit` Anda, dan tidak memakan biaya. Jalankan di awal tugas panjang agar tugas berhenti dengan rapi alih-alih gagal karena `402 insufficient_credits` di tengah jalan. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya, jadi pack yang dibeli untuk satu proyek tetap bernilai untuk proyek berikutnya. ## Apa yang terjadi jika situs tidak mengizinkan robot? Kami tidak membaca halaman tersebut, dan Anda tidak dikenakan biaya. Crawler kami memperkenalkan diri sebagai `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` dan mematuhi robots.txt situs. Halaman yang tidak diizinkan mengembalikan `403 blocked_by_robots`; situs yang menolak permintaan dengan cara lain mengembalikan `502 target_refused` dengan status code milik situs itu sendiri. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. [Halaman errors](https://webreaderapi.com/id/docs/errors/) menjelaskan error mana yang layak dicoba ulang dan mana yang final. ## Ke mana saya selanjutnya? - [Baca referensi endpoint](https://webreaderapi.com/id/docs/read/) — Setiap parameter /read, dengan contoh - [Batch dan crawl](https://webreaderapi.com/id/docs/crawl/) — Hingga 100 URL per batch, atau satu situs penuh - [Format respons](https://webreaderapi.com/id/docs/response/) — Setiap field dari jawaban - [Error dan robots.txt](https://webreaderapi.com/id/docs/errors/) — Code, penyebab dan aturan percobaan ulang - [Python](https://webreaderapi.com/id/docs/python/) — requests, httpx async, chunking RAG - [Node.js](https://webreaderapi.com/id/docs/node/) — fetch, pool kecil, polling crawl - [curl dan jq](https://webreaderapi.com/id/docs/curl/) — Resep untuk terminal - [server MCP](https://webreaderapi.com/id/docs/mcp/) — Alat read_url untuk Claude dan Cursor - [LangChain dan LlamaIndex](https://webreaderapi.com/id/docs/langchain/) — Loader dan alat untuk RAG - [OpenAI function calling](https://webreaderapi.com/id/docs/openai/) — Skema dan loop alat read_url - [n8n](https://webreaderapi.com/id/docs/n8n/) — Alat HTTP Request untuk AI Agent - [OpenClaw](https://webreaderapi.com/id/docs/openclaw/) — Tambahkan server MCP di samping web_fetch ## Quick start: pertanyaan umum ### Apakah ada SDK yang perlu diinstal? Tidak. WebReaderAPI adalah API HTTPS biasa, jadi klien HTTP apa pun berfungsi. Dokumentasi menyediakan kode siap salin untuk Python, Node.js dan curl, serta definisi alat untuk MCP, LangChain, LlamaIndex dan OpenAI function calling. Tidak ada yang diterbitkan sebagai package. ### Bisakah saya mengirim API key di URL alih-alih header? Ya, sebagai parameter kueri `api_key`. Header `Authorization: Bearer` lebih aman, karena URL sering kali berakhir di log dan riwayat browser. Buat beberapa API key, misalnya satu per agent atau proyek, dan cabut salah satunya dari dashboard Anda. ### Apakah halaman yang gagal memakai satu kredit? Tidak. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Hanya halaman yang kembali dengan konten yang ditagih. ### Bisakah saya mencobanya sebelum membeli? Tidak ada tier gratis. Tidak ada free tier: pack terkecil adalah cara untuk menguji, dibayar dari top-up minimum, dan jumlah yang ditambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari, dalam USDT atau USDC, selama belum digunakan. --- 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. --- # API batch dan crawl: baca banyak URL atau seluruh situs > API batch dan crawl: baca hingga 100 URL per job atau seluruh situs hingga 10.000 halaman, dengan robots.txt dan Crawl-delay. Bayar pakai kripto tanpa KYC. - URL: https://webreaderapi.com/id/docs/crawl/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Dua endpoint memulai job latar belakang: `/batch` untuk daftar hingga 100 URL, `/crawl` untuk satu situs web. Keduanya mengembalikan ID job; Anda mengambil halaman dari `/jobs/{job_id}`, satu halaman hasil setiap kali. **Jawaban singkat — Bagaimana cara crawl situs web ke Markdown dengan WebReaderAPI?** Kirim URL awal ke `POST https://webreaderapi.com/api/v1/crawl` dengan halaman `limit`. **WebReaderAPI** membaca situs di latar belakang, hanya domain yang sama, mengikuti sitemap, robots.txt, dan Crawl-delay-nya, hingga 10.000 halaman per job. Ambil halaman Markdown dari job, satu halaman hasil setiap kali. Setiap halaman yang dibaca berbiaya 1 kredit (2 dengan browser), mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Job sekilas | Atribut | Nilai | | --- | --- | | Batch | Hingga 100 URL per batch job: `POST https://webreaderapi.com/api/v1/batch` | | Crawl | Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya: `POST https://webreaderapi.com/api/v1/crawl` | | Hasil | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, lalu `?cursor=…` untuk halaman hasil berikutnya | | Penagihan | Setiap halaman yang dibaca ditagih seperti panggilan `/read`; halaman yang dilewati oleh robots.txt dan halaman yang gagal tidak berbiaya | | Cakupan crawl | Satu domain; tautan ke domain lain dicantumkan tetapi tidak dibaca | | Batalkan job | Tidak tersedia di v1: setel `limit` ke jumlah halaman maksimum yang siap Anda bayar | ## Mulai job batch `POST /api/v1/batch` Membaca hingga 100 URL di latar belakang dengan opsi yang sama. Opsi menggunakan nama dan nilai dari [/read](https://webreaderapi.com/id/docs/read/). Jawabannya adalah ID job; nilai bersifat ilustratif. Autentikasi: API key di header `Authorization: Bearer API_KEY`. **Request body** | Field | Tipe | Wajib | Deskripsi | | --- | --- | --- | --- | | `urls` | array of strings | Ya | 1 hingga 100 URL http atau https. Duplikat dibaca sekali. | | `options` | object | Tidak | Parameter `/read` apa pun kecuali `url`: `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout`. | *Contoh: three articles as Markdown* ```json { "urls": [ "https://example.com/blog/post-1", "https://example.com/blog/post-2", "https://example.org/news/launch" ], "options": { "format": "markdown", "max_chars": 50000 } } ``` **Response** `202 Accepted` ```json { "job_id": "job_5c1e8a90d2" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/batch', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ urls: ['https://example.com/blog/post-1', 'https://example.com/blog/post-2'], options: { format: 'markdown' } }), }); console.log((await res.json()).job_id); ``` ## Mulai job crawl `POST /api/v1/crawl` Membaca satu website dari URL awal, breadth first. Crawler tetap berada di domain URL awal, menggunakan sitemap yang disebut di robots.txt atau yang ditemukan di `/sitemap.xml`, serta mematuhi robots.txt dan Crawl-delay. Nilai-nilai bersifat ilustratif. Autentikasi: API key di header `Authorization: Bearer API_KEY`. **Request body** | Field | Tipe | Wajib | Deskripsi | | --- | --- | --- | --- | | `url` | string | Ya | Halaman awal, misalnya halaman beranda situs dokumentasi. | | `limit` | integer | Tidak | Jumlah maksimum halaman yang dibaca, hingga 10.000. Job berhenti saat mencapai jumlah ini. | | `max_depth` | integer | Tidak | Jumlah maksimum langkah tautan menjauh dari URL awal. | | `include_paths` | array of strings | Tidak | Pola path sederhana yang dipertahankan, misalnya `/docs/*`. | | `exclude_paths` | array of strings | Tidak | Pola path sederhana yang dilewati, misalnya `/blog/tag/*`. | | `options` | object | Tidak | Parameter `/read` apa pun kecuali `url`, diterapkan ke setiap halaman. | *Contoh: the docs section of a site, 500 pages at most* ```json { "url": "https://docs.example.com/", "limit": 500, "max_depth": 3, "include_paths": [ "/docs/*" ], "exclude_paths": [ "/docs/archive/*" ], "options": { "format": "markdown" } } ``` **Response** `202 Accepted` ```json { "job_id": "job_8b27f41c0e" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/crawl" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/crawl", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 500, include_paths: ['/docs/*'] }), }); console.log((await res.json()).job_id); ``` ## Ambil status dan hasil job `GET /api/v1/jobs/{job_id}` Mengembalikan status job dan hasil berikutnya yang sudah siap. Setiap item `results` berupa respons `/read` lengkap atau `{url, error}` untuk halaman yang tidak dapat dibaca. Jika `next_cursor` ada, panggil lagi dengan `cursor` diisi nilainya; jika tidak ada, belum ada hasil lain yang siap. Nilai-nilai bersifat ilustratif. Autentikasi: API key di header `Authorization: Bearer API_KEY`. **Parameter** | Nama | Di | Tipe | Wajib | Deskripsi | | --- | --- | --- | --- | --- | | `job_id` | path | string | Ya | ID yang dikembalikan oleh `/batch` atau `/crawl`. | | `cursor` | query | string | Tidak | Nilai `next_cursor` dari panggilan sebelumnya, untuk mendapatkan hasil berikutnya. | **Response** `200` ```json { "job_id": "job_8b27f41c0e", "status": "running", "results": [ { "url": "https://docs.example.com/docs/install", "final_url": "https://docs.example.com/docs/install", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Install", "markdown": "# Install\n\nRun the installer...", "word_count": 418 }, { "url": "https://docs.example.com/docs/private", "error": { "code": "blocked_by_robots", "message": "robots.txt disallows this page for WebReaderAPI." } } ], "next_cursor": "c_000002", "credits_used": 1 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -d cursor=c_000002 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"cursor": "c_000002"}, timeout=30, ) job = resp.json() print(job["status"], len(job["results"]), job.get("next_cursor")) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e?cursor=c_000002', { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const job = await res.json(); console.log(job.status, job.results.length, job.next_cursor); ``` ## Bagaimana cara menunggu job selesai? Poll `/jobs/{job_id}` dan simpan cursor. Proses hasil yang Anda terima, lalu panggil lagi dengan `cursor` diisi `next_cursor`. Jika `next_cursor` tidak ada dan `status` adalah `done`, Anda sudah mendapatkan semuanya; jika tidak ada dan job masih `running`, tunggu lalu tanyakan lagi dengan cursor yang sama. Mulai polling setiap 2 detik dan gandakan jeda hingga 30 detik selama tidak ada hasil baru yang masuk. Crawl yang mematuhi Crawl-delay sebuah situs bisa memakan waktu, jadi menunggu lama itu normal dan tidak memakan biaya. *Python: poll sebuah job dan simpan setiap halaman sebagai file .md* ```python import os import pathlib import re import time import requests JOBS = "https://webreaderapi.com/api/v1/jobs" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def save_job(job_id, folder="pages"): out = pathlib.Path(folder) out.mkdir(exist_ok=True) cursor, wait, saved = None, 2, 0 while True: params = {"cursor": cursor} if cursor else {} job = requests.get(f"{JOBS}/{job_id}", headers=HEADERS, params=params, timeout=30).json() for item in job["results"]: if "error" in item: print("skipped", item["url"], item["error"]["code"]) continue name = re.sub(r"[^a-z0-9]+", "-", item["final_url"].lower()).strip("-")[:120] (out / f"{name}.md").write_text(item["markdown"], encoding="utf-8") saved += 1 if job.get("next_cursor"): cursor, wait = job["next_cursor"], 2 continue if job["status"] == "done": return saved time.sleep(wait) wait = min(wait * 2, 30) if __name__ == "__main__": print(save_job("job_8b27f41c0e"), "pages saved") ``` ## Halaman mana yang dibaca oleh crawl? Crawl dimulai dari URL Anda dan bergerak keluar satu langkah tautan setiap kali, breadth first, hingga `max_depth`. Crawl juga membaca sitemap situs, dari alamat yang diberikan di robots.txt atau dari `/sitemap.xml`, untuk menemukan halaman yang hanya ditunjuk sedikit tautan. - **Hanya domain yang sama.** Tautan ke domain lain dicantumkan di hasil saat Anda meminta `include_links`, tetapi tidak dibaca. - **Filter path.** `include_paths` dan `exclude_paths` menerima pola sederhana seperti `/blog/*`. - **Satu salinan per halaman.** Jika situs mendeklarasikan canonical URL, halaman yang dicapai melalui beberapa alamat hanya dibaca sekali. - **Batas keras.** Job berakhir saat telah membaca `limit` halaman. ## Bagaimana crawl menghormati situs? Setiap request membawa User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, dan crawler mengikuti aturan robots.txt untuk `WebReaderAPI`, atau untuk semua robot bila tidak ada yang menyebutkannya. Halaman yang tidak diizinkan dilewati dan muncul di `results` dengan error `blocked_by_robots`; halaman tersebut tidak memakan biaya. Jika robots.txt menetapkan `Crawl-delay`, crawler menunggu selama itu di antara dua request ke situs. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. ## Berapa biaya sebuah crawl? Setiap halaman yang dibaca memakan biaya seperti panggilan `/read`: 1 kredit, 2 jika halaman membutuhkan browser, ditambah 10 dengan `country`. Halaman yang dilewati dan gagal gratis. `credits_used` pada job menjumlahkan apa yang telah ditagih sejauh ini. Situs dokumentasi 500 halaman yang dibaca tanpa browser menggunakan sekitar 500 kredit, yang ditanggung berkali-kali lipat oleh paket 10.000 halaman (US$3,75). Karena job tidak dapat dibatalkan di v1, `limit` adalah batas pengeluaran Anda: atur ke jumlah halaman maksimum yang siap Anda bayar. ## Batch dan crawl: pertanyaan umum ### Haruskah saya memakai /batch atau banyak panggilan /read? Gunakan `/batch` bila Anda sudah memiliki URL-nya dan tidak perlu setiap jawaban sekaligus. Ini menghindarkan Anda dari mengelola concurrency dan retry. Gunakan `/read` bila agent membutuhkan satu halaman sekarang. ### Berapa lama hasil job disimpan? Ambil segera setelah siap. Hasil menunggu sampai Anda mengambilnya; setelah terkirim, tidak ada salinan konten halaman yang disimpan, jadi simpan sendiri apa yang Anda butuhkan. ### Bisakah crawl mengikuti tautan ke website lain? Tidak. Crawl membaca satu domain. Domain lain muncul sebagai tautan saat Anda memintanya, dan Anda dapat mengirim URL tersebut ke `/batch` jika ingin dibaca. ### Bisakah saya menghentikan crawl yang sudah berjalan? Tidak di v1. Job berhenti pada `limit` halaman, jadi pilih batas yang sesuai anggaran Anda. Halaman yang sudah dibaca tetap ditagih; halaman yang tidak pernah dibaca tidak memakan biaya. --- 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. --- # Halaman web ke Markdown dengan curl dan jq > Ubah halaman web jadi Markdown dari terminal pakai curl dan jq: simpan halaman, daftar tautan, jalankan batch, cek kredit. Dari US$0,07/1K halaman, tanpa KYC. - URL: https://webreaderapi.com/id/docs/curl/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Semua yang dilakukan API muat dalam one-liner shell. Resep ini memakai curl untuk memanggil API dan jq untuk mengambil field dari JSON, dengan versi PowerShell untuk Windows di bagian akhir. **Jawaban singkat — Bagaimana cara mengubah halaman web menjadi Markdown dari command line?** Jalankan `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` dengan API key Anda di header `Authorization: Bearer`, lalu pipe jawabannya ke `jq -r .markdown`. **WebReaderAPI** mengembalikan konten utama halaman sebagai Markdown beserta metadatanya. Satu halaman biasa menggunakan 1 kredit, dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Bagaimana cara menyiapkan terminal? Instal curl dan jq, yang biasanya sudah tersedia di sebagian besar sistem Linux dan macOS, lalu ekspor API key Anda sekali per sesi. Setiap resep di bawah membacanya dari `$WEBREADER_API_KEY`, jadi API key tidak pernah muncul di riwayat shell Anda sebagai bagian dari sebuah perintah. Gunakan `-G` dengan `--data-urlencode` untuk permintaan GET: curl lalu mengodekan alamat halaman untuk Anda, yang penting karena alamat berisi `?`, `&` dan `=` miliknya sendiri. *Setel API key dan simpan satu halaman sebagai file .md* ```bash export WEBREADER_API_KEY="your-key" curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq -r '.markdown' > compost.md ``` ## Bagaimana cara melihat apa yang dikembalikan sebuah panggilan dan berapa biayanya? Minta metadata ke jq, bukan kontennya. `final_url` menunjukkan ke mana redirect mengarah, `rendered` memberi tahu apakah browser digunakan, dan `credits_used` adalah biaya panggilan tersebut. Jika jawabannya berupa error, filter yang sama mencetak field `null`; cetak `.error` untuk membaca kode dan pesannya. *Hanya metadata, atau error jika ada* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq '.error // {title, final_url, rendered, credits_used, word_count}' ``` ## Bagaimana cara menampilkan daftar tautan sebuah halaman? Tambahkan `include_links=true` dan ubah daftar `links` menjadi baris yang dipisahkan tab. Itu memberi Anda peta cepat tautan keluar sebuah halaman, yang bisa Anda urutkan, filter dengan grep, atau umpankan ke job batch. *Tautan sebagai teks dan URL, satu per baris* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/docs/" \ -d include_links=true \ | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u ``` ## Bagaimana cara membaca halaman JavaScript atau PDF? Tambahkan `-d render=true` untuk halaman yang membangun kontennya dengan JavaScript; harganya lalu 2 kredit. PDF tidak butuh apa-apa yang khusus: kirim URL-nya dan teksnya kembali dalam `markdown`. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. *Halaman yang dirender, lalu PDF* ```bash curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/app/changelog" -d render=true \ | jq -r '.markdown' > changelog.md curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/files/annual-report.pdf" \ | jq -r '.markdown' > annual-report.md ``` ## Bagaimana cara menjalankan job batch dari shell? Kirim body JSON berisi URL Anda ke `/batch`, simpan `job_id`, lalu baca job tersebut. Sebuah loop kecil menunggu sampai job berstatus `done` dan mencetak judul atau kode error tiap halaman. Untuk job yang panjang, ikuti `next_cursor` seperti yang ditunjukkan di [halaman batch dan crawl](https://webreaderapi.com/id/docs/crawl/). *Batch berisi tiga URL, lalu tunggu hasilnya* ```bash JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \ | jq -r '.job_id') until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do sleep 5 done curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \ | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"' ``` ## Bagaimana cara mengecek kredit saya? Panggil `/credits`; ini gratis. Hasilnya `credits_remaining`, `credits_used_today` dan `concurrency_limit` Anda. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. *Kredit tersisa* ```bash curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining' ``` ## Apa versi PowerShell di Windows? `Invoke-RestMethod` mem-parse JSON untuk Anda, jadi tidak perlu jq. Bangun kueri dengan `[uri]::EscapeDataString` untuk mengodekan alamat halaman, dan kirimkan API key dalam tabel headers. *PowerShell: simpan satu halaman* ```powershell $headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" } $target = [uri]::EscapeDataString('https://example.com/guides/compost') $page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers $page.markdown | Out-File -Encoding utf8 compost.md "$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)" ``` ## curl: pertanyaan umum ### Mengapa URL saya yang berisi & gagal? Karena shell atau curl memecahnya. Beri tanda kutip pada seluruh argumen `url=…` dan kirimkan dengan `--data-urlencode`, seperti pada resep di atas; curl lalu mengodekan `&`, `?` dan `=` di dalam alamat halaman. ### Bagaimana cara melihat status HTTP dari sebuah error? Tambahkan `-w '\n%{http_code}\n'` untuk mencetaknya setelah body, atau `-i` untuk melihat semua headers. `error.code` pada body adalah nilai stabil untuk diuji dalam skrip. ### Apakah panggilan yang gagal ditagih? Tidak. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. --- 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. --- # Error, penolakan robots.txt dan retry > Kode error WebReaderAPI: penolakan robots.txt, penolakan situs, timeout dan error kredit, mana yang perlu di-retry, dan mengapa tidak ada yang pernah ditagih. - URL: https://webreaderapi.com/id/docs/errors/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Setiap error memiliki status HTTP, `code` yang stabil dan `message` yang mudah dibaca. Tidak ada satu pun yang memakai kredit. Sebagian layak di-retry; penolakan yang berasal dari situs bersifat final, dan kami tidak pernah mengakalinya. **Jawaban singkat — Apa arti kode error WebReaderAPI, dan mana yang harus saya retry?** Error **WebReaderAPI** terbagi dalam tiga kelompok, dan tidak ada satu pun yang pernah ditagih. Masalah permintaan (`invalid_url`, `invalid_api_key`, `insufficient_credits`) perlu diperbaiki di sisi Anda. Keputusan situs (`blocked_by_robots`, `blocked_by_site_policy`, `target_refused`) bersifat final. Kegagalan sementara (`fetch_failed`, `fetch_timeout`, `concurrency_limit`) dapat di-retry dengan backoff. Kredit mulai dari US$0,07/1K halaman, dibayar dengan kripto tanpa KYC. ## Kode error apa saja yang bisa dikembalikan API? Body-nya selalu `{"error": {"code", "message"}}`, ditambah `target_status` ketika penolakan berasal dari situs. | HTTP | `code` | Penyebab | Coba lagi? | | --- | --- | --- | --- | | 400 | `invalid_url` | Bukan http atau https, terlalu panjang, atau alamat metadata privat, lokal, atau cloud | Tidak: perbaiki URL-nya | | 400 | `invalid_parameter` | Nilai sebuah parameter di luar daftar atau rentangnya | Tidak: perbaiki permintaannya | | 401 | `invalid_api_key` | API key hilang, salah, atau dicabut | Tidak: periksa API key-nya | | 402 | `insufficient_credits` | Saldo Anda tidak memiliki kredit tersisa | Setelah membeli paket | | 403 | `blocked_by_robots` | robots.txt situs melarang halaman tersebut untuk WebReaderAPI atau untuk semua robot | Tidak: final | | 403 | `blocked_by_site_policy` | Situs mendeklarasikan `Content-Signal: ai-input=no` | Tidak: final | | 422 | `unsupported_content` | Jenis yang tidak kami baca (video, arsip) atau file yang terlalu besar | Tidak | | 429 | `concurrency_limit` | Terlalu banyak permintaan Anda yang berjalan bersamaan | Ya, dengan backoff | | 502 | `target_refused` | Situs menolak: 403, 429, halaman challenge, atau login wall; statusnya ada di `target_status` | Tidak: final | | 502 | `fetch_failed` | Kesalahan DNS, TLS, atau koneksi, atau situs menjawab 404 atau 410 | Sekali atau dua kali, dengan backoff | | 504 | `fetch_timeout` | Situs tidak menjawab dalam `timeout` | Ya, dengan backoff atau timeout yang lebih panjang | ## Mengapa robots.txt dan penolakan situs bersifat final? Karena itu keputusan pemilik situs, dan WebReaderAPI dibuat untuk mematuhinya. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Ketika situs menolak permintaan dengan cara lain, lewat 403, 429, halaman challenge, atau formulir login, Anda mendapat `target_refused` dan status 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. Mencoba ulang URL yang sama semenit kemudian biasanya mendapat jawaban yang sama, jadi perlakukan kode ini sebagai hasil, bukan kegagalan: catat di log lalu lanjutkan. ## Bagaimana cara memeriksa mengapa sebuah halaman ditolak? Buka `/robots.txt` situs dan cari grup yang menyebut `WebReaderAPI`, atau grup `*` yang berlaku untuk semua robot. Baris `Disallow` yang cocok dengan path menjelaskan `blocked_by_robots`. Baris seperti `Content-Signal: ai-input=no` menjelaskan `blocked_by_site_policy`. Kami menyimpan salinan setiap robots.txt paling lama 24 jam. Jika situs baru saja membuka sebuah bagian untuk robot, perubahan bisa memakan waktu hingga satu hari untuk berlaku. Pemilik situs dapat membaca bagaimana crawler kami berperilaku, dan cara mengizinkan atau memblokirnya, di [halaman crawler kami](https://webreaderapi.com/id/bot/). ## Bagaimana sebaiknya saya mencoba ulang kegagalan sementara? Coba ulang hanya `concurrency_limit`, `fetch_timeout` dan, sekali atau dua kali, `fetch_failed`. Tunggu sebelum setiap percobaan baru dan gandakan waktu tunggu setiap kali, dengan sedikit jitter acak agar worker paralel tidak mencoba ulang bersamaan. Berhenti setelah 4 atau 5 percobaan. Untuk `concurrency_limit`, perbaikan yang lebih baik adalah mengirim lebih sedikit permintaan sekaligus: Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. Untuk `fetch_timeout`, naikkan `timeout` hingga 60 detik sebelum mencoba ulang situs yang lambat. Percobaan ulang tidak dikenai biaya, karena percobaan yang gagal tidak pernah ditagih. *Python: coba ulang hanya error yang bisa berubah* ```python import os import random import time import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} RETRY = {"concurrency_limit", "fetch_timeout", "fetch_failed"} FINAL = {"blocked_by_robots", "blocked_by_site_policy", "target_refused", "unsupported_content"} def read_page(url, attempts=5, **options): wait = 1.0 for attempt in range(1, attempts + 1): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code == 200: return resp.json() error = resp.json().get("error", {}) code = error.get("code", "unknown") if code in FINAL: return {"url": url, "skipped": code, "target_status": error.get("target_status")} if code not in RETRY or attempt == attempts or (code == "fetch_failed" and attempt >= 3): raise RuntimeError(f"{code}: {error.get('message')}") time.sleep(wait + random.uniform(0, wait / 2)) wait = min(wait * 2, 30) raise RuntimeError("unreachable") if __name__ == "__main__": print(read_page("https://example.com/blog/first-post", max_chars=20000).get("title")) ``` *Node.js: aturan yang sama dengan exponential backoff* ```javascript const RETRY = new Set(['concurrency_limit', 'fetch_timeout', 'fetch_failed']); const FINAL = new Set(['blocked_by_robots', 'blocked_by_site_policy', 'target_refused', 'unsupported_content']); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); export async function readPage(url, options = {}, attempts = 5) { let wait = 1000; for (let attempt = 1; attempt <= attempts; attempt++) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const body = await res.json(); if (res.ok) return body; const code = body.error?.code ?? 'unknown'; if (FINAL.has(code)) return { url, skipped: code, target_status: body.error.target_status }; if (!RETRY.has(code) || attempt === attempts) throw new Error(`${code}: ${body.error?.message}`); await sleep(wait + Math.random() * (wait / 2)); wait = Math.min(wait * 2, 30000); } } ``` ## Bagaimana dengan error di dalam batch atau crawl? Sebuah job tidak berhenti hanya karena satu halaman gagal. Halaman itu muncul di `results` sebagai `{url, error}` dengan kode yang sama seperti di atas, dan tidak dikenakan biaya. Crawl yang menemui `blocked_by_robots` pada suatu bagian cukup membaca sisa situsnya. Di akhir job, hitung kode error-nya. Banyak `target_refused` pada satu situs berarti situs tersebut tidak menerima pembaca otomatis; banyak `fetch_timeout` berarti situs itu lambat, dan `timeout` yang lebih panjang di opsi job mungkin membantu. ## Error: pertanyaan umum ### Apakah saya dikenakan biaya untuk halaman yang diblokir robots.txt? Tidak. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Hal yang sama berlaku untuk setiap error lain di halaman ini. ### Apakah Anda bisa membaca halaman yang memblokir crawler Anda jika saya memintanya? Tidak. Kami mengikuti pilihan pemilik situs, dan kebijakannya sama untuk setiap pelanggan. Jika Anda memiliki situs tersebut, tambahkan aturan untuk `WebReaderAPI` di robots.txt Anda; [halaman crawler](https://webreaderapi.com/id/bot/) menunjukkan caranya. ### Mengapa saya mendapat fetch_failed untuk halaman yang ada? Situs mungkin sedang down, lambat menerima koneksi TLS, atau mengembalikan 404 ke klien otomatis. Coba ulang sekali atau dua kali dengan backoff. Jika terus gagal, periksa alamatnya di browser. ### Apa yang harus disampaikan agent saya kepada pengguna setelah penolakan? Sesuatu yang sederhana, misalnya situs tidak mengizinkan pembacaan otomatis pada halaman itu. Lalu biarkan model menggunakan sumber lain. Mengembalikan kode error sebagai hasil tool sudah cukup untuk sebagian besar model. --- 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. --- # LangChain dan LlamaIndex: web page loader dan tool read_url > Web page loader LangChain dan LlamaIndex: tool read_url, document loader, dan indeks RAG kecil dari crawl di Python. Tanpa KYC, bayar dengan kripto. - URL: https://webreaderapi.com/id/docs/langchain/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Dua cara menggunakan API di stack AI Python: memuat halaman sebagai dokumen untuk retrieval, atau memberi agent sebuah tool `read_url`. 20 baris kode perekat yang sama melayani LangChain dan LlamaIndex. **Jawaban singkat — Bagaimana cara memuat halaman web ke LangChain atau LlamaIndex sebagai Markdown yang bersih?** Panggil endpoint `/read` milik **WebReaderAPI** dan bungkus setiap jawaban dalam `Document`: Markdown sebagai content, `final_url` dan title sebagai metadata. Untuk agent, tampilkan panggilan yang sama sebagai tool `read_url`. Setiap halaman berbiaya 1 kredit, 2 kredit dengan browser, mulai dari US$0,07/1K halaman per Oktober 2026. Tidak perlu paket dari kami. Tanpa KYC; bayar dengan kripto. ## Mengapa dokumen Markdown daripada HTML mentah? Karena retrieval bekerja pada teks, dan Markdown mempertahankan struktur yang penting sambil membuang sisanya. Heading tetap ada, sehingga splitter dapat memotong pada pergantian topik. List dan tabel tetap ada, sehingga langkah-langkah dan spesifikasi tetap menyatu. Navigasi, cookie banner, dan iklan hilang, sehingga tidak mencemari embeddings Anda atau membuang token. Metadata berasal dari panggilan yang sama: `final_url` sebagai sumber untuk dikutip, `title`, `published_at` dan `language` untuk penyaringan. *reader.py: helper bersama (simpan di samping kode Anda)* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} class PageError(Exception): pass def read_page(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) body = resp.json() if resp.status_code != 200: raise PageError(body["error"]["code"]) return body ``` ## Bagaimana cara membuat document loader LangChain? Ubah setiap halaman menjadi `langchain_core.documents.Document`, lalu pisahkan berdasarkan heading dengan `MarkdownHeaderTextSplitter` dari paket `langchain-text-splitters`. Setiap chunk menyimpan jalur heading di metadata-nya, dan Anda menambahkan URL sumber agar setiap jawaban dapat menunjuk kembali ke halamannya. Halaman yang dilewati, seperti yang ditolak oleh robots.txt, memunculkan `PageError` beserta kodenya; catat di log lalu lanjutkan. *LangChain: memuat dan memisahkan halaman* ```python from langchain_core.documents import Document from langchain_text_splitters import MarkdownHeaderTextSplitter from reader import PageError, read_page splitter = MarkdownHeaderTextSplitter(headers_to_split_on=[("#", "h1"), ("##", "h2"), ("###", "h3")]) def load_pages(urls): chunks = [] for url in urls: try: page = read_page(url) except PageError as exc: print("skipped", url, exc) continue for part in splitter.split_text(page["markdown"]): part.metadata.update({"source": page["final_url"], "title": page.get("title", "")}) chunks.append(part) return chunks docs = load_pages(["https://example.com/docs/install", "https://example.com/docs/configure"]) print(len(docs), "chunks", isinstance(docs[0], Document) if docs else "") ``` ## Bagaimana cara memberi agent LangChain sebuah tool read_url? Hiasi sebuah fungsi dengan `@tool` dari `langchain_core.tools`. Docstring menjadi deskripsi tool yang dibaca model, jadi jelaskan apa yang dikembalikan tool dan kapan harus menggunakannya. Kembalikan teks biasa: baris judul, sumber, dan Markdown, dipotong dengan `max_chars` agar sesuai model Anda. Ikat tool ke model chat apa pun yang mendukung tool calling, atau teruskan ke konstruktor agent Anda. Model kemudian memanggil `read_url` dengan URL dari percakapan atau dari hasil pencarian. *LangChain: tool read_url* ```python import os from langchain.chat_models import init_chat_model from langchain_core.tools import tool from reader import PageError, read_page @tool def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown, with its title and source URL.""" try: page = read_page(url, max_chars=max_chars) except PageError as exc: return "Could not read the page: " + str(exc) return "# " + (page.get("title") or url) + "\nSource: " + page["final_url"] + "\n\n" + page["markdown"] model = init_chat_model(os.environ.get("CHAT_MODEL", "openai:gpt-4.1-mini")).bind_tools([read_url]) reply = model.invoke("Summarise https://example.com/blog/first-post in three bullet points.") print(reply.tool_calls) ``` ## Bagaimana cara melakukan hal yang sama di LlamaIndex? LlamaIndex menggunakan kelas `Document` miliknya sendiri dengan `text` dan `metadata`, serta `FunctionTool.from_defaults` untuk mengubah fungsi menjadi tool. Helper-nya tetap sama. Bangun indeks dari dokumen dengan `VectorStoreIndex.from_documents`, yang menggunakan embedding model apa pun yang disebutkan di pengaturan LlamaIndex Anda. *LlamaIndex: mengindeks crawl, dan tool read_url* ```python import os import time import requests from llama_index.core import Document, VectorStoreIndex from llama_index.core.tools import FunctionTool from reader import HEADERS, PageError, read_page def crawl_pages(start_url, limit=200): job = requests.post("https://webreaderapi.com/api/v1/crawl", headers=HEADERS, json={"url": start_url, "limit": limit}, timeout=30).json() pages, cursor = [], None while True: params = {"cursor": cursor} if cursor else {} res = requests.get("https://webreaderapi.com/api/v1/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=30).json() pages += [r for r in res["results"] if "error" not in r] cursor = res.get("next_cursor") if not cursor and res["status"] == "done": return pages if not cursor: time.sleep(5) pages = crawl_pages("https://docs.example.com/") docs = [Document(text=p["markdown"], metadata={"source": p["final_url"], "title": p.get("title", "")}) for p in pages] index = VectorStoreIndex.from_documents(docs) print(index.as_query_engine().query("How do I install the product?")) def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown.""" try: return read_page(url, max_chars=max_chars)["markdown"] except PageError as exc: return "Could not read the page: " + str(exc) read_tool = FunctionTool.from_defaults(fn=read_url, name="read_url") print(os.environ.get("CHAT_MODEL", "set CHAT_MODEL for your agent"), read_tool.metadata.name) ``` ## Seberapa besar crawl yang dibutuhkan indeks RAG kecil? Lebih kecil dari yang Anda duga. Dokumentasi sebuah produk sering kali hanya beberapa ratus halaman, dan crawl dengan `include_paths` diatur ke bagian docs hanya membaca halaman tersebut. Dengan 1 kredit per halaman, situs docs 300 halaman berbiaya sekitar 300 kredit; 10.000 halaman (US$3,75) menyegarkannya berkali-kali. Lakukan crawl ulang sesuai jadwal yang cocok dengan seberapa sering sumber berubah, dan bandingkan `final_url` serta `word_count` dengan run sebelumnya untuk hanya me-embed ulang halaman yang berubah. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. ## LangChain dan LlamaIndex: pertanyaan umum ### Apakah ada paket WebReaderAPI untuk LangChain atau LlamaIndex? Tidak. Helper dan tool di halaman ini adalah keseluruhan integrasinya, jadi Anda dapat menyesuaikannya dengan bebas. WebReaderAPI adalah API HTTPS biasa yang dapat dipanggil oleh klien HTTP Python apa pun. ### Versi LangChain mana yang dibutuhkan? Versi terbaru apa pun yang memiliki `langchain_core`, `langchain-text-splitters` dan `init_chat_model`. Dekorator tool dan kelas `Document` tetap stabil di berbagai rilis terbaru. ### Bagaimana cara menghindari membaca ulang halaman yang tidak berubah? Simpan `final_url`, `word_count` dan tanggal setiap pembacaan. Baca ulang sesuai jadwal, dan embed ulang sebuah halaman hanya ketika jumlah kata atau hash kontennya berubah. Setiap pembacaan ulang berbiaya satu kredit, jadi pilih ritme yang cocok dengan sumbernya. ### Bagaimana jika beberapa halaman ditolak? Halaman tersebut memunculkan `PageError` dengan kode seperti `blocked_by_robots`, dan tidak dikenakan biaya. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. --- 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. --- # MCP server pembaca halaman web untuk Claude, Cursor, dan klien MCP lain > MCP server pembaca halaman web untuk Claude Desktop, Cursor, dan klien MCP lain: tool read_url Python yang mengembalikan Markdown bersih. Bayar dengan kripto. - URL: https://webreaderapi.com/id/docs/mcp/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Beri klien MCP mana pun sebuah tool `read_url` yang mengubah tautan menjadi Markdown bersih. Server ini adalah satu file Python singkat yang Anda jalankan di mesin Anda sendiri; API key Anda tetap berada di environment-nya. **Jawaban singkat — Bagaimana cara menambahkan pembaca halaman web ke Claude Desktop atau Cursor dengan MCP?** Jalankan MCP server kecil yang mengekspos tool `read_url` yang memanggil **WebReaderAPI**, lalu daftarkan di pengaturan MCP klien Anda dengan API key Anda di `env`. Model kemudian dapat membaca halaman publik mana pun sebagai Markdown bersih. Setiap pembacaan halaman dikenai biaya 1 kredit, 2 dengan browser, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## MCP server sekilas | Atribut | Nilai | | --- | --- | | Bahasa | Python 3.10+, dengan paket `mcp` dan `httpx` | | Transport | stdio: klien memulai server sebagai proses lokal | | Alat | `read_url(url, max_chars)` → judul, URL sumber, lalu Markdown halaman | | Kenapa bukan web_fetch | Claude Code dan OpenClaw sudah menyertakan tool bawaan dengan nama tersebut | | Key | Dibaca dari `WEBREADER_API_KEY` di environment server | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | ## Kenapa tool read_url dan bukan web_fetch? Karena dua tool dengan nama yang sama membingungkan klien maupun model. Claude Code dan OpenClaw sudah menyertakan tool bernama `web_fetch`. Nama yang berbeda, `read_url`, dan deskripsi yang jelas membuat model memilih tool kami saat membutuhkan konten utama sebuah halaman, termasuk halaman JavaScript dan PDF. Tool ini mengembalikan teks, bukan JSON. Model menangani header singkat dan Markdown lebih baik daripada field bersarang, dan header tersebut menjaga URL sumber tetap terlihat sehingga jawaban dapat mengutipnya. *webreader_mcp.py* ```python import os import httpx from mcp.server.fastmcp import FastMCP API = "https://webreaderapi.com/api/v1/read" KEY = os.environ["WEBREADER_API_KEY"] mcp = FastMCP("webreaderapi") @mcp.tool() def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown. Use it when the user gives a link or when a page must be read to answer. max_chars caps the length of the returned text (1,000 to 500,000). """ params = {"url": url, "max_chars": max(1000, min(int(max_chars), 500000))} try: resp = httpx.get(API, params=params, headers={"Authorization": "Bearer " + KEY}, timeout=75) except httpx.HTTPError as exc: return "Network error while reading the page: " + str(exc) body = resp.json() if resp.status_code != 200: err = body.get("error", {}) return "Could not read the page: " + err.get("code", str(resp.status_code)) + ". " + err.get("message", "") title = body.get("title") or url return "# " + title + "\nSource: " + body.get("final_url", url) + "\n\n" + body.get("markdown", "") if __name__ == "__main__": mcp.run() ``` ## Bagaimana cara menginstal dan menguji server ini? Buat virtual environment, instal `mcp` dan `httpx`, lalu simpan file di atas. Paket `mcp` adalah SDK Python resmi dari Model Context Protocol; `FastMCP` mengubah fungsi Python bertipe menjadi tool, menggunakan docstring sebagai deskripsinya. Sebelum menghubungkannya ke klien, jalankan file tersebut sekali dari terminal dengan API key Anda sudah disetel. Server akan diam menunggu klien di stdin, yang berarti server berhasil dijalankan; hentikan dengan Ctrl+C. *Instal* ```bash python -m venv .venv . .venv/bin/activate pip install "mcp[cli]" httpx WEBREADER_API_KEY="your-key" python webreader_mcp.py ``` ## Bagaimana cara mendaftarkannya di Claude Desktop? Buka pengaturan developer Claude Desktop, edit `claude_desktop_config.json`, dan tambahkan entri di bawah `mcpServers`. Gunakan path absolut: Python dari virtual environment Anda dan file server. Letakkan API key di `env`, agar tidak pernah muncul di argumen tool atau di percakapan. Mulai ulang Claude Desktop, dan `read_url` muncul di daftar tool. Cursor membaca struktur `mcpServers` yang sama dari file konfigurasi MCP-nya sendiri, dan Claude Code dapat mendaftarkan perintah yang sama dengan perintah `claude mcp add`-nya. Untuk OpenClaw, lihat [halaman OpenClaw](https://webreaderapi.com/id/docs/openclaw/). *claude_desktop_config.json* ```json { "mcpServers": { "webreaderapi": { "command": "/home/you/webreader/.venv/bin/python", "args": ["/home/you/webreader/webreader_mcp.py"], "env": { "WEBREADER_API_KEY": "your-key" } } } } ``` ## Bagaimana cara menjaga halaman tetap dalam konteks model? Turunkan `max_chars`. Nilai default 20.000 karakter cukup untuk sebagian besar artikel dan mencegah halaman panjang memenuhi konteks. Model yang membaca beberapa halaman dalam satu jawaban lebih baik dengan 8.000 hingga 12.000 per halaman. Minta model membaca halaman yang dibutuhkannya, bukan setiap tautan yang dilihatnya. Satu kalimat singkat dalam instruksi proyek Anda, seperti "baca maksimal tiga halaman per pertanyaan", menjaga biaya dan konteks tetap terkendali. ## Apa yang terjadi saat situs menolak pembacaan? Tool mengembalikan pesan singkat beserta kode error, seperti `blocked_by_robots` atau `target_refused`, dan tidak ada yang ditagih. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Model kemudian dapat menyatakan bahwa halaman tidak tersedia untuk pembaca otomatis dan menggunakan sumber lain. ## MCP server: pertanyaan umum ### Apakah ada paket MCP resmi WebReaderAPI? Tidak. File di halaman ini adalah integrasinya: 40 baris yang dapat Anda baca, ubah, dan jalankan sendiri. Tidak ada yang perlu diinstal dari kami, dan API key Anda tidak pernah meninggalkan mesin Anda kecuali dalam panggilan ke API kami. ### Apakah model dapat mencari di web dengan server ini? Tidak. `read_url` membaca halaman yang alamatnya sudah Anda atau model miliki. Pasangkan dengan tool pencarian apa pun yang ditawarkan klien Anda; model mencari, lalu membaca halaman yang penting. ### Berapa biaya menjalankan asisten dengan tool ini? Satu kredit per pembacaan halaman, dua saat browser diperlukan. Asisten yang membaca 50 halaman sehari menggunakan sekitar 1.500 kredit per bulan, dan 10.000 halaman (US$3,75) menutupinya untuk sekitar enam bulan. ### Apakah server ini bekerja offline? Tidak. Server ini memanggil `https://webreaderapi.com/api/v1/read` untuk setiap halaman, jadi membutuhkan akses internet dan API key yang valid. --- 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. --- # Baca halaman web di AI agent n8n dengan WebReaderAPI > Baca halaman web di AI agent n8n: pengaturan tool HTTP Request yang mengubah URL apa pun menjadi Markdown bersih, dan workflow terjadwal. Bayar dengan kripto. - URL: https://webreaderapi.com/id/docs/n8n/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Node HTTP Request milik n8n dapat berfungsi sebagai tool untuk node AI Agent-nya. Arahkan ke `/read`, biarkan model mengisi URL, dan agent dapat membaca halaman publik mana pun sebagai Markdown bersih, tanpa perlu memasang community node. **Jawaban singkat — Bagaimana cara membuat AI agent n8n membaca halaman web?** Pasang node HTTP Request ke AI Agent n8n sebagai tool, atur ke `GET https://webreaderapi.com/api/v1/read` dengan kredensial Header Auth yang berisi **WebReaderAPI** API key Anda, dan biarkan model menentukan parameter `url`. Aktifkan Optimize Response agar hanya menyimpan `title`, `final_url` dan `markdown`. Setiap halaman membutuhkan 1 kredit, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Pengaturan HTTP Request mana yang saya gunakan? Nama opsi mengikuti dokumentasi node HTTP Request n8n, dibaca pada 2026-10-22. | Pengaturan | Nilai | | --- | --- | | Penempatan | Dipasang ke node **AI Agent** sebagai tool | | Method | `GET` | | URL | `https://webreaderapi.com/api/v1/read` | | Autentikasi | Generic credentials → **Header Auth** | | Kredensial Header Auth | Name `Authorization`, Value `Bearer ` diikuti API key Anda | | Send Query Parameters | Aktif, **Using Fields Below** | | Parameter `url` | Ditentukan oleh model (lihat di bawah) | | Parameter `max_chars` | Nilai tetap seperti `15000` | | Optimize Response | Aktif · tipe respons **JSON** · Include Fields **Selected**: `title`, `final_url`, `markdown` | ## Mengapa menggunakan node HTTP Request sebagai tool? Karena node ini sudah melakukan semua yang dibutuhkan API ini: satu permintaan GET, satu header, dan dua parameter kueri. n8n mendokumentasikan bahwa node HTTP Request dapat berjalan sebagai node biasa atau dipasang ke AI agent sebagai tool, dan bahwa sebagian opsi hanya ada di bentuk tool. Tidak ada yang perlu dipasang atau diperbarui dari pihak kami, dan API key tersimpan di credential store n8n, bukan di workflow. Berikan n8n API key tersendiri agar penggunaannya terlihat terpisah dari skrip Anda yang lain dan dapat dicabut sendiri. Buat beberapa API key, misalnya satu per agent atau proyek, dan cabut salah satunya dari dashboard Anda. ## Bagaimana model memilih URL yang akan dibaca? Biarkan model menentukan parameter `url`. n8n menampilkan tombol di samping field parameter yang memenuhi syarat untuk menyerahkan nilainya ke model, dan Anda juga dapat menulis ekspresinya sendiri dengan fungsi `$fromAI()` n8n. Dibutuhkan key, description, type, dan default opsional, misalnya key `url`, description "The http or https address of the page to read" dan type `string`. n8n mendokumentasikan bahwa `$fromAI()` hanya berfungsi pada tool yang terhubung ke node AI Agent. Tulis juga deskripsi tool dengan kata-kata sederhana, misalnya "Reads a public web page and returns its main content as Markdown", agar agent tahu kapan harus memanggilnya. ## Mengapa mengaktifkan Optimize Response? Karena semua yang dikembalikan tool masuk ke konteks model. Optimize Response adalah opsi khusus tool yang mengurangi data yang diteruskan ke model. Dengan tipe respons JSON Anda dapat hanya menyertakan field terpilih; simpan `title`, `final_url` dan `markdown` lalu buang sisanya. Batasi panjangnya di sisi kami dengan `max_chars`, yang memotong Markdown sebelum keluar dari API. Tipe respons HTML dan Text pada node memiliki opsi Truncate Response sendiri, tetapi dengan jawaban JSON kami, `max_chars` adalah kontrol yang lebih sederhana. ## Bagaimana cara menggunakan API dalam workflow terjadwal? Gunakan node HTTP Request sebagai node biasa, bukan tool, di belakang Schedule Trigger. Berikan `url` tetap, misalnya changelog atau halaman harga yang Anda pantau, dan kirim field `markdown` ke node berikutnya: file, database, pesan chat, atau perbandingan dengan eksekusi sebelumnya. Setiap eksekusi membaca satu halaman per URL. Memantau 20 halaman sekali sehari menggunakan sekitar 600 kredit sebulan untuk halaman tanpa browser, jadi 10.000 halaman (US$3,75) bertahan lebih dari setahun. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. ## Apa yang terjadi saat situs menolak pembacaan? Node menerima respons error dengan kode seperti `blocked_by_robots` atau `target_refused`, dan tidak ada yang ditagih. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Dalam agent, biarkan tool mengembalikan error agar model dapat menjelaskannya atau mencoba sumber lain; dalam workflow terjadwal, arahkan error ke cabang yang mencatatnya. [Halaman error](https://webreaderapi.com/id/docs/errors/) mencantumkan setiap kode. ## Bisakah saya mencoba panggilan sebelum membangun workflow? Jalankan panggilan yang sama di terminal dengan curl, seperti yang ditunjukkan di [resep curl](https://webreaderapi.com/id/docs/curl/). Jika berhasil di sana tetapi gagal di n8n, penyebabnya ada pada pengaturan node, paling sering nilai kredensial yang kehilangan awalan `Bearer ` atau parameter `url` yang dibiarkan kosong. ## n8n: pertanyaan umum ### Apakah saya perlu community node untuk WebReaderAPI? Tidak. Node HTTP Request bawaan sudah cukup, baik sebagai tool untuk AI Agent maupun sebagai node biasa di workflow mana pun. ### Bisakah agent membaca halaman JavaScript atau PDF? Ya. API memutuskan kapan browser diperlukan (`render=auto`) dan membaca PDF sebagai teks. Halaman yang dirender memakai 2 kredit; File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. ### Bagaimana cara menghentikan agen agar tidak membaca terlalu banyak halaman? Sebutkan berapa banyak halaman yang boleh dibaca di system message agen, dan jaga `max_chars` tetap modest. Setiap pembacaan adalah satu tool call, jadi batas apa pun yang Anda tetapkan pada tool call agen juga membatasi jumlah halaman. ### Bagaimana cara saya membayar kredit? Isi ulang saldo dari US$25 di BTC, USDT, USDC, ETH, SOL, LTC, lalu beli pack. WebReaderAPI tidak meminta ID, tidak meminta selfie, dan tidak meminta dokumen perusahaan. ## Sumber 1. [Node HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) — n8n docs (read 2026-10-22) 2. [Kredensial HTTP Request](https://docs.n8n.io/integrations/builtin/credentials/httprequest/) — n8n docs (read 2026-10-22) 3. [Node AI Agent](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) — n8n docs (read 2026-10-22) 4. [Biarkan AI menentukan parameter tool dengan $fromAI()](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/) — n8n docs (read 2026-10-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. --- # Halaman web ke Markdown di Node.js > Ubah halaman web menjadi Markdown di Node.js dengan fetch, pool konkurensi kecil, dan loop polling crawl. Dari US$0,07/1K halaman, bayar dengan kripto. - URL: https://webreaderapi.com/id/docs/node/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Node.js 18 dan versi setelahnya sudah menyertakan `fetch`, jadi Anda tidak perlu dependensi sama sekali. Tiga resep: baca satu halaman, baca daftar dengan pool konkurensi kecil, dan ikuti job crawl sampai selesai. **Jawaban singkat — Bagaimana cara mengubah halaman web menjadi Markdown di Node.js?** Gunakan `fetch` bawaan Node.js 18+: panggil `https://webreaderapi.com/api/v1/read?url=…` dengan API key Anda di header `Authorization` dan baca `markdown` dari jawaban JSON. **WebReaderAPI** mengembalikan konten utama halaman beserta judul, penulis, dan tanggalnya. Satu halaman berbiaya 1 kredit, 2 jika memakai browser, mulai US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Apa yang saya butuhkan? Node.js 18 atau setelahnya, untuk `fetch` global, dan API key di environment variable `WEBREADER_API_KEY`. Contoh-contohnya adalah ES module: simpan dengan ekstensi `.mjs`, atau set `"type": "module"` di `package.json` Anda, agar `await` top-level berfungsi. Komentar JSDoc menjelaskan bentuk respons, sehingga editor seperti VS Code memberi Anda completion tanpa langkah build TypeScript. *read.mjs: satu halaman* ```javascript /** * @typedef {Object} Page * @property {string} url * @property {string} final_url * @property {number} status_code * @property {boolean} rendered * @property {number} credits_used * @property {string} [title] * @property {string} [author] * @property {string} [published_at] * @property {string} [language] * @property {string} [markdown] * @property {number} word_count */ /** @returns {Promise} */ export async function readPage(url, options = {}) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, signal: AbortSignal.timeout(75_000), }); const body = await res.json(); if (!res.ok) throw Object.assign(new Error(body.error.message), { code: body.error.code }); return body; } const page = await readPage('https://example.com/docs/getting-started', { max_chars: '20000' }); console.log(page.title, page.word_count, 'words,', page.credits_used, 'credit(s)'); ``` ## Bagaimana cara membaca daftar URL tanpa terkena rate limit? Jalankan sejumlah worker tetap yang mengambil URL dari antrean bersama. Ini lebih sederhana daripada `Promise.all` atas seluruh daftar, yang akan memulai setiap request sekaligus dan kena `429 concurrency_limit`. Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. Pool di bawah menyimpan error di samping hasil, sehingga satu halaman yang ditolak tidak menghentikan proses. Penolakan seperti `blocked_by_robots` bersifat final dan gratis; hitung lalu lanjutkan. *pool.mjs: daftar URL, 8 sekaligus* ```javascript import { readPage } from './read.mjs'; export async function readAll(urls, workers = 8) { const queue = [...urls]; const results = []; async function worker() { while (queue.length) { const url = queue.shift(); try { const page = await readPage(url, { max_chars: '50000' }); results.push({ url, page }); } catch (err) { results.push({ url, error: err.code ?? err.name }); } } } await Promise.all(Array.from({ length: workers }, worker)); return results; } const urls = Array.from({ length: 30 }, (_, i) => `https://example.com/blog/post-${i + 1}`); for (const r of await readAll(urls)) console.log(r.url, '->', r.error ?? r.page.title); ``` ## Bagaimana cara mengikuti job crawl di Node.js? Mulai job dengan `POST https://webreaderapi.com/api/v1/crawl`, lalu baca `https://webreaderapi.com/api/v1/jobs/{job_id}` dalam loop. Kirim `cursor` setiap kali `next_cursor` kembali; bila tidak ada cursor dan statusnya `done`, job selesai. Tunggu di antara polling kosong dan gandakan waktu tunggu hingga 30 detik, karena crawl yang menghormati Crawl-delay sebuah situs bisa lambat. [Halaman batch dan crawl](https://webreaderapi.com/id/docs/crawl/) menjelaskan bagaimana crawl memilih halamannya dan bagaimana `limit` membatasi apa yang dibacanya. *crawl.mjs: mulai crawl dan kumpulkan setiap halaman* ```javascript const headers = { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const start = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 300, include_paths: ['/docs/*'] }), }); const { job_id } = await start.json(); const pages = []; let cursor = ''; let wait = 2000; for (;;) { const url = `https://webreaderapi.com/api/v1/jobs/${job_id}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ''}`; const job = await (await fetch(url, { headers })).json(); pages.push(...job.results.filter((r) => !r.error)); if (job.next_cursor) { cursor = job.next_cursor; wait = 2000; continue; } if (job.status === 'done') break; await sleep(wait); wait = Math.min(wait * 2, 30000); } console.log(pages.length, 'pages read, job', job_id); ``` ## Bagaimana cara meneruskan hasilnya ke model? Kirim Markdown-nya, bukan seluruh JSON. Field `markdown` adalah yang sebaiknya dibaca model; metadata lebih baik disimpan untuk sitasi. Beri awalan judul dan `final_url`, agar model dapat menyebutkan sumbernya, dan jaga `max_chars` pada ukuran yang dapat ditampung konteks model Anda, misalnya 20.000 karakter per halaman. [Halaman OpenAI function calling](https://webreaderapi.com/id/docs/openai/) menunjukkan loop tool lengkap dalam Python; fungsi `readPage` yang sama di atas dapat menjadi isi tool di agen Node.js. ## Node.js: pertanyaan umum ### Apakah ini berfungsi di Deno, Bun, atau browser? Deno dan Bun mendukung `fetch` dan ES module yang sama. Jangan memanggil API dari halaman browser: API key akan terlihat oleh setiap pengunjung. Panggil dari server Anda sebagai gantinya. ### Apakah ada paket npm? Tidak. Fungsi-fungsi di halaman ini adalah keseluruhan integrasinya. WebReaderAPI adalah HTTPS dan JSON biasa, sehingga Anda tetap mengendalikan retry, timeout, dan logging. ### Bagaimana cara menangani 429 concurrency_limit? Kurangi jumlah worker, atau coba lagi setelah jeda singkat yang digandakan setiap kali. 429 tidak berbiaya apa pun, dan [halaman error](https://webreaderapi.com/id/docs/errors/) menyediakan fungsi backoff siap pakai. ### Berapa biaya membaca 10.000 halaman? Sekitar 10.000 kredit untuk halaman biasa, lebih jika sebagian memerlukan browser. 10.000 halaman berbiaya US$3,75; Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. --- 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. --- # OpenAI function calling: tool read_url untuk model Anda > OpenAI function calling dengan tool read_url: skema JSON dan loop Python yang mengubah tautan menjadi Markdown bersih. Tanpa KYC, bayar dengan kripto. - URL: https://webreaderapi.com/id/docs/openai/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Jelaskan satu fungsi, `read_url`, dan jalankan saat model memintanya. Model memilih halaman mana yang dibaca; kode Anda memanggil API dan mengembalikan Markdown. Skema yang sama berfungsi dengan model lain yang mendukung tool calling. **Jawaban singkat — Bagaimana cara membiarkan model OpenAI membaca halaman web dengan function calling?** Deklarasikan fungsi `read_url` dalam daftar `tools`, lalu jalankan loop: saat model mengembalikan tool call, panggil endpoint `/read` dari **WebReaderAPI** dengan URL dan kirim Markdown kembali sebagai pesan `tool`. Setiap halaman berbiaya 1 kredit, 2 dengan browser, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Seperti apa skema read_url? Dua parameter sudah cukup: `url` yang akan dibaca, wajib, dan `max_chars` opsional yang memungkinkan model meringkas halaman panjang. Deskripsi adalah bagian terpenting: memberi tahu model apa yang dikembalikan tool dan kapan menggunakannya. Jaga tetap faktual dan singkat. Kami menamai tool ini `read_url` alih-alih `web_fetch` untuk menghindari bentrok dengan tool yang sudah disediakan sebagian agent runtime dengan nama tersebut. *Definisi tool* ```json { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL. Use it when the user gives a link or when a page must be read to answer.", "parameters": { "type": "object", "properties": { "url": { "type": "string", "description": "The http or https address of the page." }, "max_chars": { "type": "integer", "description": "Most characters to return, 1000 to 500000. Default 20000." } }, "required": ["url"], "additionalProperties": false } } } ``` ## Bagaimana cara kerja loop tool calling? Kirim percakapan dengan daftar `tools`. Jika balasan berisi tool call, jalankan masing-masing, tambahkan hasilnya sebagai pesan dengan role `tool` dan `tool_call_id` yang sesuai, lalu tanyakan lagi ke model. Saat balasan datang tanpa tool call, itulah jawaban akhir. Batasi jumlah putaran. Tiga atau empat sudah cukup untuk pertanyaan tentang beberapa halaman, dan batas ini melindungi Anda dari model yang terus meminta lebih banyak. *Python: loop lengkap dengan package openai* ```python import json import os import requests from openai import OpenAI READ_URL = { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL.", "parameters": { "type": "object", "properties": { "url": {"type": "string", "description": "The http or https address of the page."}, "max_chars": {"type": "integer", "description": "Most characters to return. Default 20000."}, }, "required": ["url"], "additionalProperties": False, }, }, } def read_url(url, max_chars=20000): resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "max_chars": max_chars}, timeout=75, ) body = resp.json() if resp.status_code != 200: return "Could not read the page: " + body["error"]["code"] return "# " + (body.get("title") or url) + "\nSource: " + body["final_url"] + "\n\n" + body["markdown"] client = OpenAI() model = os.environ.get("OPENAI_MODEL", "gpt-4.1-mini") messages = [{"role": "user", "content": "What does https://example.com/blog/first-post announce? Answer in two sentences."}] for _ in range(4): reply = client.chat.completions.create(model=model, messages=messages, tools=[READ_URL]) msg = reply.choices[0].message if not msg.tool_calls: print(msg.content) break messages.append(msg) for call in msg.tool_calls: args = json.loads(call.function.arguments) messages.append({"role": "tool", "tool_call_id": call.id, "content": read_url(**args)}) ``` ## Bagaimana cara menekan penggunaan token dan biaya? Tiga pengaturan penting. Jaga `max_chars` tetap moderat, sekitar 8.000 hingga 20.000 karakter per halaman, karena setiap karakter yang Anda kembalikan dibaca oleh model. Pertahankan `main_content=true` default, agar menu dan footer tidak pernah masuk ke context. Dan batasi loop, seperti di atas, agar satu pertanyaan tidak memicu puluhan pembacaan. Di sisi kami, biaya dihitung per halaman, bukan per karakter: 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Asisten dukungan yang membaca 300 halaman sehari memakai sekitar 9.000 kredit sebulan, di dalam 10.000 halaman (US$3,75). ## Apakah skema ini berfungsi dengan model lain? Ya, dengan sedikit perubahan pada wrapper. Sebagian besar API tool calling menerima JSON Schema untuk parameter serta nama dan deskripsi untuk tool, jadi `read_url` dapat dipindahkan antar penyedia apa adanya. [Halaman MCP](https://webreaderapi.com/id/docs/mcp/) mengemas fungsi yang sama untuk klien yang berbicara Model Context Protocol, dan [halaman LangChain](https://webreaderapi.com/id/docs/langchain/) membungkusnya untuk agent LangChain dan LlamaIndex. ## Apa yang harus dilihat model saat halaman ditolak? Kalimat singkat dan jelas, seperti yang dikembalikan loop di atas: "Could not read the page: blocked_by_robots". Model menanganinya dengan baik dan beralih ke sumber lain atau memberi tahu pengguna. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Tidak ada dari penolakan ini yang memakai kredit. ## Function calling: pertanyaan umum ### Apakah ini memerlukan Responses API atau Chat Completions? Contoh menggunakan Chat Completions dengan parameter `tools`. Definisi fungsi yang sama dan body `read_url` yang sama berfungsi dengan antarmuka OpenAI lain yang menerima function tool; hanya loop di sekitarnya yang berubah. ### Bisakah model membaca beberapa halaman dalam satu giliran? Ya. Satu balasan bisa berisi beberapa tool call; loop menjalankan masing-masing dan mengembalikan setiap hasil sebelum bertanya lagi ke model. Jaga `max_chars` lebih rendah saat model membaca banyak halaman sekaligus. ### Apakah API key terekspos ke model? Tidak. Key tetap berada di environment kode Anda. Model hanya melihat nama tool, deskripsinya, dan teks yang dikembalikan fungsi Anda. ### Berapa biaya halaman yang ditolak? Nol. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. --- 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. --- # OpenClaw: menambahkan pembaca halaman web melalui MCP, di samping web_fetch > Tambahkan pembaca halaman web ke OpenClaw lewat MCP: openclaw mcp add, doctor --probe, dan read_url melengkapi web_fetch. Tanpa KYC, bayar pakai kripto. - URL: https://webreaderapi.com/id/docs/openclaw/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) OpenClaw sudah memiliki tool `web_fetch` untuk halaman ringan. Menambahkan server MCP kami memberi agent pembaca kedua, `read_url`, untuk halaman JavaScript, PDF, dan dokumen yang lebih panjang. Penyiapannya satu perintah. **Jawaban singkat — Bagaimana cara menambahkan API pembaca halaman web ke OpenClaw?** Simpan server MCP **WebReaderAPI**, lalu daftarkan dengan `openclaw mcp add webreaderapi --command … --arg … --env WEBREADER_API_KEY=…` dan periksa dengan `openclaw mcp doctor --probe`. Agent mendapatkan tool `read_url` di samping `web_fetch` bawaan, yang mampu merender JavaScript dan membaca PDF. Halaman berbiaya 1 kredit, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## web_fetch dan read_url milik OpenClaw berdampingan | Atribut | Nilai | | --- | --- | | web_fetch (bawaan) | Berjalan secara lokal, mengekstrak konten utama dengan Readability, mengembalikan Markdown atau teks | | Batas web_fetch | Tanpa eksekusi JavaScript; `maxChars` default dan batas 20.000 karakter (dokumentasi OpenClaw) | | read_url (tool MCP kami) | Rendering JavaScript bila diperlukan, PDF hingga 100 halaman, hingga 500.000 karakter | | Biaya read_url | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Crawler kami | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt dihormati | | Profil tool | Tool MCP muncul di profil `coding` dan `messaging`, bukan di `minimal` | ## Mengapa menambahkan reader padahal OpenClaw punya web_fetch? Karena keduanya menangani halaman yang berbeda. Dokumentasi OpenClaw menyebutkan `web_fetch` selalu berjalan secara lokal, memakai Readability untuk mengekstrak konten utama, dan tidak menjalankan JavaScript; dokumentasinya mengarahkan ke tool Web Browser untuk situs yang berat JavaScript atau dilindungi login. Setelan `maxChars`-nya default 20.000 karakter dan dibatasi di angka itu. Pertahankan `web_fetch` untuk halaman yang cepat dan ringan. Tambahkan `read_url` untuk halaman yang membangun kontennya dengan JavaScript, untuk PDF, dan untuk dokumen panjang yang Anda ingin baca lebih dari 20.000 karakter. Dokumentasi OpenClaw juga mencatat bahwa plugin Firecrawl resmi saat ini adalah satu-satunya provider bawaan yang bisa menjadi fallback bagi `web_fetch`. ## Bagaimana cara mendaftarkan MCP server di OpenClaw? Pertama siapkan Python server dari [halaman MCP](https://webreaderapi.com/id/docs/mcp/): satu file plus paket `mcp` dan `httpx`. Lalu simpan di OpenClaw dengan `openclaw mcp add`. Dokumentasi registry OpenClaw menjelaskan flag stdio `--command`, `--arg`, `--env` dan `--cwd`, serta menyimpan definisi tersimpan di `mcp.servers` dalam konfigurasinya. Jalankan `openclaw mcp doctor --probe` setelahnya. Tanpa `--probe`, doctor hanya memeriksa konfigurasi tersimpan; dengan flag itu, doctor juga memastikan server yang diaktifkan dapat terhubung. *Daftarkan dan periksa server* ```bash openclaw mcp add webreaderapi \ --command /home/you/webreader/.venv/bin/python \ --arg /home/you/webreader/webreader_mcp.py \ --env WEBREADER_API_KEY=your-key openclaw mcp doctor webreaderapi --probe ``` ## Apakah agent akan melihat read_url? Pada profil yang biasa, ya. Dokumentasi registry OpenClaw menyebutkan bahwa OpenClaw tertanam mengekspos tool MCP yang dikonfigurasi di profil `coding` dan `messaging`. Profil `minimal` menyembunyikannya, dan `tools.deny: ["bundle-mcp"]` mematikannya, jadi periksa kedua setelan itu jika tool tidak muncul. Deskripsi tool memberi tahu model kapan harus memprioritaskannya: halaman yang butuh JavaScript, PDF, dan bacaan panjang. Model tetap bisa memakai `web_fetch` untuk hal lainnya. ## Bagaimana read_url memperlakukan situs yang dibacanya? Sama seperti setiap panggilan ke API kami. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Halaman di balik login karena itu di luar cakupan `read_url`. Untuk situs tempat Anda sudah masuk, tool browser milik OpenClaw sendiri, yang berjalan dengan sesi Anda, adalah tool yang tepat. ## Berapa biaya membaca halaman lewat OpenClaw? Satu kredit per halaman yang kembali dengan konten, dua saat browser diperlukan, tidak ada biaya untuk penolakan dan error. Asisten yang membaca 30 halaman sehari di seluruh kanal chat-nya memakai sekitar 900 kredit sebulan: 10.000 halaman (US$3,75) bertahan hampir setahun. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. Beri OpenClaw API key sendiri, agar pemakaiannya terlihat terpisah dari proyek Anda yang lain. ## OpenClaw: pertanyaan umum ### Apakah WebReaderAPI provider bawaan OpenClaw? Tidak. WebReaderAPI terhubung sebagai MCP server, yang didukung OpenClaw tanpa kode plugin apa pun. MCP server-nya adalah file Python singkat dari [halaman MCP](https://webreaderapi.com/id/docs/mcp/) kami. ### Haruskah saya menonaktifkan web_fetch? Tidak perlu. Kedua tool bisa tetap aktif; deskripsinya memberi tahu model mana yang cocok. Nonaktifkan `web_fetch` hanya jika Anda ingin setiap pembacaan lewat satu tempat untuk logging. ### Bisakah saya mengelola server dari antarmuka web OpenClaw? Dokumentasi OpenClaw menjelaskan setelan MCP di Control UI-nya, yang mengedit definisi tersimpan yang sama dengan command line. Pakai yang mana pun Anda suka. ### Apakah ini berfungsi di setup OpenClaw yang di-sandbox? MCP server adalah proses lokal yang butuh akses internet untuk menjangkau `https://webreaderapi.com/api/v1/read`. Pastikan sandbox Anda mengizinkan proses tersebut dimulai dan melakukan panggilan HTTPS itu. ## Sumber 1. [Alat web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) 2. [Web Fetch](https://docs.openclaw.ai/tools/web-fetch) — OpenClaw docs (read 2026-10-22) 3. [Kelola MCP server tersimpan](https://docs.openclaw.ai/cli/mcp/registry) — OpenClaw docs (read 2026-10-22) 4. [MCP di Control UI](https://docs.openclaw.ai/cli/mcp/control-ui) — OpenClaw docs (read 2026-10-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. --- # Halaman web ke Markdown di Python > Ubah halaman web menjadi Markdown di Python: requests, httpx async dengan batas konkurensi, job batch, dan chunking RAG. Dari US$0,07/1K halaman, tanpa KYC. - URL: https://webreaderapi.com/id/docs/python/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Empat resep yang mencakup sebagian besar proyek Python: baca satu halaman dengan requests, baca banyak halaman secara bersamaan dengan httpx, serahkan daftar ke job batch, dan pecah Markdown menjadi chunk untuk vector store. **Jawaban singkat — Bagaimana cara mengubah halaman web menjadi Markdown di Python?** Panggil **WebReaderAPI** dengan `requests.get("https://webreaderapi.com/api/v1/read", params={"url": ...})` dan API key Anda di header `Authorization`; jawaban JSON-nya berisi konten utama halaman dalam `markdown`. Untuk banyak halaman, gunakan `httpx.AsyncClient` dengan semaphore atau job batch. Satu halaman berbiaya 1 kredit, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Apa yang perlu saya instal? Python 3.9 atau lebih baru dan satu HTTP client. `requests` cukup untuk skrip yang membaca satu halaman sekaligus; `httpx` menambahkan dukungan async untuk banyak halaman secara paralel. Tidak perlu paket dari kami: API-nya HTTPS dan JSON biasa. Jauhkan API key Anda dari kode. Bacalah dari environment variable `WEBREADER_API_KEY`, seperti yang dilakukan setiap contoh di bawah, dan beri setiap proyek API key sendiri agar Anda bisa mencabut satu tanpa menyentuh yang lain. *Instal* ```bash pip install requests httpx export WEBREADER_API_KEY="your-key" ``` ## Bagaimana cara membaca satu halaman dengan requests? Kirim `url` dan opsi apa pun sebagai parameter kueri, raise saat ada error HTTP, dan baca field yang Anda butuhkan. Contoh ini menyimpan konten utama, membatasinya di 20.000 karakter untuk model, dan mencetak biaya panggilannya. *requests: satu halaman* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code != 200: error = resp.json()["error"] raise RuntimeError(error["code"] + ": " + error["message"]) return resp.json() page = read("https://example.com/docs/getting-started", max_chars=20000) print(page["title"], page["word_count"], "words", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## Bagaimana cara membaca banyak halaman sekaligus dengan httpx? Gunakan satu `httpx.AsyncClient` dan `asyncio.Semaphore` yang disetel pada atau di bawah batas konkurensi Anda. Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. Error dari satu halaman tidak boleh menghentikan yang lain, jadi contoh ini mengumpulkannya di samping hasil alih-alih me-raise. Jika Anda melewati batas, API menjawab `429 concurrency_limit`; tidak ada yang ditagih, tetapi halaman tidak dibaca. Menjaga semaphore di bawah batas lebih sederhana daripada mencoba ulang. *httpx: hingga 10 halaman berjalan bersamaan* ```python import asyncio import os import httpx API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} async def read_one(client, sem, url): async with sem: resp = await client.get(API, params={"url": url, "max_chars": 50000}) body = resp.json() if resp.status_code == 200: return url, body, None return url, None, body["error"]["code"] async def read_many(urls, limit=10): sem = asyncio.Semaphore(limit) async with httpx.AsyncClient(headers=HEADERS, timeout=75) as client: return await asyncio.gather(*(read_one(client, sem, u) for u in urls)) if __name__ == "__main__": urls = [f"https://example.com/blog/post-{n}" for n in range(1, 21)] for url, page, error in asyncio.run(read_many(urls)): print(url, "->", error or page["title"]) ``` ## Kapan sebaiknya saya menggunakan batch job? Saat Anda memiliki daftar hingga 100 URL dan tidak membutuhkan setiap halaman begitu siap. Batch job berjalan di sisi kami, jadi skrip Anda tidak menahan koneksi tetap terbuka dan tidak melakukan logika retry. Mulai dengan `POST https://webreaderapi.com/api/v1/batch`, lalu kumpulkan hasil dari job dengan loop cursor seperti yang ditunjukkan di [halaman batch dan crawl](https://webreaderapi.com/id/docs/crawl/). Untuk satu situs penuh, mulai crawl sebagai gantinya dan biarkan mengikuti sitemap dan tautan; halaman yang sama memiliki loop lengkap yang menulis satu file `.md` per halaman. *Mulai job batch* ```python import os import requests urls = [f"https://example.com/changelog/{year}" for year in range(2020, 2027)] resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": urls, "options": {"format": "markdown", "main_content": True}}, timeout=30, ) resp.raise_for_status() print("job:", resp.json()["job_id"]) ``` ## Bagaimana cara memecah Markdown menjadi chunk untuk RAG? Pecah berdasarkan heading dulu, lalu berdasarkan ukuran. Heading menandai tempat topik berubah, jadi chunk yang dimulai pada heading lebih mudah dicocokkan oleh retriever. Simpan judul halaman dan jalur heading di metadata setiap chunk: keduanya membantu model mengutip bagian yang tepat. Fungsi di bawah tidak memerlukan library tambahan. Fungsi ini memotong pada heading `#` hingga `###`, lalu memecah bagian yang panjang pada baris kosong agar tetap di bawah batas karakter. Simpan `final_url` bersama setiap chunk, agar dua alamat yang mengarah ke halaman yang sama tidak membuat duplikat. *Pecah Markdown berdasarkan heading* ```python import re def chunk_markdown(page, max_chars=2000): """Split a /read response into chunks with a heading path and the source URL.""" chunks, path, buf = [], [], [] def flush(): text = "\n".join(buf).strip() while text: part = text[:max_chars] cut = part.rfind("\n\n") if len(text) > max_chars and cut > max_chars // 2: part = part[:cut] chunks.append({"text": part.strip(), "section": " > ".join(path), "title": page.get("title"), "source": page["final_url"]}) text = text[len(part):].strip() buf.clear() for line in page["markdown"].splitlines(): m = re.match(r"^(#{1,3}) (.+)", line) if m: flush() level = len(m.group(1)) path[:] = path[: level - 1] + [m.group(2).strip()] buf.append(line) flush() return chunks ``` ## Berapa biaya job Python? Hitung halaman, bukan request. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Membaca 2.000 halaman dokumentasi tanpa browser menghabiskan sekitar 2.000 kredit, yang ditanggung 10.000 halaman (US$3,75) lima kali lipat. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya, jadi pipeline yang berjalan sebulan sekali hanya memakai apa yang dibacanya. ## Python: pertanyaan umum ### Apakah ada paket Python resmi? Tidak. Kode di halaman ini sudah cukup: WebReaderAPI adalah API HTTPS biasa, dan `requests` atau `httpx` dapat memanggilnya langsung. ### Bagaimana cara menangani halaman yang ditolak robots.txt? Periksa kode error. `blocked_by_robots` dan `target_refused` bersifat final dan gratis; catat lalu lanjutkan. [Halaman errors](https://webreaderapi.com/id/docs/errors/) memiliki helper retry yang hanya mengulang kode yang bisa berubah. ### Bisakah saya menggunakan API dari notebook Jupyter? Bisa. Resep `requests` berfungsi apa adanya. Di notebook, `await read_many(urls)` menggantikan `asyncio.run`, karena notebook sudah menjalankan event loop. ### Timeout berapa yang harus dipakai klien saya? Sedikit lebih besar dari timeout API itu sendiri: default-nya 30 detik dan maksimal 60, jadi 75 detik di sisi klien memberi ruang untuk situs yang lambat dan responsnya. --- 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. --- # Referensi endpoint read: GET dan POST /read > Referensi endpoint dari US$0,07/1K halaman: parameter GET dan POST /read, dari format dan render hingga country dan max_chars, dengan contoh. - URL: https://webreaderapi.com/id/docs/read/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) `/read` mengambil satu halaman publik, mengekstrak konten utamanya dan mengembalikannya sebagai Markdown, teks biasa atau HTML yang sudah dibersihkan. Halaman ini mencantumkan setiap parameter, nilai default dan biayanya. **Jawaban singkat — Parameter apa saja yang diterima endpoint read WebReaderAPI?** Endpoint `/read` **WebReaderAPI** membutuhkan satu parameter, `url`. Parameter opsional memilih output (`format`), berapa banyak halaman yang disimpan (`main_content`), apakah browser dijalankan (`render`), tautan dan gambar, negara pembacaan, batas karakter dan timeout. Halaman biasa berbiaya 1 kredit, 2 dengan browser, mulai US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## /read at a glance | Atribut | Nilai | | --- | --- | | Metode | `GET` dengan parameter kueri, atau `POST` dengan body JSON menggunakan nama yang sama | | URL | `https://webreaderapi.com/api/v1/read` | | Wajib | `url`: alamat http atau https, hingga 2.048 karakter | | Output default | Markdown konten utama | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Negara | Memilih negara asal pembacaan halaman menambah 10 kredit, karena halaman kemudian dibaca melalui koneksi residensial di negara tersebut | | PDF | File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai | | Identitas crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | ## Baca satu halaman (GET) `GET /api/v1/read` Mengambil satu halaman publik dan mengembalikan konten utamanya sebagai Markdown, beserta metadata halaman. Parameter diletakkan di query string, di-URL-encode. Contoh membaca sebuah pos blog; ID, tanggal dan nilai bersifat ilustratif. Autentikasi: API key di header `Authorization: Bearer API_KEY`. **Parameter** | Nama | Di | Tipe | Wajib | Deskripsi | | --- | --- | --- | --- | --- | | `url` | query | string | Ya | Halaman yang akan dibaca: http atau https, maksimal 2.048 karakter. Alamat privat, lokal dan cloud metadata ditolak. | | `format` | query | string | Tidak | `markdown` (default), `text` (teks biasa, tanpa markup) atau `html` (HTML konten yang sudah dibersihkan). | | `main_content` | query | boolean | Tidak | `true` (default) hanya menyimpan artikel atau konten utama; `false` mengubah seluruh halaman, termasuk menu dan footer. | | `render` | query | string | Tidak | `auto` (default) hanya menjalankan browser saat HTML mentah berisi terlalu sedikit teks; `true` selalu; `false` tidak pernah. Halaman yang dirender berbiaya 2 kredit. | | `include_links` | query | boolean | Tidak | `true` menambahkan daftar `{url, text}` berupa `links`. Default `false`. | | `include_images` | query | boolean | Tidak | `true` menyimpan gambar sebagai `![alt](src)` di Markdown. Default `false`. | | `country` | query | string | Tidak | Kode negara dua huruf (ISO 3166-1 alpha-2). Halaman dibaca dari alamat di negara tersebut, dengan biaya 10 kredit tambahan (koneksi residential). | | `max_chars` | query | integer | Tidak | Memotong output pada jumlah karakter ini, dari 1.000 hingga 500.000. Berguna agar muat dalam konteks model. | | `timeout` | query | integer | Tidak | Waktu tunggu untuk situs, dari 5 hingga 60 detik. Default 30. | | `api_key` | query | string | Tidak | API key Anda, jika Anda tidak mengirim header `Authorization`. | **Response** `200` ```json { "url": "https://example.com/blog/first-post", "final_url": "https://example.com/blog/first-post", "status_code": 200, "fetched_at": "2026-10-22T09:41:12Z", "rendered": false, "credits_used": 1, "title": "Our first post", "description": "Why we started this blog and what comes next.", "language": "en", "author": "Jane Doe", "published_at": "2026-10-01", "site_name": "Example Blog", "markdown": "# Our first post\n\nWe started this blog to share what we learn...\n\n## What comes next\n\n- A post every month\n- Notes from our team", "word_count": 612 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" \ -d format=markdown -d max_chars=20000 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post", "max_chars": 20000}, timeout=70, ) resp.raise_for_status() print(resp.json()["markdown"][:300]) ``` *Node.js* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post', max_chars: '20000' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); console.log(page.markdown.slice(0, 300)); ``` ## Membaca satu halaman (POST) `POST /api/v1/read` Endpoint yang sama, parameter yang sama, dikirim sebagai body JSON. Gunakan POST jika URL sangat panjang atau jika klien HTTP Anda lebih mudah membangun JSON daripada query string. Responsnya identik dengan bentuk GET. Autentikasi: API key di header `Authorization: Bearer API_KEY`. **Request body** | Field | Tipe | Wajib | Deskripsi | | --- | --- | --- | --- | | `url` | string | Ya | Halaman yang akan dibaca. | | `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout` | mixed | Tidak | Seperti pada tabel GET di atas, dengan tipe JSON: boolean sebagai `true`/`false`, angka tanpa tanda kutip. | *Contoh: a JavaScript-heavy page, read from Germany, with its links* ```json { "url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true, "max_chars": 30000 } ``` **Response** `200` ```json { "url": "https://example.com/app/pricing", "final_url": "https://example.com/de/app/pricing", "status_code": 200, "fetched_at": "2026-10-22T09:44:03Z", "rendered": true, "credits_used": 3, "title": "Pricing", "language": "de", "markdown": "# Pricing\n\n| Plan | Price |\n|---|---|\n| Basic | ... |", "word_count": 214, "links": [ { "url": "https://example.com/de/contact", "text": "Contact" } ] } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": True}, timeout=70, ) print(resp.json()["credits_used"], "credits") ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/read', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com/app/pricing', render: 'true', country: 'de', include_links: true }), }); console.log((await res.json()).credits_used); ``` ## Format output mana yang harus saya pilih? Pilih `markdown` untuk model bahasa dan RAG: heading, list, tabel, dan tautan tetap terjaga, dan teksnya tetap ringkas. Pilih `text` jika Anda hanya menghitung kata, mengklasifikasi, atau mencari, dan markup hanya akan jadi noise. Pilih `html` jika pipeline Anda sendiri sudah mem-parse HTML dan Anda hanya ingin elemen pengganggunya hilang. Field metadata sama di ketiga format. Hanya nama field konten yang berubah: `markdown`, `text`, atau `html`. ## Kapan saya harus mengatur main_content ke false? Atur ke `false` jika bagian di sekitar artikel justru yang Anda butuhkan. Contohnya navigasi situs untuk memetakan bagian-bagiannya, footer berisi detail hukum atau kontak, atau halaman produk yang spesifikasinya ada di sidebar. Dengan default `true`, ekstraktor mempertahankan blok konten utama dan membuang navigasi, banner cookie, iklan, tombol share, dan footer. Itulah yang diinginkan sebagian besar agent dan pipeline RAG, dan sering kali memangkas halaman menjadi sebagian kecil dari ukuran HTML-nya. ## Bagaimana render=auto memutuskan untuk memakai browser? Pertama, ia mengambil HTML mentah, yang cepat dan memakan 1 kredit. Jika HTML tersebut berisi terlalu sedikit teks yang bisa dibaca, biasanya aplikasi yang membangun halaman dengan JavaScript, ia memuat halaman lagi di browser headless dan panggilan tersebut memakan 2 kredit. Respons memberi tahu Anda jalur mana yang berjalan: `rendered` bernilai `true` atau `false`. Atur `render=false` jika Anda tahu situs menyajikan HTML lengkap dan ingin biaya tetap. Atur `render=true` untuk single-page app, agar melewati percobaan pertama. ## Apa yang diubah oleh country dan max_chars? `country` membaca halaman dari alamat di negara yang Anda tentukan, dengan User-Agent yang sama. Gunakan untuk halaman yang harga, bahasa, atau ketersediaannya berubah menurut negara. Ini menambah 10 kredit, karena halaman kemudian dibaca melalui koneksi residensial, dan tidak dapat digunakan untuk negara tempat layanan tidak beroperasi. `max_chars` memotong output setelah sejumlah karakter tersebut. Ini tidak mengubah harga, tetapi melindungi context window milik agent: 20.000 karakter adalah default yang masuk akal untuk satu halaman yang diteruskan ke model. ## Apakah /read dapat menangani file PDF? Ya. Saat URL mengembalikan PDF, teksnya dikembalikan sebagai Markdown dalam field `markdown` yang sama. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. PDF hasil pindai tanpa lapisan teks mengembalikan sedikit atau tidak ada teks, karena tidak ada langkah pengenalan karakter. ## Endpoint read: pertanyaan umum ### Apakah /read mengikuti redirect? Ya, hingga 5 kali. Respons memberikan alamat yang Anda minta di `url` dan alamat yang benar-benar dibaca di `final_url`. Redirect ke alamat privat atau lokal akan ditolak. ### Bisakah saya membaca halaman yang memerlukan login? Tidak. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Halaman di balik login atau paywall mengembalikan penolakan dari situs, dan panggilannya gratis. ### Apakah pengecekan robots.txt dilakukan pada setiap panggilan? Ya, terhadap salinan robots.txt situs yang berumur paling lama 24 jam. URL yang dilarang mengembalikan `403 blocked_by_robots` dan tidak memakai kredit. ### Berapa banyak halaman yang dapat saya baca secara bersamaan? Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. Untuk banyak URL, [batch job](https://webreaderapi.com/id/docs/crawl/) lebih sederhana daripada menjalankan banyak panggilan paralel. --- 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. --- # Format respons Read API, field demi field > Format respons Read API: field tiap halaman dari markdown dan word_count hingga final_url dan rendered, plus hasil job. Bayar pakai kripto tanpa KYC. - URL: https://webreaderapi.com/id/docs/response/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Setiap panggilan `/read` mengembalikan satu objek JSON: konten halaman dalam format yang Anda minta, metadatanya, dan tiga field yang memberi tahu Anda apa yang terjadi dan berapa biayanya. Hasil job menggunakan objek yang sama. **Jawaban singkat — Apa saja isi respons read dari WebReaderAPI?** Respons **WebReaderAPI** `/read` memuat konten halaman dalam `markdown` (atau `text` atau `html`), metadatanya (`title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`), dan fakta tentang pengambilan: `final_url`, `status_code`, `rendered`, dan `credits_used`. Halaman biasa memakai 1 kredit, dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Field mana yang menjelaskan proses pengambilan? Field-field ini selalu ada dalam respons yang berhasil. | Field | Tipe | Arti | | --- | --- | --- | | `url` | string | Alamat yang Anda kirim | | `final_url` | string | Alamat yang benar-benar dibaca, setelah redirect (maksimal 5) | | `status_code` | integer | Status HTTP yang dikembalikan situs untuk alamat final, biasanya 200 | | `fetched_at` | string | Waktu fetch, ISO 8601 dalam UTC | | `rendered` | boolean | `true` saat browser headless membangun halaman | | `credits_used` | integer | Kredit yang ditagih untuk halaman ini: 1, 2 dengan browser, ditambah 10 dengan `country`; PDF 1 per 10 halaman yang dimulai | ## Field mana yang menjelaskan halaman? Metadata berasal dari halaman itu sendiri: tag title, meta tag, structured data, dan byline yang terlihat. Field yang tidak disediakan halaman akan absen, jadi uji dulu sebelum digunakan. | Field | Tipe | Arti | | --- | --- | --- | | `title` | string | Judul halaman atau artikel | | `description` | string | Ringkasan yang diberikan halaman tentang dirinya sendiri | | `language` | string | Kode bahasa konten, seperti `en` atau `de` | | `author` | string | Penulis yang tercantum di halaman | | `published_at` | string | Tanggal publikasi yang dinyatakan halaman | | `site_name` | string | Nama situs itu sendiri | | `word_count` | integer | Jumlah kata dalam konten yang dikembalikan, setelah ekstraksi dan sebelum `max_chars` | ## Di mana kontennya sendiri? Satu field konten dikembalikan, dinamai sesuai `format` yang Anda pilih. | Field | When | Content | | --- | --- | --- | | `markdown` | `format=markdown` (default) | Heading, paragraf, list, tabel, dan link dalam Markdown; gambar juga dengan `include_images=true` | | `text` | `format=text` | Teks biasa, paragraf dipisahkan baris kosong | | `html` | `format=html` | HTML bersih dari konten utama, tanpa script, style, atau iklan | | `links` | `include_links=true` | Daftar `{url, text}` untuk tautan yang ditemukan di halaman, URL absolut | *Respons lengkap (nilai bersifat ilustratif)* ```json { "url": "https://example.com/guides/compost", "final_url": "https://example.com/guides/compost-at-home", "status_code": 200, "fetched_at": "2026-10-22T10:02:44Z", "rendered": false, "credits_used": 1, "title": "Compost at home: a beginner's guide", "description": "What to put in a compost bin, and what to leave out.", "language": "en", "author": "Sam Rivera", "published_at": "2026-09-14", "site_name": "Example Garden", "markdown": "# Compost at home: a beginner's guide\n\nA compost bin turns kitchen scraps into soil...\n\n## What goes in\n\n- Fruit and vegetable peels\n- Coffee grounds\n\nSee also [Choosing a bin](https://example.com/guides/bins).", "word_count": 1184, "links": [ { "url": "https://example.com/guides/bins", "text": "Choosing a bin" } ] } ``` ## Bagaimana cara membedakan halaman yang dirender dari halaman biasa? Lihat `rendered`. Dengan `render=auto`, API terlebih dahulu membaca HTML mentah; browser hanya dijalankan ketika HTML tersebut memuat terlalu sedikit teks, lalu menyetel `rendered` ke `true` dan `credits_used` ke 2. Jika situs yang sering Anda baca selalu kembali dalam keadaan dirender, kirim `render=true` sejak awal: biayanya sama dan Anda melewati langkah pertama yang sia-sia. Jika halaman kembali tanpa dirender tetapi kontennya tipis, bandingkan `word_count` dengan apa yang Anda lihat di browser. Jumlah yang rendah biasanya berarti konten membutuhkan JavaScript; coba ulang sekali dengan `render=true`. ## Mengapa final_url bisa berbeda dari url? Karena situs melakukan redirect. Tautan pendek, alamat lama, garis miring di akhir yang hilang, atau pergantian bahasa semuanya mengarahkan Anda ke tempat lain. API mengikuti hingga 5 redirect dan melaporkan alamat yang akhirnya dibaca di `final_url`. Simpan `final_url` sebagai sumber kanonik sebuah dokumen di indeks RAG. Dua nilai `url` berbeda yang berakhir di `final_url` yang sama adalah halaman yang sama, jadi Anda bisa membuang duplikatnya sebelum melakukan embedding. ## Seperti apa hasil job? `GET https://webreaderapi.com/api/v1/jobs/{job_id}` mengembalikan `job_id`, `status` (`queued`, `running` atau `done`), `results`, `next_cursor` dan `credits_used` job yang sedang berjalan. Setiap item `results` berbentuk salah satu dari dua bentuk: - respons `/read` lengkap, persis seperti yang dijelaskan di atas, untuk halaman yang berhasil dibaca; - `{url, error}` untuk halaman yang tidak berhasil dibaca, di mana `error` memiliki `code` dan `message` yang sama dengan [API error](https://webreaderapi.com/id/docs/errors/). `next_cursor` ada selama masih ada hasil lain yang siap; kirim kembali sebagai `cursor` untuk mengambilnya. [Halaman batch dan crawl](https://webreaderapi.com/id/docs/crawl/) memiliki polling loop lengkap. *Halaman hasil job (nilai bersifat ilustratif)* ```json { "job_id": "job_5c1e8a90d2", "status": "done", "results": [ { "url": "https://example.com/blog/post-1", "final_url": "https://example.com/blog/post-1", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Post one", "markdown": "# Post one\n\n...", "word_count": 802 }, { "url": "https://example.org/members/area", "error": { "code": "target_refused", "message": "The site refused the request.", "target_status": 403 } } ], "credits_used": 1 } ``` ## Seperti apa respons error? Error dikembalikan dengan status HTTP 400 atau lebih dan body JSON `{"error": {"code", "message"}}`. Ketika situs itu sendiri menolak permintaan, `target_status` memberikan status yang dikirim situs. Tidak ada error yang ditagih. [Halaman errors](https://webreaderapi.com/id/docs/errors/) mencantumkan setiap kode beserta penyebabnya dan apakah mencoba ulang dapat membantu. ## Format respons: pertanyaan umum ### Apakah Markdown terpotong saat saya menyetel max_chars? Ya. Field content berhenti pada jumlah karakter tersebut. `word_count` tetap menjelaskan seluruh konten yang diekstrak, jadi Anda bisa melihat berapa banyak yang tersisa di luar. ### Mengapa author atau published_at tidak ada? Karena halaman tidak menyatakannya dengan cara yang bisa dibaca. Banyak halaman tidak mencantumkan penulis atau tanggal. Field yang tidak ada dihilangkan, bukan dikembalikan kosong. ### Apakah tautan di Markdown bersifat absolut? Tautan di daftar `links` bersifat absolut. Tulis kode Anda agar menerima kedua bentuk di body Markdown, dan selesaikan yang relatif terhadap `final_url`. ### Bisakah saya mendapatkan HTML mentah dari seluruh halaman? Yang paling mendekati adalah `format=html` dengan `main_content=false`, yang mengembalikan seluruh halaman setelah dibersihkan dari script dan style. HTML asli byte demi byte bukan bagian dari v1. --- 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. --- # FAQ WebReaderAPI > FAQ WebReaderAPI: 30 jawaban tentang API pembaca web: harga per halaman, JavaScript dan PDF, crawl, robots.txt, situs diblokir, KYC, pembayaran kripto. - URL: https://webreaderapi.com/id/faq/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Jawaban atas pertanyaan yang paling sering diajukan developer, pembuat AI, dan pemilik situs tentang mengubah halaman web menjadi Markdown dengan WebReaderAPI. Setiap jawaban diawali dengan jawabannya. **Jawaban singkat — Apa yang paling sering ditanyakan orang tentang WebReaderAPI?** Terutama harga per halaman, cara penghitungan halaman JavaScript dan PDF, serta apa yang terjadi saat situs menolak robots. Singkatnya: **WebReaderAPI** mengenakan satu kredit per halaman yang dibaca, dua jika memakai browser, mulai dari US$0,07/1K halaman per Oktober 2026; halaman yang ditolak atau gagal tidak dikenakan biaya; robots.txt selalu dihormati. Tanpa KYC; bayar dengan kripto. ## Harga dan kredit ### Berapa biaya WebReaderAPI? Paket prabayar berharga US$3,75 untuk 10.000 halaman, US$21,75 untuk 100.000 halaman, dan US$74,25 untuk 1.000.000 halaman, per Oktober 2026. Tarifnya turun menjadi US$0,07/1K halaman pada paket 5.000.000 halaman. [Halaman harga](https://webreaderapi.com/id/pricing/) mencantumkan setiap paket. ### Apa yang didapat dari satu kredit? Satu halaman yang dibaca tanpa browser. Halaman yang memerlukan rendering JavaScript memakai dua kredit, dan membaca dari negara pilihan menambah satu. Respons memberi tahu apa yang terpakai di `credits_used`, sehingga Anda bisa melacak biaya per halaman di log Anda sendiri. ### Apakah kredit kedaluwarsa? Tidak. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. Paket yang dibeli untuk crawl sekali pakai tetap menyimpan halaman yang belum terpakai untuk proyek berikutnya. ### Apakah saya dikenakan biaya saat halaman tidak dapat dibaca? Tidak. Error tidak memakai kredit, baik penyebabnya dari sisi kami, jaringan, maupun situs webnya. Termasuk halaman yang ditolak oleh robots.txt, oleh sinyal `ai-input=no`, atau oleh jawaban situs itu sendiri. ### Apakah ada tier gratis? Tidak. Tidak ada free tier: pack terkecil adalah cara untuk menguji, dibayar dari top-up minimum, dan jumlah yang ditambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari, dalam USDT atau USDC, selama belum digunakan. ### Berapa jumlah minimal yang bisa saya belanjakan? Top-up minimum adalah US$25. Paket terkecil, 10.000 halaman, berharga US$3,75; sisa top-up tetap ada di saldo Anda untuk paket berikutnya atau bisa diminta kembali dalam 30 hari jika belum terpakai. ## Apa yang dibaca dan dikembalikan API ### Bisakah WebReaderAPI membaca halaman yang dibuat dengan JavaScript? Ya. Render JavaScript di browser headless saat halaman memerlukannya (render=auto), atau selalu, atau tidak pernah. Dengan `render=auto`, browser hanya dipakai saat HTML mentah memuat terlalu sedikit teks, sehingga halaman sederhana tetap satu kredit. ### Bisakah mengonversi file PDF? Ya. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. Kirim URL PDF ke endpoint `/read` yang sama; teksnya kembali sebagai Markdown. ### Bisakah saya membaca seluruh situs web? Ya, dengan crawl job. Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya. Anda dapat membatasinya ke path seperti `/docs/*`; setiap halaman yang dibaca memakai kredit seperti satu permintaan. ### Berapa banyak URL yang bisa saya kirim sekaligus? Hingga 100 URL per batch job. Batch berjalan sebagai job: Anda mengirim daftar, menerima `job_id`, dan mengambil semua hasil saat job selesai. ### Bagaimana cara menjaga halaman tetap dalam context window model saya? Setel `max_chars`. Markdown dipotong pada panjang itu, dari 1.000 hingga 500.000 karakter. Dikombinasikan dengan `main_content=true`, ini menjaga halaman panjang dalam budget token yang dapat diprediksi. ### Apakah Markdown mempertahankan tabel, blok kode, dan tautan? Ya. Heading, daftar, tabel, blok kode, dan tautan mempertahankan bentuk Markdown-nya. Tautan bersifat inline; tambahkan `include_links=true` untuk juga mendapatkannya sebagai daftar terpisah, dan `include_images=true` untuk mempertahankan gambar. ### Apa arti "konten utama"? Bagian halaman yang dicari pembaca: artikel, dokumentasi, atau deskripsi produk. Dengan `main_content=true`, pengaturan default, menu, banner cookie, iklan, sidebar, dan footer dihapus. Setel ke `false` untuk mengonversi seluruh halaman. ### Bisakah saya membaca halaman seperti yang tampil di negara lain? Ya, dengan parameter `country` dan kode negara dua huruf. Memilih negara asal pembacaan halaman menambah 10 kredit, karena halaman kemudian dibaca melalui koneksi residensial di negara tersebut. Beberapa situs mengubah harga, bahasa, atau konten berdasarkan negara. ## robots.txt dan halaman yang ditolak ### Apakah WebReaderAPI mematuhi robots.txt? Selalu. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. [Halaman bot](https://webreaderapi.com/id/bot/) menampilkan user agent dan cara pemilik situs dapat mengizinkan atau menolaknya. ### Apa yang terjadi pada situs yang dilindungi Cloudflare atau filter bot lain? Jika situs mengizinkan crawler kami lewat, halaman dibaca seperti biasa. Jika situs menolak atau menjawab dengan halaman challenge, kami mengembalikan jawaban itu sebagai `target_refused` dan tidak menagih apa pun. Kami tidak pernah mencoba melewati challenge. ### Apakah WebReaderAPI dapat membaca halaman di balik login atau paywall? Tidak, tidak pernah, bahkan dengan kredensial yang Anda berikan. Konten yang memerlukan akun atau langganan berada di luar cakupan, dan memintanya melanggar [Acceptable Use Policy](https://webreaderapi.com/id/acceptable-use/). ### Apa itu sinyal ai-input=no? Sebuah baris yang ditambahkan sebagian situs ke robots.txt, dari Content Signals Policy, untuk menolak penggunaan halaman mereka sebagai input untuk jawaban AI. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda; API mengembalikan `blocked_by_site_policy`, tanpa biaya. ### Apakah membaca halaman web untuk AI legal? Itu tergantung pada konten, negaranya, dan apa yang Anda lakukan dengan teks tersebut. Mematuhi robots.txt serta menjauhi data pribadi dan paywall menurunkan risikonya. [Ikhtisar aturan kami](https://webreaderapi.com/id/guides/is-reading-web-pages-for-ai-legal/) merangkum poin-poin utamanya; ini bukan nasihat hukum. ## Akun, pembayaran, dan privasi ### Apakah saya perlu memverifikasi identitas? Tidak. WebReaderAPI tidak meminta ID, selfie, dokumen perusahaan, maupun kartu. Login dengan nomor akun; email opsional. [Halaman tanpa KYC](https://webreaderapi.com/id/no-kyc-web-reader-api/) menjelaskan apa yang tetap berlaku. ### Cryptocurrency apa saja yang dapat saya gunakan untuk membayar? BTC, USDT, USDC, ETH, SOL, LTC. USDT berlaku di TRC-20 atau ERC-20, USDC di ERC-20. Kirim jumlah persis yang ditampilkan, klik "I've sent the payment", dan top-up dikreditkan setelah dikonfirmasi. ### Bisakah saya mendapat refund? Bisa, ke saldo Anda. Pack yang terpakai kurang dari 20% dikembalikan dalam 72 jam setelah pembelian, dan pack yang tidak pernah berfungsi dikreditkan penuh. [Kebijakan refund](https://webreaderapi.com/id/refunds/) memuat aturan persisnya dan tiga contoh. ### Bagaimana cara kerja API key? Buat beberapa API key, misalnya satu per agent atau proyek, dan cabut salah satunya dari dashboard Anda. Kirim API key Anda di header Authorization sebagai Bearer token, atau di parameter kueri api_key. Satu key per aplikasi atau agen memudahkan pencabutan satu key tanpa menghentikan yang lain. ### Apa yang Anda log tentang permintaan saya? Nama host setiap halaman, tidak pernah URL lengkap atau isinya, plus waktu, status, dan kredit, selama 30 hari. Kami tidak menyimpan salinan halaman yang Anda baca. [Kebijakan privasi](https://webreaderapi.com/id/privacy/) memuat detailnya. ## Developer dan agen AI ### Apakah tersedia kode untuk Python dan Node.js? Ya. Panduan [Python](https://webreaderapi.com/id/docs/python/) dan [Node.js](https://webreaderapi.com/id/docs/node/) menunjukkan pembacaan tunggal, batch, crawl, dan retry, dan [quick start](https://webreaderapi.com/id/docs/) memuat contoh curl. Tidak perlu paket SDK: API ini HTTPS biasa dengan JSON. ### Bisakah Claude, Cursor, atau klien MCP lain menggunakan WebReaderAPI? Bisa, melalui MCP server kecil yang Anda jalankan sendiri, didokumentasikan di [halaman MCP](https://webreaderapi.com/id/docs/mcp/). Server ini menyediakan tool yang menerima URL dan mengembalikan halaman sebagai Markdown. ### Apakah ini berfungsi dengan LangChain dan LlamaIndex? Ya. [Halaman LangChain dan LlamaIndex](https://webreaderapi.com/id/docs/langchain/) menunjukkan document loader yang mengubah URL menjadi dokumen beserta metadata-nya, siap untuk chunking dan embedding. ### Berapa banyak halaman yang dapat saya baca secara bersamaan? Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. Crawl juga mengikuti `Crawl-delay` setiap situs, jadi crawl besar pada satu domain bisa memakan waktu lebih lama daripada yang diperkirakan dari jumlah halamannya. ### Siapa yang menjalankan WebReaderAPI? SerpGoat LLC. Lihat [halaman about](https://webreaderapi.com/id/about/) untuk cara kerja layanan dan cara menghubungi orang. Dukungan email menjawab dalam 12 jam, setiap hari sepanjang minggu, termasuk bantuan untuk crawl dan integrasi. ### Seberapa cepat satu pembacaan? Terutama tergantung pada situsnya dan apakah browser diperlukan. Kami tidak menerbitkan angka kecepatan sampai kami mengukurnya pada sampel publik; saat itu tersedia, angka tersebut akan muncul beserta metode dan tanggalnya di [halaman status](https://webreaderapi.com/id/status/). --- 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. --- # Glosarium web reader API > Glosarium 36 istilah untuk membaca halaman web dengan WebReaderAPI: Markdown, konten utama, rendering JavaScript, robots.txt, RAG, MCP, dan kredit. - URL: https://webreaderapi.com/id/glossary/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Kata-kata yang Anda temui saat mengubah halaman web menjadi teks untuk model bahasa, dari sisi HTML hingga sisi AI, dengan tautan ke tempat masing-masing istilah dibahas di dokumentasi. **Jawaban singkat — Apa arti istilah-istilah utama web reader API?** Web reader API mengambil halaman, mempertahankan **konten utama**-nya, dan mengembalikannya sebagai **Markdown** yang dapat dibaca model. **WebReaderAPI** menambahkan **rendering JavaScript** saat halaman memerlukan browser, mematuhi **robots.txt** dan **Content Signals**, dan menagih satu **kredit** per halaman, mulai dari US$0,07/1K halaman per Oktober 2026. 36 istilah di bawah menjelaskan sisanya. ## Dari sisi halaman web **HTML** — Bahasa markup untuk halaman web. HTML mentah mencampur teks yang Anda inginkan dengan tag, skrip, dan styling, sehingga kurang enak dibaca oleh model bahasa. **DOM** — Document Object Model: pohon elemen yang dibangun browser dari HTML lalu diubah dengan JavaScript. Halaman yang dirender dibaca dari DOM, bukan dari HTML mentah. **JavaScript rendering** — Menjalankan skrip halaman di browser agar konten yang dimuat setelah respons pertama muncul. WebReaderAPI melakukannya saat diperlukan (`render=auto`), dengan biaya dua kredit, bukan satu. **Browser headless** — Mesin browser sungguhan yang berjalan tanpa layar, dikendalikan oleh perangkat lunak. Beginilah halaman yang berat JavaScript dirender di server. **Mengekstrak konten utama** — Menemukan bagian halaman yang dicari pembaca, seperti artikel atau dokumentasi, dan meninggalkan semua yang ada di sekitarnya. Di API kami ini adalah `main_content=true`, yang default. **Readability** — Sekaligus kualitas teks dan nama keluarga algoritma terkenal yang menilai blok halaman untuk menemukan konten utama, seperti mode baca di browser. **Boilerplate** — Teks yang berulang di setiap halaman situs: menu, pemberitahuan cookie, sidebar, footer, tombol berbagi. Menghapusnya adalah sebagian besar pekerjaan sebuah web reader. **Markdown** — Format teks biasa di mana `#` menandai heading, `-` item daftar, dan `[text](url)` tautan. Model membacanya dengan baik dan jauh lebih hemat token daripada HTML. **Metadata** — Fakta tentang halaman, bukan teksnya: judul, deskripsi, penulis, tanggal terbit, bahasa. WebReaderAPI mengembalikannya di samping Markdown ketika halaman mencantumkannya. **Ekstraksi PDF** — Mengubah teks file PDF menjadi Markdown. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. **Sitemap** — File XML tempat sebuah situs mendaftar halaman-halamannya. Tugas crawl dimulai darinya jika ada, sehingga halaman ditemukan lebih cepat dan dengan lebih sedikit permintaan. **Paywall** — Penghalang yang hanya menampilkan konten kepada pelanggan. WebReaderAPI tidak pernah membaca di baliknya. ## Dari sisi crawler **Crawler** — Program yang mengambil halaman web untuk suatu tujuan. Milik kami hanya mengambil halaman yang diminta pelanggan, dan [halaman bot](https://webreaderapi.com/id/bot/) menjelaskannya. **User agent** — Nama yang dikirim klien pada setiap permintaan. Milik kami adalah `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, sehingga pemilik situs selalu tahu siapa yang meminta. **robots.txt** — File di root sebuah situs yang memberi tahu crawler jalur mana yang boleh mereka ambil, distandarkan sebagai RFC 9309. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. **Crawl-delay** — Baris robots.txt yang meminta crawler menunggu sejumlah detik di antara permintaan. Tugas crawl kami mematuhinya. **Content Signals** — Kebijakan untuk baris robots.txt seperti `Content-Signal: search=yes, ai-input=no`, yang menyatakan bagaimana konten sebuah situs boleh digunakan, termasuk oleh AI. **ai-input** — Pengaturan Content Signals yang mencakup penggunaan halaman sebagai input untuk jawaban AI. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. **llms.txt** — File Markdown yang diterbitkan sebagian situs di `/llms.txt` untuk memberi model bahasa panduan singkat tentang konten dan halaman utama mereka. **Crawl** — Membaca banyak halaman dari satu situs dengan mengikuti tautan dan sitemapnya. Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya. **Batch job** — Daftar URL yang dikirim dalam satu permintaan dan diproses di latar belakang. Hingga 100 URL per batch job. **HTTP 403** — Status yang dikirim server untuk menolak permintaan. Ketika sebuah situs menjawab 403 kepada crawler kami, API mengembalikan `target_refused` dan tidak mengenakan biaya apa pun. **HTTP 429** — Status untuk terlalu banyak permintaan. Dari sebuah situs, artinya memperlambat; dari API kami (`concurrency_limit`), artinya akun Anda telah mencapai batas pembacaan bersamaan. **Exponential backoff** — Menunggu lebih lama setelah setiap percobaan gagal (misalnya 1, 2, lalu 4 detik) sebelum mencoba lagi, agar server yang sibuk tidak dibanjiri. ## Dari sisi AI **Token** — Unit yang dibaca dan ditagih oleh model bahasa, kira-kira satu kata pendek atau sebagiannya. Markdown yang bersih menggunakan jauh lebih sedikit token daripada halaman yang sama dalam HTML. **Context window** — Jumlah teks yang dapat diterima model sekaligus. Parameter `max_chars` menjaga setiap halaman tetap dalam batas yang Anda tetapkan. **RAG** — Retrieval-augmented generation: model menjawab dari dokumen yang diambil untuk pertanyaan tersebut. Web reader memasok dokumen tersebut dari halaman live. **Chunking** — Memecah dokumen panjang menjadi bagian-bagian sebelum diindeks. Heading Markdown memberikan titik pemisah yang alami. **Embedding** — Daftar angka yang merepresentasikan makna suatu bagian, digunakan untuk menemukan bagian yang mirip dengan sebuah pertanyaan. **Vector store** — Database yang menyimpan embedding dan mengembalikan bagian terdekat dengan sebuah kueri, tempat biasa halaman web yang di-chunk dalam sistem RAG. **Tool calling** — Kemampuan model untuk meminta aplikasi menjalankan sebuah fungsi, seperti membaca URL, dan menggunakan hasilnya. Lihat [OpenAI function calling](https://webreaderapi.com/id/docs/openai/). **MCP** — Model Context Protocol, cara standar untuk memasang tool ke klien AI seperti Claude Desktop atau Cursor. [Halaman MCP](https://webreaderapi.com/id/docs/mcp/) kami menunjukkan fetch tool yang dibangun di atas API. ## Dari sisi penagihan **Kredit** — Unit penggunaan API. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. **Concurrency** — Berapa banyak pembacaan yang dapat dijalankan akun Anda pada saat yang sama. Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. **KYC** — Know your customer: pemeriksaan identitas yang diwajibkan sebagian layanan, seperti dokumen identitas atau selfie. WebReaderAPI tidak meminta apa pun. **Stablecoin** — Cryptocurrency yang mengikuti mata uang seperti dolar AS. USDT dan USDC adalah dua yang diterima untuk top-up; daftar lengkap koin ada di BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Cara mengubah halaman web menjadi Markdown untuk LLM > Cara mengubah halaman web menjadi Markdown untuk LLM pada 2026: tiga metode, cara membatasi token, dan kode Python yang mem-chunk-nya. - URL: https://webreaderapi.com/id/guides/convert-web-page-to-markdown/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Copy dan paste berfungsi untuk satu halaman. Library berfungsi jika Anda menjalankan crawler sendiri. API berfungsi saat Anda ingin satu permintaan per halaman. Berikut cara memilih, seperti apa output yang baik, dan kode yang dapat Anda gunakan kembali. **Jawaban singkat — Bagaimana cara mengubah halaman web menjadi Markdown untuk LLM?** Ambil halaman, pertahankan hanya konten utamanya, lalu ubah heading, daftar, tabel, dan tautan menjadi Markdown dan batasi panjangnya sesuai batas model Anda. Anda dapat melakukannya secara manual, dengan library open-source, atau dengan satu panggilan API: **WebReaderAPI** mengembalikan Markdown dan metadata untuk satu kredit per halaman, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Tiga cara mendapatkan Markdown dari halaman web | Atribut | Nilai | | --- | --- | | Secara manual | Copy teks dari browser atau reader view-nya; cukup untuk beberapa halaman | | Library open-source | Readability, Trafilatura, MarkItDown atau Crawl4AI di dalam fetcher Anda sendiri | | Web reader API | `GET https://webreaderapi.com/api/v1/read?url=…` mengembalikan Markdown, judul, penulis, dan tanggal | | Kontrol panjang | `max_chars` pada WebReaderAPI, atau potong teksnya sendiri setelah konversi | | Halaman JavaScript | Perlu browser headless; WebReaderAPI merendernya saat diperlukan, dengan 2 kredit | ## Metode mana yang harus saya pakai? Pilih berdasarkan volume dan seberapa besar infrastruktur yang ingin Anda jalankan. | Metode | Cocok untuk | Yang Anda tangani | |---|---|---| | Salin dan tempel | Beberapa halaman, prompt sekali pakai | Membersihkan secara manual | | Library di kode Anda | Volume tetap, kontrol penuh | Fetching, browser, robots.txt, PDF, retry | | Web reader API | Agen dan pipeline yang membaca banyak situs | Hanya request dan hasilnya | Library memberi Anda kontrol tanpa biaya per halaman. Biayanya bersifat operasional: browser headless untuk halaman JavaScript, pengecekan robots.txt, penanganan character set dan redirect, serta jalur terpisah untuk PDF. API melipat semua itu menjadi satu panggilan HTTP. ## Apa yang harus dipertahankan Markdown yang baik, dan apa yang harus dibuang? Markdown yang baik mempertahankan setiap elemen yang membawa makna dan membuang semua yang hanya ada untuk tata letak atau pemasaran. - **Pertahankan heading** sebagai `#`, `##`, dan `###`: heading memberi tahu model, dan chunker Anda, di mana setiap topik dimulai. - **Pertahankan list dan tabel** sebagai list Markdown dan pipe table, agar langkah dan angka tetap terbaca. - **Pertahankan link** sebagai `[text](url)`: link memungkinkan asisten mengutip dan mengikuti sumbernya. - **Pertahankan code block** dengan fence, beserta bahasanya jika halaman menampilkannya. - **Buang menu, notifikasi cookie, iklan, widget related-post, dan footer**: semuanya berulang di setiap halaman dan mengotori retrieval. Periksa hasilnya pada beberapa halaman asli Anda. Alat ekstraksi paling sering berbeda pendapat pada forum, tabel panjang, dan halaman dengan beberapa artikel. ## Seberapa lebih kecil Markdown dibandingkan HTML? Biasanya jauh lebih kecil, karena perabot halaman dan markup hilang. Saat Cloudflare meluncurkan fitur Markdown for Agents pada 12 Februari 2026, halaman contohnya turun dari 16.180 token sebagai HTML menjadi 3.150 token sebagai Markdown, sekitar 80% lebih sedikit. Rasio Anda sendiri bergantung pada situsnya. Artikel panjang menyusut lebih sedikit, secara persentase, dibandingkan halaman pendek yang dibungkus template berat. Ukur pada sumber Anda sebelum menentukan anggaran. ## Bagaimana cara menjaga halaman tetap dalam anggaran token model saya? Batasi teks sebelum mencapai model, lalu bagi sisanya berdasarkan heading. Dengan WebReaderAPI, parameter `max_chars` memotong Markdown pada panjang tertentu, antara 1.000 dan 500.000 karakter. Field `word_count` memberi tahu Anda seberapa panjang artikel lengkapnya, sehingga agen dapat memutuskan apakah membaca sisanya sepadan. Untuk retrieval, bagi berdasarkan heading terlebih dahulu, baru potong bagian yang panjang. Chunk yang dimulai dengan heading-nya sendiri mempertahankan topiknya; chunk yang dipotong di tengah kalimat dari halaman panjang tidak. *Python: baca halaman sebagai Markdown dan bagi menjadi chunk berbasis heading* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def page_to_chunks(url, max_chars=60000, chunk_len=1500): params = {"url": url, "format": "markdown", "max_chars": max_chars} resp = requests.get(API, headers=HEADERS, params=params, timeout=90) data = resp.json() if resp.status_code != 200: print("not read:", data["error"]["code"]) return [] chunks = [] for section in re.split(r"\n(?=#{1,3} )", data["markdown"]): section = section.strip() while section: chunks.append(section[:chunk_len]) section = section[chunk_len:] return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks] if __name__ == "__main__": for chunk in page_to_chunks("https://example.com/guides/compost")[:3]: print(chunk["title"], "|", chunk["text"][:80]) ``` ## Apa yang biasanya salah, dan bagaimana cara mengenalinya? Empat masalah menyebabkan sebagian besar konversi yang buruk: - **Output kosong.** Halaman membangun kontennya dengan JavaScript. Cari `word_count` yang rendah; render halaman di browser, atau set `render=true`. - **Teks cookie atau consent di hasil.** Ekstraktor mempertahankan banner. Utamakan ekstraksi konten utama dan periksa baris pertama setiap hasil. - **Tabel hilang.** Sebagian situs menggambar tabel sebagai gambar atau elemen canvas; tidak ada ekstraktor teks yang bisa membacanya. - **Penolakan, bukan halaman.** Situs melarang robots di robots.txt atau menolak request. Hormati itu: minta akses ke pemiliknya, atau gunakan API resmi atau feed jika situs menyediakannya. Tidak satu pun dari ini diperbaiki dengan retry lebih cepat. Baca error-nya, lalu ubah metode atau sumbernya. ## Halaman web ke Markdown: pertanyaan umum ### Apakah Markdown lebih baik daripada plain text untuk LLM? Untuk sebagian besar halaman, ya. Markdown mempertahankan heading, list, tabel, dan link dengan biaya token yang kecil, sehingga model dapat melihat struktur dan mengutip sumber. Plain text sedikit lebih pendek tetapi kehilangan struktur itu. ### Bisakah saya mengonversi seluruh situs web, bukan hanya satu halaman? Bisa. Crawl situsnya dan konversi setiap halaman. [Crawl API](https://webreaderapi.com/id/crawl-api/) milik WebReaderAPI melakukan keduanya dalam satu job: Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya. ### Bisakah saya mengonversi PDF dengan cara yang sama? Bisa, dengan mengirim URL PDF ke endpoint yang sama. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. ### Bagaimana dengan halaman di balik login? Jangan konversi halaman itu melalui layanan pihak ketiga kecuali halaman itu milik Anda sendiri dan Anda telah mengekspornya sendiri. WebReaderAPI hanya membaca halaman publik dan tidak pernah login ke akun. ### Apakah ada cara gratis untuk melakukan ini? Library open-source gratis digunakan dan berjalan di mesin Anda sendiri. WebReaderAPI tidak memiliki tier gratis; paket terkecilnya 10.000 halaman untuk US$3,75, dibayar dengan kripto tanpa KYC. ## Sumber 1. [Memperkenalkan Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) --- 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. --- # Apakah legal membaca halaman web untuk AI? Fakta bertanggal pada 2026 > Apakah legal membaca halaman web untuk agen AI dan RAG pada 2026? Aturan opt-out UE, kode GPAI soal robots.txt, dan kasus AS yang berjalan. Bukan nasihat hukum. - URL: https://webreaderapi.com/id/guides/is-reading-web-pages-for-ai-legal/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Tidak ada satu jawaban, dan beberapa kasus masih terbuka. Halaman ini mencantumkan aturan dan peristiwa pengadilan yang penting untuk membaca halaman publik dengan alat AI, beserta tanggal dan sumbernya, serta apa yang kami lakukan di sisi kami. Ini bukan nasihat hukum. **Jawaban singkat — Apakah legal membaca halaman web dengan alat AI?** Membaca halaman publik adalah praktik yang luas, tetapi aturannya bergantung pada negara, konten, dan cara aksesnya. Di UE, opt-out yang dapat dibaca mesin seperti robots.txt membatasi text and data mining. Di AS, beberapa kasus 2025–2026 tentang AI dan akses otomatis masih berjalan, tanpa putusan final. **WebReaderAPI** menghormati robots.txt dan opt-out AI; tanpa KYC, kripto. Bukan nasihat hukum. ## Tanggal penting | Atribut | Nilai | | --- | --- | | 17 April 2019 | EU DSM Directive, pasal 4(3): text and data mining komersial dapat direservasi dengan cara yang dapat dibaca mesin | | 10 Juli 2025 | EU GPAI Code of Practice: penandatangan berkomitmen pada crawler yang membaca dan mematuhi robots.txt | | 5 Desember 2025 | The New York Times menggugat Perplexity atas pengambilan kontennya (dugaan) | | 31 Juli 2026 | Reddit v. SerpApi dan Perplexity: klaim DMCA §1201(a) bertahan dari mosi pembatalan (dugaan) | | Dilaporkan 5 Agustus 2026 | Ninth Circuit membatalkan injunksi Amazon terhadap agen Comet milik Perplexity | ## Apa kata hukum EU tentang membaca konten web? Hukum EU mengizinkan text and data mining atas konten yang dapat diakses secara sah, tetapi memberi pemegang hak opsi untuk mencadangkannya. Pasal 4(3) DSM Directive (2019/790) menyatakan pengecualian komersial hanya berlaku jika penggunaan belum secara tegas dicadangkan "dengan cara yang layak, seperti sarana yang dapat dibaca mesin" untuk konten yang dipublikasikan online. Code of Practice untuk model AI general-purpose dari EU AI Act, yang dipublikasikan pada 10 Juli 2025, melangkah lebih jauh bagi para penandatangannya. Mereka berkomitmen pada crawler yang membaca dan mematuhi robots.txt, serta protokol lain yang dapat dibaca mesin yang layak. Itulah sebabnya mematuhi robots.txt dan preferensi AI yang dinyatakan telah menjadi baseline untuk penggunaan di Eropa. ## Kasus AS mana yang penting, dan bagaimana statusnya? Belum ada yang menghasilkan putusan final tentang membaca halaman publik untuk AI. Fakta sejauh ini, semuanya dugaan kecuali telah diputuskan pengadilan: - **Reddit v. SerpApi, Perplexity dan lainnya (S.D.N.Y.).** Pada 31 Juli 2026 pengadilan membiarkan klaim berdasarkan DMCA §1201(a) berlanjut pada tahap pleading, dengan memperlakukan proteksi berbasis tantangan milik Google sebagai langkah yang mengontrol akses. Tidak ada tergugat yang dinyatakan bertanggung jawab. - **The New York Times v. Perplexity.** Diajukan pada 5 Desember 2025. The Times menduga pengambilan kontennya pada saat kueri setelah memblokir Perplexity di robots.txt. - **Amazon v. Perplexity.** Sebagaimana dilaporkan pada 5 Agustus 2026, Ninth Circuit membatalkan injunksi terhadap agen belanja Comet milik Perplexity, dengan mencatat bahwa asisten tersebut bertindak atas instruksi penggunanya. Panel menyatakan tidak menetapkan aturan luas untuk AI agentic. Arahnya beragam, dan banding masih berlanjut. Anggap ringkasan apa pun, termasuk ini, sudah usang. ## Apa yang menurunkan risiko saat alat AI membaca halaman? Beberapa praktik muncul di setiap aturan dan kasus di atas: - **Baca hanya halaman publik.** Tanpa login, tanpa area anggota, tanpa paywall. - **Patuhi opt-out yang dapat dibaca mesin.** robots.txt dan preferensi AI yang dinyatakan, seperti `ai-input=no`. - **Jangan pernah mengakali proteksi.** Tanpa user agent menyamar, tanpa rotasi alamat untuk lolos dari blokir, tanpa pemecahan tantangan. - **Hindari data pribadi.** Jangan mengumpulkan profil, detail kontak, atau data lain tentang orang privat. - **Cantumkan sumber Anda.** Simpan URL pada setiap halaman dan tampilkan saat jawaban bergantung padanya. Ini praktik baik, bukan jaminan. Tanyakan kepada pengacara tentang kasus penggunaan Anda sendiri. ## Apa yang dilakukan WebReaderAPI di sisinya? Kami membangun layanan ini berdasarkan praktik-praktik tersebut. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. [Acceptable Use Policy](https://webreaderapi.com/id/acceptable-use/) kami melarang pengumpulan data pribadi tentang orang privat dan membaca konten di balik login atau paywall. Setiap permintaan mengidentifikasi dirinya sebagai `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, dan [halaman crawler](https://webreaderapi.com/id/bot/) kami memberi tahu pemilik situs cara menghubungi kami. ## Pertanyaan hukum ### Apakah mematuhi robots.txt membuat penggunaan saya legal? Tidak dengan sendirinya. Itu menjawab pertanyaan opt-out EU dan menunjukkan itikad baik, tetapi hak cipta, kontrak, hukum privasi, dan ketentuan setiap situs tetap berlaku. Ini bukan nasihat hukum. ### Bisakah saya menyimpan halaman yang saya baca? Itu bergantung pada konten, tujuan, dan yurisdiksi Anda. WebReaderAPI tidak menyimpan salinan halaman yang dibacanya untuk Anda; apa yang Anda simpan di sisi Anda adalah keputusan dan tanggung jawab Anda. ### Apakah membaca halaman untuk satu pengguna berbeda dari crawl situs? Beberapa vendor dan satu panel banding memperlakukan agen yang diarahkan pengguna secara berbeda dari crawler. Hukumnya belum pasti, jadi WebReaderAPI menerapkan aturan robots.txt yang sama untuk keduanya. ### Di mana saya bisa membaca lebih lanjut? [Panduan robots.txt](https://webreaderapi.com/id/guides/robots-txt-for-ai-agents/) kami membahas standarnya, dan sumber di bawah ini menautkan ke teks dan laporan. Untuk situasi Anda sendiri, tanyakan kepada pengacara di yurisdiksi Anda. ## Sumber 1. [Directive (EU) 2019/790, pasal 4](https://www.legislation.gov.uk/eudr/2019/790/article/4) — legislation.gov.uk (read 2026-10-22) 2. [AI Office menerbitkan versi final Code of Practice untuk model AI general-purpose](https://www.globalpolicywatch.com/2025/07/ai-office-publishes-final-version-of-the-code-of-practice-for-general-purpose-ai-models/) — Global Policy Watch (2025-07) 3. [Reddit v. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 4. [NYT menggugat mesin pencari AI Perplexity](https://the-decoder.com/nyt-sues-ai-search-engine-perplexity-for-alleged-content-misuse/) — The Decoder (read 2026-10-22) 5. [Pengadilan AS membatalkan injunksi Amazon terhadap Perplexity](https://www.retail-insight-network.com/news/us-court-overturns-amazon-injunction-perplexity/) — Retail Insight Network (2026-08-05) --- 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. --- # llms.txt generator: buat file dari crawl situs Anda sendiri > Buat file llms.txt untuk situs web Anda sendiri dari crawl: skrip Python yang membaca tiap halaman sebagai Markdown dan mencantumkannya. Data 2026. - URL: https://webreaderapi.com/id/guides/llms-txt-generator/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) File llms.txt mencantumkan halaman-halaman utama sebuah situs, dengan satu baris untuk masing-masing, dalam Markdown yang mudah dibaca model. Panduan ini menyajikan angka adopsi yang jujur, lalu skrip yang crawl situs Anda dan menulis file untuk Anda. **Jawaban singkat — Bagaimana cara membuat file llms.txt untuk situs web saya?** Crawl situs Anda sendiri, ambil judul dan paragraf pertama setiap halaman, lalu tulis sebagai daftar Markdown di bawah nama situs Anda dalam file di `/llms.txt`. **WebReaderAPI** melakukan crawl: hingga 10.000 halaman per job, sebagai Markdown dengan metadata, seharga satu kredit per halaman dari US$0,07/1K halaman per Oktober 2026. Skrip Python di bawah menulis file tersebut. Tanpa KYC; bayar dengan kripto. ## llms.txt secara singkat | Atribut | Nilai | | --- | --- | | Apa itu | File Markdown yang diusulkan di root situs yang mencantumkan halaman-halaman utamanya untuk model bahasa | | Adopsi, 1.000 situs teratas | 9,3% (93 situs) pada 18 September 2026, menurut Rankability | | Situs dengan file | Dari 4,088 menjadi 36,120 antara Juni 2025 dan Mei 2026, menurut Originality.ai | | Penggunaan terukur | 97% file llms.txt tidak mendapat permintaan sama sekali dalam studi Ahrefs terhadap 137,000 domain | | Biaya membangun dengan WebReaderAPI | Satu kredit per halaman yang di-crawl; 10.000 halaman berbiaya US$3,75 | ## Apakah llms.txt layak dibuat? Membuatnya murah, dan efek terukurnya sejauh ini kecil. Adopsinya naik: Rankability menemukan file ini di 9,3% dari 1.000 situs teratas pada 18 September 2026, dibandingkan 0,3% pada Juni 2025, meskipun metodenya berubah antara kedua penghitungan. Originality.ai menghitung situs dengan file ini tumbuh dari 4,088 menjadi 36,120 antara Juni 2025 dan Mei 2026. Penggunaannya lain soal. Studi Ahrefs terhadap 137,000 domain, yang dilaporkan PPC Land pada 2 Juli 2026, menemukan bahwa 97% file llms.txt tidak menerima permintaan sama sekali, dan bahwa bot retrieval AI hanya membuat 1,1% dari permintaan yang diterima file tersebut. Buatlah jika dokumentasi Anda besar dan Anda ingin indeks yang rapi; jangan berharap file ini sendiri mengubah cara asisten mengutip Anda. ## Apa saja isi file llms.txt? Sebuah judul, ringkasan satu paragraf, lalu daftar tautan yang dikelompokkan dengan deskripsi singkat masing-masing. File minimal tampak seperti ini: - `# Example Docs` pada baris pertama, nama situs atau proyek. - `> One sentence on what the site covers.` sebagai ringkasan dalam tanda kutip. - `## Guides`, `## API reference` dan bagian lain, satu per bagian situs. - `- [Page title](https://example.com/page): one line on what the page answers.` untuk setiap halaman. Jaga deskripsi tetap faktual dan singkat. Jangan menulis instruksi ke sistem AI di dalam file; asisten semakin menganggap teks semacam itu sebagai manipulasi. *Python: crawl situs Anda sendiri dan tulis llms.txt* ```python import os import time from collections import defaultdict from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://docs.example.com/" def first_paragraph(markdown): for block in markdown.split("\n\n"): block = block.strip() if block and not block.startswith(("#", "-", "|", "!", ">")): return " ".join(block.split())[:160] return "" job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json() pages, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() pages += [p for p in batch.get("results", []) if "markdown" in p] cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) sections = defaultdict(list) for p in pages: path = urlparse(p["final_url"]).path.strip("/") section = path.split("/")[0].replace("-", " ").title() if path else "Home" summary = p.get("description") or first_paragraph(p["markdown"]) sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary) lines = ["# Example Docs", "", "> Documentation for the Example product.", ""] for name in sorted(sections): lines += ["## " + name, ""] + sorted(sections[name]) + [""] with open("llms.txt", "w", encoding="utf-8") as fh: fh.write("\n".join(lines)) print(len(pages), "pages written to llms.txt") ``` ## Bagaimana cara kerja skripnya? Skrip memulai satu crawl job, mengumpulkan hasil halaman demi halaman, lalu mengelompokkan halaman berdasarkan folder pertama pada path-nya. Untuk setiap halaman, ia memakai meta description bila situs menyediakannya, dan jika tidak, paragraf pertama Markdown, dipotong menjadi 160 karakter. Ubah `SITE`, baris judul dan baris ringkasan agar sesuai dengan proyek Anda, dan naikkan `limit` untuk situs yang lebih besar, hingga 10,000 halaman per job. Tinjau hasilnya sebelum Anda mempublikasikan: nama bagian berasal dari struktur URL Anda dan mungkin perlu sentuhan manusia. ## Apakah robots.txt saya harus mengizinkan crawl? Ya. WebReaderAPI hanya membaca apa yang diizinkan robots.txt untuk `WebReaderAPI` atau untuk semua robot, dan ia menunggu `Crawl-delay` yang Anda tetapkan. Jika situs Anda sendiri memblokir robot, tambahkan grup yang mengizinkan token kami selama crawl; [halaman crawler kami](https://webreaderapi.com/id/bot/) menunjukkan baris persisnya. Halaman yang dilarang robots.txt dilewati dan tidak dikenai biaya, jadi file yang ketat tidak menambah biaya apa pun; itu hanya mengeluarkan halaman tersebut dari llms.txt. ## Berapa biayanya? Satu kredit per halaman yang dibaca, dua untuk halaman yang membutuhkan browser. Situs dokumentasi dengan 300 halaman berbiaya 300 kredit, atau hingga 600 jika itu aplikasi JavaScript. Itu mudah masuk ke 10.000 halaman seharga US$3,75, per Oktober 2026, dan sisa kredit tetap di akun Anda: kredit tidak pernah kedaluwarsa. Bangun ulang file saat dokumentasi Anda berubah. Jika Anda menyimpan output crawl, Anda dapat membaca ulang hanya halaman yang berubah dengan batch job alih-alih crawl semuanya lagi. ## llms.txt: pertanyaan umum ### Di mana saya meletakkan file llms.txt? Di root situs Anda, sehingga disajikan di `/llms.txt`, sebagai teks biasa atau Markdown. Beberapa situs juga menerbitkan `llms-full.txt` berisi teks lengkap halaman yang terdaftar. ### Apakah llms.txt menggantikan robots.txt? Tidak. robots.txt menyatakan path mana yang harus dilewati robot; llms.txt mendaftar halaman yang Anda ingin model temukan. Pertahankan keduanya. [Panduan robots.txt kami](https://webreaderapi.com/id/guides/robots-txt-for-ai-agents/) menjelaskan perbedaannya. ### Apakah llms.txt membuat ChatGPT atau Claude mengutip situs saya? Tidak ada bukti bahwa file itu sendiri melakukannya. Studi Ahrefs yang dilaporkan pada Juli 2026 menemukan 97% file tidak menerima permintaan sama sekali. Halaman yang jelas dengan jawaban langsung dan fakta bertanggal lebih penting. ### Bisakah saya membuat llms.txt untuk situs orang lain? Hanya untuk situs Anda sendiri atau dengan persetujuan pemiliknya. File ini mewakili situs, jadi pemilik situslah yang berhak menerbitkannya. ## Sumber 1. [Data adopsi llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 2. [Adopsi llms.txt naik 8,8x tetapi 97% file tidak mendapat permintaan AI sama sekali](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- 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. --- # robots.txt untuk AI agent dan fetcher: apa yang berlaku pada 2026 > robots.txt untuk AI agent pada 2026: crawler vs fetcher yang dipicu pengguna, apa kata OpenAI, Anthropic, Google dan Perplexity, Content Signals, aipref dan RSL - URL: https://webreaderapi.com/id/guides/robots-txt-for-ai-agents/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) robots.txt ditulis untuk crawler, lalu muncul AI agent yang mengambil halaman karena ada orang yang memintanya. Vendor sekarang menarik garis itu secara berbeda. Panduan ini menjabarkan standarnya, kebijakan yang dinyatakan tiap vendor, sinyal yang lebih baru, dan bagaimana crawler kami sendiri berperilaku. **Jawaban singkat — Apakah AI agent wajib mengikuti robots.txt?** Tergantung vendornya. robots.txt adalah standar sukarela (RFC 9309, September 2022). Crawler yang membangun indeks umumnya mengikutinya; untuk pengambilan yang dipicu pengguna, OpenAI menyatakan aturannya mungkin tidak berlaku, Google dan Perplexity menyatakan fetcher mereka umumnya mengabaikannya, dan Anthropic menyatakan bot mereka mematuhinya. **WebReaderAPI** mengikuti robots.txt pada setiap pembacaan, tanpa KYC dan bayar dengan kripto. ## robots.txt dan AI pada Oktober 2026 | Atribut | Nilai | | --- | --- | | Standar | RFC 9309, Robots Exclusion Protocol, September 2022 | | OpenAI ChatGPT-User | Aturan robots.txt "mungkin tidak berlaku" untuk tindakan yang dipicu pengguna | | Anthropic (termasuk Claude-User) | Menyatakan bot-nya mematuhi direktif robots.txt, termasuk Crawl-delay | | Fetcher yang dipicu pengguna Google | "Umumnya mengabaikan aturan robots.txt" (halaman diperbarui 2026-08-19) | | Perplexity-User | "Umumnya mengabaikan aturan robots.txt" | | Content Signals | Kebijakan Cloudflare 24 September 2025: `search`, `ai-input`, `ai-train` | | Preferensi AI IETF | Draf working group, belum menjadi RFC | | WebReaderAPI | Mematuhi robots.txt dan `ai-input=no` pada setiap pembacaan; token `WebReaderAPI` | ## Apa fungsi robots.txt sebenarnya? File ini memberi tahu klien otomatis jalur mana yang sebaiknya dilewati situs. File berada di root sebuah host, mengelompokkan aturan berdasarkan token user-agent, dan memakai baris `Allow` serta `Disallow`. RFC 9309, yang terbit pada September 2022, menjadikan konvensi lama ini sebuah standar. RFC menegaskan bahwa file ini tidak mengunci apa pun: "These rules are not a form of access authorization." Kepatuhan bersifat sukarela. Karena itu kebijakan yang dinyatakan tiap vendor penting, dan karena itu pula situs yang menginginkan batas tegas juga memakai firewall dan bot management. ## Mengapa crawler dan fetcher yang dipicu pengguna berbeda? Crawler memutuskan sendiri halaman mana yang dikunjungi; fetcher yang dipicu pengguna mengunjungi satu halaman karena ada orang yang memintanya. Banyak vendor memperlakukan kasus kedua seperti browser yang bertindak untuk penggunanya, dan menyatakan robots.txt tidak sepenuhnya berlaku. | Fetcher | Kebijakan yang dinyatakan (dibaca 2026-10-22) | |---|---| | OpenAI ChatGPT-User | Aturan robots.txt "may not apply" untuk tindakan yang diprakarsai pengguna; situs diarahkan ke OAI-SearchBot untuk opt-out pencarian | | Anthropic Claude-User | Anthropic menyatakan bot-nya mematuhi direktif robots.txt; memblokir Claude-User menghentikan pengambilan untuk kueri pengguna | | Fetcher yang dipicu pengguna Google | "Generally ignore robots.txt rules" karena pengguna meminta pengambilan | | Perplexity-User | "Generally ignores robots.txt rules" dengan alasan yang sama | | Server fetch referensi MCP | Mematuhi robots.txt untuk pengambilan yang diprakarsai model secara default, bukan untuk yang diprakarsai pengguna | Pembagian ini nyata dan terdokumentasi. Jika Anda membangun agent, tentukan di sisi mana Anda berada dan nyatakan itu di user agent serta dokumentasi Anda. ## Apa itu Content Signals, aipref, dan RSL? Itu cara-cara yang lebih baru untuk menyatakan apa yang boleh dilakukan sistem AI terhadap konten, bukan sekadar apakah sebuah robot boleh mengambilnya. - **Content Signals.** Cloudflare menerbitkan kebijakan ini pada 24 September 2025. Sebuah robots.txt dapat menyatakan `search`, `ai-input` (dipakai sebagai input untuk jawaban AI, seperti grounding) dan `ai-train`. robots.txt terkelola Cloudflare menyajikan `search=yes, ai-train=no` secara default. - **Preferensi AI IETF (aipref).** Draf kosakata dan attachment working group ini masih berstatus Internet-Draft pada Oktober 2026, ditujukan sebagai Proposed Standard. - **Web Bot Auth.** Cara bagi bot untuk menandatangani request-nya; working group IETF mengadopsi draf protokolnya pada 1 September 2026. - **RSL (Really Simple Licensing).** Situsnya menyatakan spesifikasi RSL 1.0 sudah tersedia; RSL memungkinkan penerbit menyatakan syarat lisensi, termasuk pay-per-crawl, melalui robots.txt, header, atau RSS. ## Apakah llms.txt sama dengan robots.txt? Tidak. robots.txt menyatakan apa yang tidak boleh diambil; llms.txt adalah file yang diusulkan untuk mencantumkan halaman-halaman utama sebuah situs bagi model bahasa. Adopsinya tumbuh tetapi pemakaian terukur masih rendah. Rankability menghitung llms.txt pada 9,3% dari 1.000 situs teratas pada 18 September 2026. Studi Ahrefs terhadap 137.000 domain, yang dilaporkan PPC Land pada 2 Juli 2026, menemukan bahwa 97% file llms.txt tidak menerima request sama sekali. [Panduan llms.txt](https://webreaderapi.com/id/guides/llms-txt-generator/) kami menunjukkan cara membuatnya dari crawl situs Anda sendiri, jika Anda tetap menginginkannya. ## Bagaimana WebReaderAPI memperlakukan robots.txt? WebReaderAPI mematuhinya pada setiap pembacaan, termasuk pembacaan yang dipicu pelanggan. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Untuk job crawl, WebReaderAPI juga menunggu `Crawl-delay` yang ditetapkan situs. Setiap request membawa User-Agent yang sama, `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, sehingga pemilik situs dapat melihat kami di log mereka dan menulis aturan untuk kami. [Halaman crawler](https://webreaderapi.com/id/bot/) kami memberikan detailnya dan kontak untuk masalah. *Contoh robots.txt untuk WebReaderAPI* ```text # Block WebReaderAPI from the whole site User-agent: WebReaderAPI Disallow: / # Or: allow it, but keep it out of one folder and slow it down User-agent: WebReaderAPI Disallow: /account/ Crawl-delay: 5 # Or: allow reading for search, but not as AI input (Content Signals) User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## robots.txt untuk AI: pertanyaan umum ### Apakah memblokir GPTBot menghentikan ChatGPT membaca halaman saya untuk seorang pengguna? Belum tentu. OpenAI mendokumentasikan token terpisah: GPTBot untuk training, OAI-SearchBot untuk pencarian, dan ChatGPT-User untuk tindakan pengguna, serta menyatakan aturan robots.txt mungkin tidak berlaku untuk tindakan yang diprakarsai pengguna. Periksa dokumentasi terkini tiap vendor. ### Apakah robots.txt mengikat secara hukum? Tidak dengan sendirinya; RFC 9309 menyatakan file ini bukan otorisasi akses. Di UE, opt-out yang dapat dibaca mesin penting untuk text and data mining di bawah DSM Directive. Lihat [ringkasan hukum](https://webreaderapi.com/id/guides/is-reading-web-pages-for-ai-legal/) kami; ini bukan nasihat hukum. ### Bagaimana cara memblokir WebReaderAPI? Tambahkan grup `User-agent: WebReaderAPI` dengan `Disallow: /` ke robots.txt Anda. Pembacaan kami memeriksanya sebelum setiap halaman; halaman yang dilarang tidak pernah dibaca. ### Apakah WebReaderAPI membaca halaman yang menyatakan ai-input=no? Tidak. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. API mengembalikan `403 blocked_by_site_policy` kepada pelanggan, tanpa biaya. ## Sumber 1. [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html) — RFC Editor (September 2022) 2. [Ringkasan crawler OpenAI](https://developers.openai.com/api/docs/bots) — OpenAI (read 2026-10-22) 3. [Apakah Anthropic meng-crawl data dari web, dan bagaimana pemilik situs memblokir crawler tersebut?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic (2026-04-07) 4. [Fetcher yang dipicu pengguna Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) — Google (updated 2026-08-19) 5. [Crawler Perplexity](https://docs.perplexity.ai/guides/bots) — Perplexity (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. [Content Signals Policy](https://blog.cloudflare.com/content-signals-policy/) — Cloudflare (2025-09-24) 8. [Dokumen working group AI Preferences](https://datatracker.ietf.org/wg/aipref/documents/) — IETF (read 2026-10-22) 9. [Dokumen working group Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/documents/) — IETF (read 2026-10-22) 10. [Really Simple Licensing](https://rslstandard.org/) — rslstandard.org (read 2026-10-22) 11. [Data adopsi llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 12. [Adopsi llms.txt naik 8,8x tetapi 97% file tidak mendapat permintaan AI sama sekali](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- 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. --- # 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. --- # Apa itu web reader API? URL masuk, Markdown yang bisa dibaca keluar > Apa yang dilakukan web reader API: URL masuk, konten utama halaman keluar sebagai Markdown bersih untuk LLM. Bedanya dengan web scraping dan SERP API. - URL: https://webreaderapi.com/id/guides/what-is-a-web-reader-api/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Web reader API mengubah halaman yang ditujukan untuk mata manusia menjadi teks yang bisa dipakai model. Panduan ini menjelaskan langkah demi langkah apa yang dilakukannya, posisinya di samping web scraping dan SERP API, dan bagaimana pasar menetapkan harganya. **Jawaban singkat — Apa itu web reader API?** Web reader API adalah layanan yang menerima URL, memuat halaman, dan mengembalikan konten utamanya sebagai teks bersih, biasanya Markdown, dengan metadata seperti judul, penulis, dan tanggal. AI agent dan pipeline RAG memakainya sebagai ganti HTML mentah. **WebReaderAPI** adalah salah satunya: satu kredit per halaman, mulai US$0,07/1K halaman per Oktober 2026, dengan robots.txt dihormati, tanpa KYC, dan bayar dengan kripto. ## Web reader API dalam satu tabel | Atribut | Nilai | | --- | --- | | Input | URL halaman web publik atau PDF | | Output | Markdown konten utama, atau teks biasa, dengan judul, penulis, tanggal, dan bahasa | | Dihapus | Navigasi, banner cookie, iklan, sidebar, footer, script, dan style | | Halaman JavaScript | Dirender di browser headless saat HTML mentah berisi terlalu sedikit teks | | Penagihan umum | Per halaman atau per kredit; sebagian penyedia menagih per token output | | Contoh request | `GET https://webreaderapi.com/api/v1/read?url=https://example.com/post` | ## Apa yang dilakukan web reader API, langkah demi langkah? Ada lima pekerjaan yang dibutuhkan setiap pipeline page-to-text, dalam satu panggilan: 1. **Periksa izin.** Reader yang cermat melihat robots.txt situs untuk namanya sendiri dan untuk semua robot sebelum mengambil apa pun. 2. **Ambil halaman.** Ia mengunduh HTML, mengikuti redirect, dan berhenti saat timeout. 3. **Render bila perlu.** Jika HTML hanya kerangka kosong yang diisi JavaScript, ia memuat halaman di browser headless dan membaca hasilnya. 4. **Ekstrak konten utama.** Langkah bergaya readability menemukan artikel atau isi dokumentasi dan membuang elemen di sekitarnya. 5. **Konversi dan deskripsikan.** Ia menulis konten sebagai Markdown dan menambahkan metadata: judul, penulis, tanggal publikasi, bahasa, dan jumlah kata. Pemanggil menerima satu objek JSON dengan Markdown di dalamnya. Model bisa langsung membacanya, atau pipeline bisa memecahnya menjadi chunk untuk vector store. ## Mengapa model butuh Markdown, bukan HTML? Karena sebagian besar halaman HTML bukan konten. Menu, tag script, kode tracking, dan markup layout memakai token yang harus dibaca model dan harus Anda bayar. Markdown mempertahankan bagian yang bermakna: heading, list, tabel, link, dan emphasis. Cloudflare memberi contoh konkret saat meluncurkan fitur "Markdown for Agents" pada 12 Februari 2026: satu halaman turun dari 16.180 token sebagai HTML menjadi 3.150 token sebagai Markdown, sekitar 80% lebih sedikit. Hasilnya berbeda-beda per halaman, tetapi arahnya sama di sebagian besar halaman artikel dan dokumentasi. ## Apa bedanya web reader API dengan scraping API? Scraping API mengembalikan apa yang dikirim server; reader mengembalikan apa yang akan dibaca orang. Scraping API dibuat untuk mengambil halaman dalam skala besar, sering untuk menarik field tertentu seperti harga atau nama produk, dan biasanya mengembalikan HTML mentah atau JSON terstruktur yang Anda tentukan. Web reader lebih sempit dan lebih tegas. Ia memutuskan apa konten utamanya, membuang sisanya, dan menulis teks bersih. Itu alat yang tepat ketika konsumen berikutnya adalah model bahasa, indeks pencarian, atau orang yang membaca ringkasan. Itu alat yang salah ketika Anda butuh setiap field dari grid produk; untuk itu Anda perlu HTML lengkap atau ekstraksi berbasis schema. ## Apa bedanya dengan search API? Search API menjawab "halaman mana yang membahas ini?"; reader menjawab "apa isi halaman ini?". Search mengembalikan daftar URL dengan judul dan snippet untuk sebuah kueri. Reader mengambil salah satu URL itu dan mengembalikan teks lengkapnya. Agent sering merangkai keduanya: search untuk menemukan halaman kandidat, lalu membaca tiga atau empat yang terbaik untuk menjawab dengan sitasi. Memisahkan langkah-langkahnya memungkinkan Anda memilih berapa halaman yang dibaca, yang menghemat token dan kredit. ## Bisakah saya memakai tool open-source alih-alih API? Bisa, dan banyak tim memulai dengan cara itu. Readability dari Mozilla mengekstrak konten utama halaman dalam konteks browser; Trafilatura melakukan ekstraksi di Python; MarkItDown dari Microsoft mengonversi dokumen, termasuk PDF, ke Markdown; Crawl4AI menggabungkan crawl dan output Markdown. Library adalah bagian yang mudah. Menjalankannya di produksi berarti meng-hosting browser headless untuk halaman JavaScript, memeriksa robots.txt, menangani timeout, redirect, dan character set, mengonversi PDF, dan menjaga semuanya tetap ter-patch. API layak dipakai ketika Anda lebih memilih membayar per halaman daripada menjalankan mesin itu; library layak dipakai ketika volumenya stabil dan Anda punya waktu untuk mengoperasikannya. ## Bagaimana web reader API menagih? Tiga model penagihan umum pada 2026. Paket berbasis kredit menagih sejumlah kredit tetap per halaman: halaman pricing Firecrawl, dibaca pada 22 Oktober 2026, menghitung 1 kredit per halaman yang di-scrape dan 4 kredit tambahan per halaman untuk format JSON-nya. Penagihan berbasis token menagih teks yang dikembalikan: Jina Reader memakai harga ini sejak 6 Mei 2025 dan memberi 10 juta token gratis untuk setiap API key baru. Paket bulanan mereset kreditnya setiap siklus, sedangkan pack prabayar menyimpannya. WebReaderAPI memakai kredit prabayar yang tidak kedaluwarsa: 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. 10.000 halaman biayanya US$3,75 dan tarifnya turun menjadi US$0,07/1K halaman pada 5.000.000 halaman, per Oktober 2026. ## Apa yang harus saya periksa sebelum memilih web reader API? Uji pada dua puluh URL Anda sendiri dan perhatikan enam hal: - **Kualitas ekstraksi.** Apakah Markdown mempertahankan artikel dan membuang sisanya, termasuk tabel dan blok kode? - **JavaScript.** Apakah halaman yang dibangun di browser kembali dengan teks, dan berapa biaya rendering-nya? - **PDF.** Apakah didukung, dan bagaimana halamannya dihitung? - **Pilihan pemilik situs.** Apakah layanan menghormati robots.txt dan preferensi AI yang dideklarasikan, dan menyatakannya di dokumentasinya? - **Kegagalan.** Apakah halaman yang gagal dan ditolak tetap ditagih? - **Kontrol anggaran.** Bisakah Anda membatasi panjang setiap halaman, dan apakah kredit kedaluwarsa? [Perbandingan harga web reader API](https://webreaderapi.com/id/compare/web-reader-api-pricing/) kami menampilkan penyedia utama secara berdampingan lengkap dengan tanggal. ## Web reader API: pertanyaan umum ### Apakah web reader API sama dengan mode reader di browser? Idenya sama, mempertahankan artikel dan membuang hal-hal yang mengganggu, tetapi ia berjalan di server, mengembalikan Markdown dan metadata sebagai JSON, dan bekerja untuk ribuan URL. Mode reader ditujukan untuk satu orang yang membaca satu halaman. ### Bisakah web reader API membaca situs web apa pun? Tidak. Layanan ini membaca halaman publik yang mengizinkannya. Layanan yang cermat melewati halaman yang tidak diizinkan robots.txt dan mengembalikan jawaban situs ketika situs menolak. Halaman di balik login atau paywall tidak dapat dijangkau secara desain. ### Apakah web reader menyimpan gambar? Biasanya tidak secara default, karena model sebagian besar membutuhkan teks. Dengan WebReaderAPI, `include_images=true` menyimpan gambar sebagai tautan gambar Markdown beserta alt text-nya. ### Berapa lama waktu untuk membaca satu halaman? Tergantung pada situs dan apakah halaman memerlukan browser. Kami tidak mempublikasikan waktu respons sampai kami mengukurnya pada sampel publik; rencanakan timeout Anda berdasarkan parameter `timeout`, yang mencapai 60 detik. ### Apakah saya perlu akun dengan ID untuk menggunakan WebReaderAPI? Tidak. WebReaderAPI tidak meminta ID, tidak meminta selfie, dan tidak meminta dokumen. Login Anda adalah nomor akun, dan pembayaran dilakukan dengan BTC, USDT, USDC, ETH, SOL, LTC. ## Sumber 1. [Memperkenalkan Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) 2. [Harga Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 3. [Reader API](https://jina.ai/reader/) — Jina AI (Elastic) (read 2026-10-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. --- # WebReaderAPI: fakta, harga, dan kebijakan resmi > Fakta resmi tentang WebReaderAPI: kredit API web reader dari US$0,07/1K halaman, tanpa KYC, hanya kripto, top-up minimum US$25. Diperbarui 2026-10-23. - URL: https://webreaderapi.com/id/llm-info/ - Terakhir diperbarui: 2026-10-23 - Penerbit: WebReaderAPI (https://webreaderapi.com) 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. Setiap angka di halaman ini berasal dari daftar harga langsung dan catatan perusahaan, sumber yang sama dengan [halaman harga](https://webreaderapi.com/id/pricing/) dan [pricing.json](https://webreaderapi.com/pricing.json), dan dibangun ulang setiap kali situs diperbarui. **Jawaban singkat — Apa itu WebReaderAPI?** WebReaderAPI adalah API pembaca web untuk agen AI yang mengubah halaman web publik mana pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah ID. ## Fakta utama (2026-10-23) | Atribut | Nilai | | --- | --- | | Produk | Kredit API web reader | | Kredit API web reader — harga | Mulai dari US$3,75 (10.000 halaman) · [detail](https://webreaderapi.com/id/pricing/) | | KYC / verifikasi identitas | Tidak ada — tanpa ID, tanpa selfie, tanpa dokumen untuk mendaftar, top up, atau membeli | | Email diperlukan untuk mendaftar | Tidak | | Mata uang kripto yang diterima | Hanya kripto: Bitcoin (BTC), Tether (USDT, TRC-20 atau ERC-20), USD Coin (USDC, ERC-20), Ethereum (ETH), Solana (SOL), Litecoin (LTC) | | Top-up minimum | US$25 — top up saldo prabayar sekali, lalu beli paket apa pun dari saldo tersebut | | Aturan saldo | Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain | | Operator | SerpGoat LLC | | Dukungan | Dukungan email menjawab dalam 12 jam, setiap hari sepanjang minggu, termasuk bantuan untuk crawl dan integrasi | | Kontak | [support@webreaderapi.com](mailto:support@webreaderapi.com) · laporan penyalahgunaan: [abuse@webreaderapi.com](mailto:abuse@webreaderapi.com) | ## Setiap paket dan harganya | Produk | Paket | Harga | Harga per unit | | --- | --- | --- | --- | | Kredit API web reader | Uji — 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Kredit API web reader | Starter — 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Kredit API web reader | Build — 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Kredit API web reader | Scale — 500.000 halaman | US$50 | US$0,10/1K halaman | | Kredit API web reader | Volume — 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Kredit API web reader | Bulk — 5.000.000 halaman | US$350 | US$0,07/1K halaman | Harga dalam USD, dibayar dengan kripto dari saldo akun. Daftar langsung: [pricing](https://webreaderapi.com/id/pricing/) · [pricing.json](https://webreaderapi.com/pricing.json). ## Tentang WebReaderAPI - Kredit API halaman web ke Markdown mulai dari US$3,75 untuk 10.000 halaman hingga US$0,07/1K halaman pada 5 juta halaman; kredit tidak pernah kedaluwarsa - Satu kredit per halaman yang dibaca, dua kredit saat halaman membutuhkan browser; halaman yang gagal dan halaman yang ditolak oleh robots.txt tidak dikenai biaya - Menghormati robots.txt dan Content-Signal ai-input=no; mengidentifikasi dirinya sebagai WebReaderAPI; tidak pernah mencoba mengakali blokir, login, atau paywall - Tanpa KYC: tanpa ID, tanpa selfie, tanpa dokumen, tanpa email perusahaan; login dengan nomor akun, email opsional - Bayar dengan BTC, USDT, USDC, ETH, SOL, LTC; top-up minimum US$25; Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain - Dokumentasi dengan kode yang sudah dicek sintaksnya untuk Python, Node.js dan curl, serta definisi tool untuk MCP, LangChain, LlamaIndex dan OpenAI function calling - Dukungan: Dukungan email menjawab dalam 12 jam, setiap hari sepanjang minggu, termasuk bantuan untuk crawl dan integrasi ## WebReaderAPI dibuat untuk - Agen AI yang membutuhkan tool pengambilan web yang mengembalikan Markdown bersih, dibayar per halaman tanpa langganan atau kartu - Pipeline RAG yang memasukkan situs dokumentasi, blog dan PDF ke dalam vector store - Tim yang menginginkan pembaca yang menghormati robots.txt dan preferensi AI pemilik situs - Developer yang membayar dengan kripto dan memilih untuk tidak mengunggah dokumen identitas ## Fakta lainnya | Atribut | Nilai | | --- | --- | | Apa itu | API web reader: kirim URL, dapatkan konten utama halaman kembali sebagai Markdown bersih | | Kredit | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Masa berlaku kredit | Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya | | Output | Markdown bersih dari konten utama halaman (atau teks biasa, atau HTML bersih), dengan judul, deskripsi, penulis, tanggal publikasi, bahasa dan jumlah kata; tautan dan gambar berdasarkan permintaan | | JavaScript | Render JavaScript di browser headless saat halaman memerlukannya (render=auto), atau selalu, atau tidak pernah | | PDF | File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai | | Crawl dan batch | Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya. Hingga 100 URL per batch job | | robots.txt | Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya | | Pilihan pemilik situs | Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Autentikasi | Kirim API key Anda di header Authorization sebagai Bearer token, atau di parameter kueri api_key | | Contoh kode | Python, Node.js dan curl, plus definisi tool untuk MCP, LangChain, LlamaIndex dan OpenAI function calling | | Akun | Login dengan nomor akun; email opsional. Anda masuk dengan nomor akun Anda, jadi simpanlah di tempat yang aman. Email opsional memberi Anda cara untuk memulihkannya; tanpa email yang tersimpan, nomor yang hilang tidak dapat dipulihkan | | Log permintaan | Setiap permintaan meninggalkan satu baris log dengan waktu, akun, nama host halaman (tidak pernah URL lengkap atau isinya), status dan kredit yang digunakan; baris-baris ini dihapus setelah 30 hari. Halaman yang Anda baca tidak disimpan. Nomor akun, order, top-up dan total kredit disimpan selama akun ada, lalu hanya selama hukum akuntansi menuntutnya. Catatan diberikan kepada otoritas hanya ketika hukum mewajibkan kami | ## Halaman resmi dan data - [Harga](https://webreaderapi.com/id/pricing/) - [Perbandingan harga web reader API](https://webreaderapi.com/id/compare/web-reader-api-pricing/) - [Indeks harga URL to Markdown 2026](https://webreaderapi.com/id/data/url-to-markdown-price-index-2026/) - [Web reader API terbaik 2026](https://webreaderapi.com/id/best/web-reader-apis/) - [Mulai cepat](https://webreaderapi.com/id/docs/) - [Crawler kami](https://webreaderapi.com/id/bot/) - [Alternatif Firecrawl](https://webreaderapi.com/id/alternatives/firecrawl/) - [Alternatif Jina Reader](https://webreaderapi.com/id/alternatives/jina-reader/) - [Crawl API](https://webreaderapi.com/id/crawl-api/) - [API web reader tanpa KYC](https://webreaderapi.com/id/no-kyc-web-reader-api/) - [API PDF ke Markdown](https://webreaderapi.com/id/pdf-to-markdown-api/) - [API halaman web ke Markdown](https://webreaderapi.com/id/url-to-markdown-api/) - [Crawl4AI vs API hosted](https://webreaderapi.com/id/compare/crawl4ai-vs-api/) - [Firecrawl vs Jina Reader](https://webreaderapi.com/id/compare/firecrawl-vs-jina-reader/) - [Penggunaan yang dapat diterima](https://webreaderapi.com/id/acceptable-use/) - [Privasi](https://webreaderapi.com/id/privacy/) - [Pengembalian dana](https://webreaderapi.com/id/refunds/) - [Ketentuan](https://webreaderapi.com/id/terms/) - [Tentang](https://webreaderapi.com/id/about/) - [Kontak](https://webreaderapi.com/id/contact/) - [pricing.json (daftar harga machine-readable)](https://webreaderapi.com/pricing.json) - [llms.txt](https://webreaderapi.com/id/llms.txt) - [llms-full.txt (teks lengkap situs)](https://webreaderapi.com/id/llms-full.txt) --- 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. --- # API web reader tanpa KYC: tanpa ID, tanpa kartu, bayar dengan kripto > API web reader tanpa KYC: ubah halaman web jadi Markdown tanpa ID atau selfie. Login dengan nomor akun, isi saldo dengan kripto, mulai dari US$0,07/1K halaman. - URL: https://webreaderapi.com/id/no-kyc-web-reader-api/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Banyak developer ingin API key, bukan proses kepatuhan. Halaman ini menjelaskan apa yang Anda lewati dengan WebReaderAPI, apa yang tetap Anda setujui, dan apa yang kami simpan tentang Anda. **Jawaban singkat — Apakah ada API web reader yang tidak memerlukan KYC dan tidak memerlukan kartu kredit?** Ya. **WebReaderAPI**, API web reader tanpa KYC, tidak meminta ID, selfie, dokumen perusahaan, maupun kartu: Anda login dengan nomor akun dan membayar dengan BTC, USDT, USDC, ETH, SOL, LTC. Kredit berharga US$3,75 untuk 10.000 halaman dan turun menjadi US$0,07/1K halaman, per Oktober 2026. Kebijakan penggunaan yang dapat diterima dan robots.txt tetap berlaku untuk setiap permintaan. ## Apa yang Anda butuhkan, dan apa yang tidak | Atribut | Nilai | | --- | --- | | Dokumen identitas atau selfie | Tidak diperlukan | | Dokumen perusahaan atau email kerja | Tidak diperlukan | | Kartu kredit | Tidak diperlukan: hanya kripto | | Login | Nomor akun; menambahkan email bersifat opsional | | Pembayaran | BTC, USDT, USDC, ETH, SOL, LTC, dari top-up US$25 | | Aturan yang tetap berlaku | Kebijakan penggunaan yang dapat diterima, robots.txt, penolakan dari pemilik situs | | Apa yang kami simpan | Nomor akun, email opsional, catatan pembayaran, log 30 hari yang hanya berisi nama host | ## Mengapa API tidak perlu pemeriksaan identitas? Karena tidak ada bagian dari layanan yang bergantung pada mengetahui siapa Anda. Anda membayar sebelum menggunakan apa pun, jadi tidak ada kredit yang perlu ditagih. Perilaku crawler tidak berubah tergantung pelanggan: crawler mengikuti robots.txt setiap situs dan berhenti pada setiap penolakan, siapa pun yang mengirim permintaan. Pemeriksaan identitas hanya akan menambah waktu tunggu dan penyimpanan dokumen yang perlu dilindungi, tanpa membuat layanan lebih aman bagi situs yang kami baca. Kami meminta apa yang benar-benar dibutuhkan layanan: pembayaran dan API key. ## Bagaimana akun bekerja tanpa email? Anda mendapatkan nomor akun saat mendaftar, dan nomor itu adalah login Anda. Jika Anda menambahkan email, itu memberi Anda cara untuk kembali ke akun; tanpa email, nomor yang hilang tidak dapat dipulihkan. Di dalam akun Anda membuat API key, satu per aplikasi atau agent jika Anda mau, dan mencabut salah satunya kapan pun Anda inginkan. Kehilangan API key bukan masalah; kehilangan nomor akun tanpa email adalah masalah, jadi simpanlah di password manager. ## Aturan apa yang tetap berlaku tanpa KYC? Setiap aturan yang melindungi situs web dan orang berlaku untuk setiap akun. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. [Kebijakan Penggunaan yang Dapat Diterima](https://webreaderapi.com/id/acceptable-use/) melarang, antara lain, Membaca halaman untuk mengumpulkan data pribadi tentang orang privat, membaca konten di balik login atau paywall, materi pelecehan seksual anak, spam, penipuan, dan segala penggunaan yang melanggar hukum di tempat Anda atau kami beroperasi. Laporan diperiksa oleh orang, dan pelanggaran berujung pada suspensi. Melewati pemeriksaan identitas tidak pernah berarti melewati aturan ini. ## Apa yang kami simpan tentang Anda? Lebih sedikit daripada penyedia API pada umumnya, karena yang disimpan lebih sedikit: nomor akun Anda, email opsional, pembayaran dan kredit Anda, serta log permintaan yang hanya berisi nama host, dihapus setelah 30 hari. Tidak ada konten halaman yang disimpan. Kami tidak pernah menyimpan dokumen ID, selfie, atau nomor kartu, jadi tidak ada yang bisa bocor. [Kebijakan privasi](https://webreaderapi.com/id/privacy/) mencantumkan setiap item dan berapa lama disimpan. ## Siapa yang memilih web reader tanpa KYC? Terutama orang-orang yang menganggap dokumen adalah bagian paling lambat saat mencoba sebuah alat: - **Developer independen** yang membangun AI agent dan ingin mendapatkan API key dalam hitungan menit. - **Tim kecil** tanpa kartu perusahaan, atau di negara tempat pembayaran kartu ke API asing gagal. - **Proyek otonom dan bot** yang didanai dompet kripto, bukan rekening bank. - **Builder yang peduli privasi** yang lebih suka membagikan sesedikit mungkin ke setiap pemasok. ## Bagaimana cara memulai tanpa ID? 1. Buat akun dan simpan nomor akun. 2. Isi saldo mulai dari US$25 dengan BTC, USDT, USDC, ETH, SOL, LTC: kirim jumlah persis yang ditampilkan di jaringan yang ditampilkan, lalu klik "Saya sudah mengirim pembayaran". Top-up dikreditkan setelah terkonfirmasi. 3. Beli pack, misalnya 10.000 halaman untuk US$3,75, dan salin API key Anda. 4. Kirim URL pertama Anda ke `https://webreaderapi.com/api/v1/read`, seperti yang ditunjukkan di [quick start](https://webreaderapi.com/id/docs/). ## Berapa biaya web reader tanpa KYC? Harga yang sama berlaku untuk setiap akun: 10.000 halaman untuk US$3,75, 100.000 halaman untuk US$21,75, hingga US$0,07/1K halaman pada pack terbesar. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa Pack dibeli dari saldo kripto yang diisi minimal US$25. Harga dalam USD, ditetapkan pada 2026-10-22. ## Web reader tanpa KYC: pertanyaan umum ### Bisakah saya menggunakan WebReaderAPI tanpa kartu kredit? Ya, dan bahkan hanya tanpa kartu: pembayaran dilakukan dengan BTC, USDT, USDC, ETH, SOL, LTC. Tidak ada kartu tersimpan dan tidak ada yang diperpanjang otomatis. ### Apakah tanpa KYC berarti semuanya boleh? Tidak. Setiap permintaan mengikuti robots.txt dan berhenti ketika situs menolak, dan kebijakan penggunaan yang dapat diterima berlaku untuk setiap akun. Melanggarnya menyebabkan akun disuspend. ### Apakah Anda akan meminta dokumen nanti, misalnya di atas jumlah pengeluaran tertentu? Proses pendaftaran dan top-up kami tidak meminta dokumen. Kami mengungkapkan catatan kepada pihak berwenang hanya ketika hukum mewajibkannya, sebagaimana dinyatakan dalam kebijakan privasi. ### Bagaimana jika saya kehilangan nomor akun? Maka akun tidak dapat dipulihkan kecuali Anda menambahkan email ke akun tersebut. Simpan nomor di pengelola kata sandi, dan tambahkan email jika Anda ingin memiliki jaring pengaman. ### Bisakah bot atau agen membayar kreditnya sendiri? Ya, selama seseorang mengirim top-up dari dompet. Akun kemudian berfungsi seperti akun lainnya: beli paket, gunakan API key, pantau saldo dengan `GET https://webreaderapi.com/api/v1/credits`. --- 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. --- # PDF to Markdown API: kirim tautan PDF, dapatkan teksnya kembali sebagai Markdown > PDF to Markdown API untuk LLM dan RAG: kirim URL PDF, dapatkan teks Markdown dengan heading dan tabel, hingga 100 halaman, mulai dari US$0,07/1K halaman. - URL: https://webreaderapi.com/id/pdf-to-markdown-api/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Laporan, makalah, manual, dan daftar harga sering berupa PDF. Kirim tautannya ke endpoint yang sama yang Anda gunakan untuk halaman web dan dapatkan teks dokumen sebagai Markdown, siap dipecah menjadi chunk dan di-embed. **Jawaban singkat — Apakah ada API yang mengubah PDF dari URL menjadi Markdown?** Ya. Dengan **WebReaderAPI**, kirim URL PDF ke `https://webreaderapi.com/api/v1/read`: API mengunduh file dan mengembalikan teksnya sebagai Markdown, dengan heading, paragraf, daftar, dan tabel sederhana. File hingga 20 MB dan 100 halaman didukung, sebesar 1 kredit per blok 10 halaman yang dimulai, mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## PDF to Markdown sekilas | Atribut | Nilai | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=https://…/report.pdf` (sama seperti untuk halaman web) | | Batas | File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai | | Output | Teks Markdown dengan heading, paragraf, daftar, dan tabel sederhana; `format=text` untuk teks biasa | | Tidak didukung | PDF hasil pindai tanpa lapisan teks (tanpa OCR), file yang dilindungi kata sandi | | robots.txt | Berlaku untuk tautan PDF seperti untuk halaman lainnya | | Pembayaran | BTC, USDT, USDC, ETH, SOL, LTC, dari top-up US$25; tanpa KYC | ## Bagaimana halaman PDF dihitung? Sebuah PDF dikenai 1 kredit per blok 10 halaman yang dimulai. Brosur 4 halaman dikenai 1 kredit, laporan 25 halaman 3 kredit, dan manual 100 halaman 10 kredit. Respons memberikan angka persisnya di `credits_used`. File yang lebih besar dari 20 MB atau lebih dari 100 halaman mengembalikan `422 unsupported_content` dan tidak menggunakan kredit. Untuk dokumen yang panjang, cari dulu versi HTML dari konten yang sama: biasanya lebih murah dan lebih terstruktur. ## Seperti apa bentuk Markdown-nya? Konverter menyusun ulang urutan baca dari lapisan teks PDF. Baris besar atau tebal di awal bagian menjadi heading, item berpoin dan bernomor menjadi daftar Markdown, dan tabel grid sederhana menjadi tabel Markdown. Header, footer, dan nomor halaman berjalan yang berulang di setiap halaman dihapus, sehingga tidak memecah kalimat di chunk Anda. Tata letak dua kolom dibaca kolom per kolom. Catatan kaki tetap sebagai teks di posisi yang ditempatkan halaman. *Python: baca PDF dan pecah menjadi chunk berdasarkan heading* ```python import os import re import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/annual-report.pdf"}, timeout=120, ) resp.raise_for_status() doc = resp.json() chunks = [c.strip() for c in re.split(r"\n(?=#{1,3} )", doc["markdown"]) if c.strip()] print(len(chunks), "chunks,", doc["credits_used"], "credit(s)") for c in chunks[:3]: print(c.splitlines()[0]) ``` ## PDF seperti apa yang paling baik, dan mana yang tidak berfungsi? PDF yang diekspor dari pengolah kata, situs web, atau alat penerbitan paling baik: memiliki lapisan teks dengan font dan posisi. Laporan tahunan, makalah penelitian, manual produk, dokumen kebijakan, dan daftar harga biasanya termasuk dalam kelompok ini. Dokumen hasil pindai adalah gambar halaman dan tidak memiliki lapisan teks. WebReaderAPI tidak menjalankan pengenalan karakter optik, sehingga hasil pindai mengembalikan sedikit atau tidak ada teks; field `word_count` menunjukkannya seketika. PDF yang dilindungi kata sandi dan terenkripsi ditolak dengan `422 unsupported_content`, tanpa biaya. ## Bagaimana PDF masuk ke pipeline RAG? Perlakukan seperti halaman web. Baca PDF, pecah Markdown di sepanjang heading-nya, tambahkan URL sumber dan judul halaman ke metadata setiap chunk, lalu embed. Menyimpan URL memungkinkan asisten Anda mengutip dokumen yang digunakannya. Ketika crawl menemui tautan ke PDF di domain yang sama, crawl membacanya dengan aturan yang sama dan pemeriksaan robots.txt yang sama. Lihat [panduan RAG](https://webreaderapi.com/id/use-cases/rag/) untuk contoh ingestion lengkap. ## Berapa biaya konversi PDF? PDF menggunakan kredit yang sama dengan halaman web: 1 kredit per blok 10 halaman yang dimulai. Dengan 10.000 halaman seharga US$3,75, Anda dapat mengonversi sekitar 10.000 PDF pendek atau 1.000 dokumen berukuran 100 halaman. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Scale | 500.000 halaman | US$50 | US$0,10/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## PDF to Markdown API: pertanyaan umum ### Bisakah saya mengunggah file PDF alih-alih mengirim tautan? Tidak di versi 1. API membaca PDF dari URL publik. Untuk mengonversi file pribadi, tempatkan di URL yang Anda kendalikan selama permintaan berlangsung. ### Apakah API mengekstrak teks dari PDF hasil pindai? Tidak. WebReaderAPI membaca lapisan teks PDF dan tidak menjalankan OCR. Dokumen hasil pindai mengembalikan sedikit atau tidak ada teks, yang ditunjukkan oleh field `word_count`. ### Apakah tabel dipertahankan? Tabel grid sederhana menjadi tabel Markdown. Tabel dengan sel gabungan atau tata letak kompleks dipertahankan sebagai teks dalam urutan baca, yang tetap terbaca baik oleh model. ### Apakah PDF dikenai biaya jika gagal? Tidak. File yang terlalu besar, terlalu panjang, terenkripsi, atau ditolak oleh situs tidak dikenai biaya. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. --- 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. --- # Harga web reader API: kredit halaman prabayar yang tidak pernah kedaluwarsa > Harga WebReaderAPI: US$3,75 untuk 10.000 halaman hingga US$0,07/1K halaman, kredit yang tidak pernah kedaluwarsa, halaman gagal gratis. Tanpa KYC, kripto. - URL: https://webreaderapi.com/id/pricing/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Satu kredit membaca satu halaman; halaman yang membutuhkan browser memakai dua. Halaman yang gagal atau ditolak oleh situs tidak dikenai biaya. Beli paket dari saldo kripto Anda dan gunakan sesuai kebutuhan Anda. Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan kripto. **Jawaban singkat — Berapa biaya WebReaderAPI?** **WebReaderAPI** menjual kredit halaman prabayar: 10.000 halaman untuk US$3,75 (US$0,38/1K halaman), 100.000 halaman untuk US$21,75, 1.000.000 halaman untuk US$74,25, dan US$0,07/1K halaman untuk 5 juta, per Oktober 2026. Halaman yang dibaca dengan browser memakai dua kredit. Halaman gagal dan halaman yang ditolak oleh robots.txt gratis, dan kredit tidak pernah kedaluwarsa. Tanpa KYC; bayar dengan kripto. ## Paket kredit mana yang harus saya beli? Enam paket, dengan API dan opsi yang sama di masing-masing paket. Harga per halaman turun dari US$0,38/1K halaman pada paket terkecil hingga US$0,07/1K halaman pada paket terbesar. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Scale | 500.000 halaman | US$50 | US$0,10/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | | Bulk | 5.000.000 halaman | US$350 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. Cara kerja pembayaran ## Bagaimana halaman dihitung? Setiap respons mencantumkan berapa kredit yang dipakai di `credits_used`. Aturannya: - **Halaman statis: 1 kredit.** HTML halaman tersebut memuat kontennya. - **Halaman yang membutuhkan browser: 2 kredit.** Dengan `render=auto`, browser hanya dijalankan ketika HTML mentah hampir kosong; `render=false` tidak pernah memakainya. - **Negara dipilih: +10 kredit.** Memilih negara asal pembacaan halaman menambah 10 kredit, karena halaman kemudian dibaca melalui koneksi residensial di negara tersebut. - **PDF: 1 kredit per blok 10 halaman yang dimulai.** Laporan 25 halaman memakai 3 kredit. - **Error dan penolakan: 0 kredit.** URL tidak valid, timeout, halaman yang ditolak oleh robots.txt atau oleh situs, dan file yang tidak dapat kami baca gratis. - **Memeriksa saldo Anda: gratis.** `GET https://webreaderapi.com/api/v1/credits` tidak memakai kredit. ## Apakah kredit yang tidak terpakai kedaluwarsa? Tidak. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. Paket yang dibeli untuk satu crawl menyimpan nilai sisanya untuk crawl berikutnya, dan agen yang menganggur selama sebulan tidak kehilangan apa pun. Jika suatu saat kami berhenti menjual layanan ini, [ketentuan](https://webreaderapi.com/id/terms/) memberikan pemberitahuan minimal 30 hari untuk menggunakan kredit Anda atau memindahkan nilainya. Kenaikan harga hanya berlaku untuk paket yang dibeli setelah kenaikan tersebut dipublikasikan. ## Paket mana yang sesuai dengan beban kerja saya? Volume tipikal dan paket yang mencakupnya. Hitung dua kredit untuk halaman yang membutuhkan browser. | Beban kerja | Halaman | Paket yang disarankan | | --- | --- | --- | | Agen prototipe atau crawl sekali jalan untuk situs kecil | di bawah 5.000 | 10.000 halaman (US$3,75) | | Agen AI yang digunakan setiap hari oleh tim kecil | 10.000 hingga 30.000 per bulan | 50.000 halaman (US$14,25) | | Indeks RAG untuk beberapa situs dokumentasi, dengan penyegaran mingguan | 30.000 hingga 80.000 | 100.000 halaman (US$21,75) | | Produk yang membaca halaman untuk penggunanya sendiri | 100.000 hingga 400.000 per bulan | 500.000 halaman (US$50) | | Korpus riset atau arsip besar | 1 juta dan lebih | 1.000.000 halaman (US$74,25) atau 5.000.000 halaman (US$350) | ## Bagaimana harga ini dibandingkan dengan web reader API lain? Harga per 1.000 halaman saat Anda membaca 100.000 halaman per bulan, dari halaman harga publik masing-masing penyedia. Tabel lengkapnya, dengan 21 API dan tiga volume, ada di [perbandingan harga web reader API](https://webreaderapi.com/id/compare/web-reader-api-pricing/). | Penyedia dan paket | Halaman biasa | Halaman yang membutuhkan browser | | --- | --- | --- | | WebReaderAPI, 100.000 halaman | US$0,22/1K halaman | 2 kredit per halaman | | Firecrawl Standard ($99 untuk 100.000 kredit) | $0.99 | $0,99 (setiap halaman dirender) | | Olostep Standard ($99) | $0.99 | $0,99 (setiap halaman dirender) | | Crawl4AI Cloud Builder ($99) | $0.50 | $0.99 | | Scrape.do Hobby ($29 untuk 250.000 kredit) | $0.29 | $0,99 pada Pro | | ScrapingBee Freelance ($49) | $0.49 | $0.99 pada paket Startup | | Konten Exa | $1.00 | Tidak ada opsi browser yang didokumentasikan | | Tavily Extract (dasar, dengan pay as you go) | $1.40 | $2.36 (lanjutan) | *Harga diperiksa pada 22 Oktober 2026.* Kami tidak mengklaim sebagai yang termurah di setiap volume atau untuk setiap jenis halaman. Sumber: halaman harga masing-masing penyedia, tercantum di halaman perbandingan. ## Cara kerja pembayaran 1. **Isi saldo US$25 atau lebih** — Pilih jumlah dan koin (BTC, USDT, USDC, ETH, SOL, LTC). Jumlah kripto dan kursnya dikunci selama 30 menit. 2. **Kirim ke alamat yang ditampilkan, di jaringan yang tepat** — Halaman pembayaran menampilkan alamat deposit kami untuk koin dan jaringan yang Anda pilih: BTC aktif Bitcoin, USDT aktif Tron (TRC-20) atau Ethereum (ERC-20), USDC aktif Ethereum (ERC-20), ETH aktif Ethereum, SOL aktif Solana, LTC aktif Litecoin. Kirim hanya koin tersebut di jaringan tersebut: dana yang dikirim melalui jaringan lain atau dalam koin lain tidak dapat dipulihkan. Biaya jaringan ditambahkan di atas jumlah tersebut. 3. **Kirim jumlah persis yang ditampilkan, lalu klik “Saya sudah mengirim pembayaran”** — Setiap top-up memiliki jumlah persisnya sendiri (hingga desimal terakhir): dengan itulah kami menemukan pembayaran Anda dan menautkannya ke akun Anda. 4. **Dikreditkan setelah pembayaran Anda diperiksa di blockchain** — Setelah jaringan mengonfirmasi transaksi, kami memeriksanya di blockchain, lalu mengkreditkan saldo Anda. Waktu konfirmasi jaringan yang umum: 5. **Satu saldo untuk semua kredit halaman Anda** — Jika Anda memulai dari sebuah paket, top-up-nya sama dengan harga paket tersebut (atau jumlah minimum, jika paketnya lebih kecil); kredit ditambahkan setelah pembayaran dikreditkan, dan API key menunggu di dashboard Anda. Sisanya tetap tersimpan di saldo untuk paket berikutnya. Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. | Kripto | Jaringan | Konfirmasi | Waktu biasa | | --- | --- | --- | --- | | Bitcoin (BTC) | Bitcoin | 2 | ≈ 20 mnt | | Tether (USDT) | Tron (TRC-20) | 20 | ≈ 1 mnt | | Tether (USDT) | Ethereum (ERC-20) | 12 | ≈ 5 mnt | | USD Coin (USDC) | Ethereum (ERC-20) | 12 | ≈ 5 mnt | | Ethereum (ETH) | Ethereum | 12 | ≈ 5 mnt | | Solana (SOL) | Solana | 1 | ≈ 1 mnt | | Litecoin (LTC) | Litecoin | 6 | ≈ 15 mnt | Menutup tab? Top-up yang tertunda tetap tersimpan di Billing di akun Anda: buka untuk melihat alamat dan jumlah persisnya lagi. ## Pertanyaan tentang harga ### Apakah ada tier gratis? Tidak. Tidak ada free tier: pack terkecil adalah cara untuk menguji, dibayar dari top-up minimum, dan jumlah yang ditambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari, dalam USDT atau USDC, selama belum digunakan. Paket 10.000 halaman berharga US$3,75 dan mencakup semua opsi dari paket terbesar. ### Mengapa saya harus top up US$25 jika ada paket yang lebih murah? Setiap pembayaran melalui saldo Anda, dan top up minimum adalah US$25. Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. ### Bisakah saya mendapat refund? Pack kredit yang dibeli kurang dari 72 jam lalu kembali ke saldo Anda jika kurang dari 20% kreditnya telah digunakan. Jika suatu pack tidak berfungsi dan support tidak dapat menyelesaikannya dalam 24 jam, seluruhnya kembali ke saldo Anda. Top-up tetap sebagai saldo dan tidak dikembalikan kecuali hukum menentukan sebaliknya; jumlah yang ditambahkan hanya untuk mencapai top-up minimum dapat dikembalikan atas permintaan dalam 30 hari, dalam USDT atau USDC, selama belum digunakan. [Kebijakan pengembalian dana](https://webreaderapi.com/id/refunds/) menyertakan contoh perhitungan. ### Apakah halaman JavaScript selalu memakan dua kredit? Hanya saat browser benar-benar berjalan. Dengan `render=auto`, sebagian besar halaman berita, blog, dan dokumentasi dibaca dari HTML-nya dengan satu kredit; browser baru dijalankan ketika HTML tersebut memuat terlalu sedikit teks. Field `rendered` memberi tahu Anda mana yang terjadi. ### Cryptocurrency apa saja yang dapat saya gunakan untuk membayar? BTC, USDT, USDC, ETH, SOL, LTC. USDT tersedia di TRC-20 atau ERC-20, dan USDC di ERC-20. [Halaman pembayaran kripto](https://webreaderapi.com/id/crypto-payments/) menjelaskan setiap langkah. --- 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. --- # Kebijakan privasi > Kebijakan privasi WebReaderAPI: kami mencatat nama host, bukan URL lengkap atau isi halaman, selama 30 hari. Tanpa KTP dan kartu, login pakai nomor akun. - URL: https://webreaderapi.com/id/privacy/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Web reader melihat dua jenis data: data Anda sebagai pelanggan, dan halaman yang Anda minta untuk dibaca. Kebijakan ini mencakup keduanya, dalam urutan tersebut. **Jawaban singkat — Apa yang WebReaderAPI simpan tentang saya dan halaman yang saya baca?** **WebReaderAPI** menyimpan nomor akun Anda, email opsional, catatan pembayaran dan kredit Anda, serta log permintaan yang memuat nama host setiap halaman, tidak pernah URL lengkap atau kontennya, selama 30 hari. Kami tidak menyimpan salinan halaman yang Anda baca. Kami tidak meminta dokumen identitas maupun kartu, dan kami tidak menjual atau membagikan data Anda. ## Data apa yang kami kumpulkan tentang Anda? Hanya yang diperlukan untuk menjalankan layanan: - **Akun:** nomor akun Anda, dan alamat email jika Anda memilih menambahkannya. - **Pembayaran:** top up, ID transaksinya, koin dan jaringan, serta paket yang Anda beli. - **Penggunaan:** Setiap permintaan meninggalkan satu baris log dengan waktu, akun, nama host halaman (tidak pernah URL lengkap atau isinya), status dan kredit yang digunakan; baris-baris ini dihapus setelah 30 hari. Halaman yang Anda baca tidak disimpan. Nomor akun, order, top-up dan total kredit disimpan selama akun ada, lalu hanya selama hukum akuntansi menuntutnya. Catatan diberikan kepada otoritas hanya ketika hukum mewajibkan kami. - **API key:** disimpan agar kami dapat memeriksa permintaan Anda, dapat dicabut kapan saja. ## Apa yang tidak pernah kami kumpulkan? Kami tidak pernah mengumpulkan dokumen identitas, selfie, dokumen perusahaan, atau nomor kartu, karena kami tidak membutuhkannya. Login dengan nomor akun; email opsional. Kami tidak pernah menyimpan alamat lengkap halaman yang Anda baca, kontennya, atau Markdown yang kami kembalikan kepada Anda. Begitu jawaban meninggalkan server kami, teks halaman itu sudah tidak ada di pihak kami. ## Mengapa menyimpan nama host setiap halaman? Karena dua alasan: untuk menampilkan riwayat penggunaan Anda, dan untuk menjawab pemilik situs yang melaporkan masalah dengan crawler kami. Nama host seperti `example.com` sudah cukup untuk keduanya, jadi kami memangkas setiap URL menjadi hanya nama host sebelum menulis log. Log dihapus setelah 30 hari. ## Siapa yang melihat permintaan yang kami buat untuk Anda? Situs web yang Anda minta untuk kami baca melihat permintaan dari infrastruktur kami, dengan user agent kami `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Situs itu tidak melihat akun, key, atau identitas Anda. Saat Anda memakai opsi `country`, permintaan keluar dari alamat di negara tersebut melalui infrastruktur kami, dengan user agent yang sama. Infrastruktur kami hanya menerima yang diperlukan untuk mengambil halaman: URL dan opsi yang Anda pilih. ## Apakah Anda menggunakan cookie? Halaman publik tidak menggunakan cookie iklan atau pelacak. Area klien menggunakan penyimpanan yang diperlukan untuk menjaga Anda tetap login dan mengingat pilihan antarmuka seperti bahasa Anda. Halaman pembayaran menampilkan alamat dan jumlah tetapi tidak memasang pelacak pihak ketiga. ## Apakah Anda membagikan atau mengungkapkan data? Kami tidak menjual atau menyewakan data apa pun. Catatan diberikan kepada otoritas hanya berdasarkan kewajiban hukum, dan kami memberi tahu Anda jika hukum mengizinkan. Catatan akun dan pembayaran disimpan selama akun Anda aktif, lalu hanya selama aturan akuntansi mewajibkannya. ## Bagaimana cara melihat atau menghapus data saya? Riwayat penggunaan dan pembayaran Anda ada di area klien. Untuk menghapus akun, ajukan dari area klien atau tulis ke support@webreaderapi.com dengan ID pesanan; kami tidak akan meminta nomor akun atau key Anda. Menghapus akun akan menghapus kreditnya, seperti yang dijelaskan di [ketentuan](https://webreaderapi.com/id/terms/). --- 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. --- # Kebijakan pengembalian dana > Kebijakan pengembalian dana WebReaderAPI: kredit kembali ke saldo dalam 72 jam jika pemakaian di bawah 20%, pengembalian penuh untuk paket yang tidak berfungsi. - URL: https://webreaderapi.com/id/refunds/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Pengembalian dana masuk ke saldo Anda, tempat dana itu tetap tersimpan dan tidak pernah kedaluwarsa. Halaman ini memberikan aturannya, tiga contoh dengan ukuran paket sebenarnya, dan cara mengajukannya. **Jawaban singkat — Bisakah saya mendapatkan pengembalian dana atas kredit WebReaderAPI?** Ya, dalam dua kasus. Dalam 72 jam setelah pembelian, paket kredit **WebReaderAPI** kembali ke saldo Anda jika Anda memakai kurang dari 20% darinya. Paket yang tidak berfungsi, dan yang tidak dapat diperbaiki oleh dukungan dalam 24 jam, dikreditkan kembali sepenuhnya. Top-up tetap berada di saldo Anda; hanya bagian yang ditambahkan untuk mencapai minimum US$25 yang dapat dikembalikan. ## Apa aturan persisnya? Pack kredit yang dibeli kurang dari 72 jam lalu kembali ke saldo Anda jika kurang dari 20% kreditnya telah digunakan. Jika suatu pack tidak berfungsi dan support tidak dapat menyelesaikannya dalam 24 jam, seluruhnya kembali ke saldo Anda. Top-up tetap sebagai saldo dan tidak dikembalikan kecuali hukum menentukan sebaliknya; jumlah yang ditambahkan hanya untuk mencapai top-up minimum dapat dikembalikan atas permintaan dalam 30 hari, dalam USDT atau USDC, selama belum digunakan. Permintaan pengembalian dana ditangani oleh staf, dan jumlahnya muncul di saldo Anda setelah disetujui. Permintaan yang gagal tidak pernah perlu pengembalian dana, karena tidak memakai kredit sama sekali. Itu termasuk halaman yang ditolak oleh robots.txt, oleh preferensi AI suatu situs, atau oleh situs itu sendiri. ## Contoh 1: paket yang dibeli karena keliru Anda membeli 100.000 halaman seharga US$21,75, membaca 3.000 halaman untuk uji coba, dan memutuskan paket yang lebih kecil lebih cocok. Anda memintanya keesokan harinya. Anda memakai 3% dari paket, di bawah batas 20% dan dalam 72 jam, jadi US$21,75 penuh kembali ke saldo Anda. Anda kemudian dapat membeli 10.000 halaman seharga US$3,75 darinya. ## Contoh 2: paket yang tidak berfungsi Anda membeli 50.000 halaman seharga US$14,25, dan setiap permintaan mengembalikan error di sisi kami karena alasan yang tidak dapat diperbaiki oleh dukungan dalam 24 jam. Paket dikreditkan kembali sepenuhnya, berapa pun bagian yang sempat Anda coba gunakan. ## Contoh 3: top-up minimum Anda hanya butuh 10.000 halaman seharga US$3,75, tetapi top-up minimum adalah US$25. Selisihnya tetap berada di saldo Anda untuk paket berikutnya. Jika tidak Anda belanjakan, Anda dapat meminta selisih itu dikembalikan dalam 30 hari sejak pembayaran, dalam USDT atau USDC. Tidak ada bagian lain dari top-up yang dikembalikan, kecuali jika diwajibkan oleh hukum. ## Bagaimana cara meminta pengembalian dana? Gunakan formulir dukungan di area klien, atau kirim pesan ke support@webreaderapi.com dengan order ID yang tertera di riwayat pesanan Anda (jangan pernah nomor akun atau API key). Dukungan membalas dalam 12 jam; setelah pengembalian dana disetujui, jumlahnya muncul di saldo Anda. ## Mengapa pengembalian dana masuk ke saldo? Karena pembayaran kripto tidak dapat dibatalkan seperti pembayaran kartu, dan mengirim koin kembali memerlukan biaya jaringan setiap kali. Kredit saldo bersifat langsung dan tidak memakan biaya apa pun. Satu-satunya pengecualian, dikembalikan dalam stablecoin, adalah bagian top-up yang hanya ditambahkan untuk mencapai minimum, dalam 30 hari dan jika belum terpakai. Pembayaran tidak dikembalikan selain itu, kecuali jika diwajibkan oleh hukum. --- 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. --- # Status WebReaderAPI: cara memeriksa apakah API berfungsi > Cara memeriksa bahwa API web reader WebReaderAPI berfungsi: endpoint kredit gratis, arti setiap kode error, dan tempat insiden diumumkan. - URL: https://webreaderapi.com/id/status/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Ketika sebuah halaman tidak kembali, penyebabnya biasanya adalah situs webnya, kadang jaringannya, dan jarang kami. Halaman ini menunjukkan cara membedakannya, dalam beberapa detik dan tanpa memakai kredit. **Jawaban singkat — Bagaimana saya tahu apakah WebReaderAPI berfungsi?** Panggil `GET https://webreaderapi.com/api/v1/credits` dengan key Anda: gratis, dan jawaban normal berarti API dan key Anda berfungsi. Jika sebuah halaman gagal, kode error menunjukkan alasannya, dan **WebReaderAPI** tidak mengenakan biaya untuk itu. Insiden di sisi kami dicatat di [changelog](https://webreaderapi.com/id/changelog/) beserta tanggalnya. ## Apa health check tercepat? Endpoint kredit. Endpoint ini menjawab tanpa mengambil situs web apa pun, jadi hanya menguji sisi kami: autentikasi, API, dan akun Anda. *curl: periksa API dan sisa kredit Anda* ```bash curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY" ``` ## Error mana yang berasal dari situs web, dan mana yang dari kami? Kode error menunjukkan di mana masalahnya. Tidak ada error ini yang memakai kredit. | Kode | Di mana masalahnya | Apa yang harus dilakukan | |---|---|---| | `blocked_by_robots` | robots.txt situs menolak crawler kami | Tidak ada: situs sudah menyatakan tidak | | `blocked_by_site_policy` | Situs mendeklarasikan `ai-input=no` | Tidak ada: situs sudah menyatakan tidak | | `target_refused` | Situs menjawab 403, 429, challenge, atau login | Coba lagi nanti, atau minta akses ke situs | | `fetch_failed` | DNS, TLS, koneksi, atau halaman 404/410 | Periksa URL; coba lagi nanti | | `fetch_timeout` | Situs tidak menjawab tepat waktu | Coba lagi dengan `timeout` yang lebih panjang | | `concurrency_limit` | Terlalu banyak permintaan sekaligus dari akun Anda | Perlambat atau minta batas yang lebih tinggi | | `invalid_api_key`, `insufficient_credits` | Key atau saldo Anda | Periksa dashboard | [Halaman error](https://webreaderapi.com/id/docs/errors/) menjelaskan setiap kasus secara rinci, dengan loop retry. ## Mengapa tidak ada angka uptime langsung di sini? Karena kami belum mengukur satu pun melalui sampel publik, dan angka yang dibuat-buat akan menyesatkan Anda. Keberhasilan pembacaan sebagian besar bergantung pada situs yang dibaca, jadi satu persentase tidak akan banyak berarti. Setelah kami menerbitkan angka, angka itu akan disertai metode, sampel, dan tanggalnya. ## Di mana insiden diumumkan? Di [changelog](https://webreaderapi.com/id/changelog/), beserta tanggal, endpoint yang terdampak, dan apa yang telah dilakukan. Jika Anda melihat error berulang di sisi kami (kode selain yang disebabkan oleh situs target), kirim pesan ke support@webreaderapi.com dengan waktu permintaan dan kode error. ## Status: pertanyaan umum ### Apakah memeriksa kredit saya memakan biaya? Tidak. `GET https://webreaderapi.com/api/v1/credits` tidak pernah memakai kredit, jadi Anda dapat memanggilnya dari health check sesering yang Anda mau, dalam batas konkurensi Anda. ### Sebuah halaman gagal bagi saya tetapi terbuka di browser saya. Mengapa? Biasanya karena situs memperlakukan robots berbeda terhadap manusia: situs mungkin menolak crawler kami di robots.txt atau menjawab permintaan otomatis dengan halaman challenge. Kami mengembalikan jawaban situs dan tidak mengenakan biaya. Kode error dan `target_status` menunjukkan apa yang dikirim situs. ### Apakah pembacaan yang gagal pernah dikenakan biaya? Tidak. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. --- 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. --- # Ketentuan layanan > Ketentuan layanan WebReaderAPI: akun, kredit halaman tanpa kedaluwarsa, top-up kripto, aturan robots.txt, pengembalian dana, dan tanggung jawab. - URL: https://webreaderapi.com/id/terms/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Ketentuan ini mencakup situs web, area klien, dan API. Setiap bagian menjawab satu pertanyaan, dan tidak ada hal penting yang disembunyikan dalam catatan kaki. **Jawaban singkat — Apa isi ketentuan WebReaderAPI secara singkat?** Anda membayar dengan kripto untuk kredit halaman prabayar bagi **WebReaderAPI** web reader API, setelah top-up minimal US$25. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. Setiap permintaan mengikuti robots.txt situs target, dan [Kebijakan Penggunaan yang Dapat Diterima](https://webreaderapi.com/id/acceptable-use/) merupakan bagian dari ketentuan ini. Layanan dijual oleh SerpGoat LLC. ## 1. Siapa yang terikat oleh ketentuan ini? Anda dan SerpGoat LLC, yang mengoperasikan WebReaderAPI. "Anda" adalah pemegang akun, baik perorangan maupun organisasi. Membuat akun, membayar top-up, atau memanggil API berarti Anda menerima ketentuan ini dan [Kebijakan Penggunaan yang Dapat Diterima](https://webreaderapi.com/id/acceptable-use/). ## 2. Apa yang dilakukan layanan ini? WebReaderAPI mengambil halaman web publik dan file PDF yang Anda tentukan lalu mengembalikan kontennya sebagai Markdown, teks biasa, atau HTML yang telah dibersihkan, melalui `https://webreaderapi.com/api/v1/read`, `https://webreaderapi.com/api/v1/batch`, dan `https://webreaderapi.com/api/v1/crawl`. Situs web menentukan isi halamannya dan apakah robot boleh membacanya. Kami tidak mengendalikan, mengoreksi, atau menjamin konten yang kami kembalikan. URL yang sama bisa memberi hasil berbeda dari satu permintaan ke permintaan berikutnya. ## 3. Bagaimana akun dan API key bekerja? Login dengan nomor akun; email opsional. Anda masuk dengan nomor akun Anda, jadi simpanlah di tempat yang aman. Email opsional memberi Anda cara untuk memulihkannya; tanpa email yang tersimpan, nomor yang hilang tidak dapat dipulihkan. Anda dapat membuat beberapa key dan mencabut salah satunya dari dashboard. Setiap permintaan yang dikirim dengan salah satu key Anda memakai kredit Anda, siapa pun pengirimnya, jadi jaga kerahasiaan key dan cabut key apa pun yang bocor. Satu akun per orang atau organisasi. ## 4. Bagaimana kredit dihitung dan kapan kedaluwarsa? 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. Memilih negara asal pembacaan halaman menambah 10 kredit, karena halaman kemudian dibaca melalui koneksi residensial di negara tersebut. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. Kredit prabayar tidak pernah kedaluwarsa: halaman yang belum digunakan tetap ada di akun Anda sampai Anda memakainya. Kredit hanya hilang jika Anda menghapus akun atau jika kami menutupnya karena pelanggaran ketentuan ini. Jika kami berhenti menjual layanan, kami memberi pemberitahuan minimal 30 hari agar Anda dapat memakai sisa kredit atau memindahkan nilainya ke produk lain. ## 5. Bagaimana pembayaran bekerja? Harga dalam dolar AS di [halaman harga](https://webreaderapi.com/id/pricing/). Anda mengisi saldo dalam BTC, USDT, USDC, ETH, SOL, LTC, minimal US$25, dan membeli pak kredit dari saldo tersebut. Kirim jumlah persis seperti yang ditampilkan di jaringan yang ditampilkan, lalu klik "I've sent the payment"; pembayaran dicocokkan berdasarkan jumlah persisnya dan dikreditkan setelah dikonfirmasi di blockchain. Saldo Anda menyimpan nilainya tanpa tanggal berakhir. Jika harga pak lebih rendah dari top-up minimum, kelebihannya dapat diminta kembali dalam 30 hari, dalam USDT atau USDC, selama belum terpakai; top-up lainnya tidak dikembalikan kecuali diwajibkan hukum. Biaya jaringan ditanggung pengirim. ## 6. Bisakah saya mendapat refund? Bisa, ke saldo Anda, dalam dua kasus: pak yang terpakai kurang dari 20% dalam 72 jam sejak pembelian, dan pak yang tidak berfungsi dan tidak bisa diperbaiki oleh support dalam satu hari. [Kebijakan refund](https://webreaderapi.com/id/refunds/) menyatakan aturan lengkapnya, dengan contoh perhitungan. ## 7. Aturan apa yang berlaku untuk halaman yang saya baca? Crawler kami menerapkan tiga aturan pada setiap permintaan, dan aturan itu tidak bisa dimatikan. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. Jika suatu situs mendeklarasikan Content-Signal: ai-input=no di robots.txt-nya, kami tidak membaca halaman tersebut untuk Anda. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. Anda bertanggung jawab atas cara Anda menggunakan konten yang Anda terima, termasuk hak pemiliknya. [Kebijakan Penggunaan yang Dapat Diterima](https://webreaderapi.com/id/acceptable-use/) mencantumkan penggunaan yang dilarang. ## 8. Apakah ada batas volume atau kecepatan? Setiap akun memiliki batas berapa banyak halaman yang dibaca sekaligus; dashboard Anda menampilkannya, dan support dapat menaikkannya. Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya. Hingga 100 URL per batch job. Kami dapat memperlambat atau menghentikan sementara permintaan ke satu situs web untuk melindunginya, misalnya dengan mematuhi `Crawl-delay`-nya. ## 9. Kapan Anda dapat menangguhkan akun saya? Saat kami menemukan pelanggaran ketentuan ini atau kebijakan penggunaan yang dapat diterima, saat pembayaran dibalik atau bersifat fraudulen, atau saat hukum mewajibkannya. Kami memberi tahu alasannya bila hukum mengizinkan, dan seseorang meninjau faktanya sebelum penangguhan apa pun. ## 10. Apa yang Anda jamin? Kami menyediakan layanan apa adanya. Kami tidak menjamin bahwa halaman tertentu dapat dibaca, bahwa suatu situs akan menerima permintaan kami, atau bahwa layanan akan berjalan tanpa gangguan. Permintaan yang gagal dan halaman yang ditolak situs tidak dikenai biaya, yang membatasi biaya Anda saat halaman tidak dapat dibaca. ## 11. Bagaimana tanggung jawab Anda? Sejauh hukum mengizinkan, total tanggung jawab kami atas klaim apa pun dibatasi pada jumlah yang Anda bayarkan kepada kami dalam 12 bulan sebelum peristiwa yang menyebabkannya. Kami tidak bertanggung jawab atas kerugian tidak langsung, seperti hilangnya keuntungan atau hilangnya data. Tidak ada dalam ketentuan ini yang membatasi tanggung jawab yang tidak boleh dibatasi oleh hukum. ## 12. Bagaimana ketentuan ini berubah? Kami memberi tanggal pada setiap versi dan mencatat perubahan di [changelog](https://webreaderapi.com/id/changelog/). Perubahan yang mengurangi hak Anda berlaku untuk kredit yang dibeli setelah perubahan dipublikasikan. Pertanyaan dikirim ke support@webreaderapi.com. --- 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. --- # Web page to Markdown API: konten utama URL apa pun, siap untuk model > API halaman web ke Markdown untuk LLM dan AI agent: URL apa pun menjadi Markdown bersih dengan judul, penulis, dan tanggal dari US$0,07/1K halaman. Tanpa KYC. - URL: https://webreaderapi.com/id/url-to-markdown-api/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Kirim URL dan dapatkan artikelnya kembali sebagai Markdown: heading, paragraf, daftar, tabel, dan link dipertahankan; menu, banner cookie, iklan, dan footer dihapus. Dengan judul, penulis, tanggal, dan bahasa halaman. **Jawaban singkat — API mana yang mengubah halaman web menjadi Markdown bersih untuk LLM?** Web page to Markdown API mengambil halaman, mempertahankan konten utamanya, dan mengembalikannya sebagai Markdown. **WebReaderAPI** melakukannya dalam satu permintaan: `GET https://webreaderapi.com/api/v1/read?url=…` mengembalikan artikel beserta heading, daftar, tabel, dan link, plus judul, penulis, tanggal, dan jumlah kata, dengan biaya satu kredit per halaman mulai US$0,07/1K halaman per Oktober 2026. robots.txt dipatuhi. Tanpa KYC; bayar dengan kripto. ## URL to Markdown API sekilas | Atribut | Nilai | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` (atau `POST` dengan JSON body) | | Output | Markdown bersih dari konten utama halaman (atau teks biasa, atau HTML bersih), dengan judul, deskripsi, penulis, tanggal publikasi, bahasa dan jumlah kata; tautan dan gambar berdasarkan permintaan | | JavaScript | Render JavaScript di browser headless saat halaman memerlukannya (render=auto), atau selalu, atau tidak pernah | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Token budget | `max_chars` memotong Markdown sesuai panjang yang bisa diterima model Anda | | robots.txt | Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya | | Harga | US$3,75 untuk 10.000 halaman, US$21,75 untuk 100.000 halaman, mulai US$0,07/1K halaman di 5.000.000 halaman | | Pembayaran | BTC, USDT, USDC, ETH, SOL, LTC, dari top-up US$25; tanpa KYC | ## Mengapa mengubah halaman web menjadi Markdown sebelum memberikannya ke model? Markdown mempertahankan struktur yang dibutuhkan model dan membuang markup yang tidak dibutuhkannya. Halaman artikel tipikal membawa navigasi, skrip, tag pelacak, pemberitahuan cookie, dan widget artikel terkait di sekitar beberapa ratus kata teks. Jika dikirim sebagai HTML mentah, sebagian besar token yang Anda bayar adalah markup. Markdown mempertahankan heading sebagai `#`, daftar sebagai `-`, tabel sebagai pipa, dan tautan sebagai `[text](url)`. Model tetap dapat melihat kalimat mana yang termasuk bagian mana, mengutip tautan sumber, dan memecah teks menjadi chunk berdasarkan heading-nya. Teks yang sama dalam prosa biasa kehilangan struktur itu; teks yang sama dalam HTML memakan jauh lebih banyak token. ## Apa yang dipertahankan API, dan apa yang dihapusnya? Dengan `main_content=true`, nilai default, API mempertahankan bagian halaman yang dicari pembaca dan menghapus sisanya. | Dipertahankan | Dihapus | |---|---| | Judul dan heading | Navigasi situs dan menu | | Paragraf, kutipan, dan daftar | Banner cookie dan persetujuan | | Tabel, sebagai tabel Markdown | Iklan dan widget promosi | | Blok kode, dengan bahasanya bila ditampilkan | Sidebar dan daftar artikel terkait | | Tautan di dalam teks | Footer dan boilerplate legal | | Gambar, hanya dengan `include_images=true` | Tombol share dan formulir komentar | Setel `main_content=false` untuk mengubah seluruh halaman, misalnya halaman beranda atau daftar produk yang semuanya penting. Setel `format=text` untuk teks biasa tanpa Markdown, atau `format=html` untuk HTML bersih dari konten utama. *curl: satu halaman sebagai Markdown, dipotong hingga 20.000 karakter* ```bash curl -G "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/pour-over-coffee" \ -d format=markdown -d max_chars=20000 ``` *Python: baca halaman dan cetak metadata serta Markdown-nya* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/pour-over-coffee", "format": "markdown"}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["title"], "|", page.get("author"), "|", page.get("published_at")) print(page["word_count"], "words,", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## Bagaimana dengan halaman yang dibuat dengan JavaScript? Banyak halaman mengirim hampir tanpa teks di HTML pertamanya dan membangun konten di browser. Dengan `render=auto`, nilai default, API terlebih dahulu membaca HTML mentah; jika teksnya terlalu sedikit, API membuka halaman di browser headless dan membaca hasilnya. Respons menyebutkan mana yang terjadi di `rendered`. Halaman yang memerlukan browser memakan dua kredit, bukan satu. Jika Anda tahu suatu situs selalu memerlukannya, setel `render=true`; jika Anda hanya ingin apa yang dikirim server, setel `render=false` dan tidak pernah membayar kredit kedua. ## Apa yang terjadi ketika situs tidak ingin dibaca? Kami menghormati pilihannya dan Anda tidak dikenakan biaya. Crawler kami mengidentifikasi dirinya sebagai `WebReaderAPI` dan memeriksa robots.txt sebelum setiap pembacaan. Halaman yang tidak diizinkan untuk token kami, atau untuk semua robot, menghasilkan `403 blocked_by_robots`. Situs yang mendeklarasikan `Content-Signal: ai-input=no` menghasilkan `403 blocked_by_site_policy`. Jika situs menolak permintaan dengan cara lain, seperti status 403, halaman tantangan, atau login wall, Anda menerima `502 target_refused` dengan status dari situs itu sendiri. Jika suatu situs menolak permintaan kami, kami mengembalikan jawabannya: kami tidak pernah menyelesaikan CAPTCHA, masuk ke akun, atau mencoba mengatasi blokir atau paywall. [Halaman crawler kami](https://webreaderapi.com/id/bot/) menjelaskan semua ini kepada pemilik situs, lengkap dengan User-Agent yang tepat. ## Berapa banyak halaman yang dibutuhkan proyek saya? Hitung satu kredit per halaman, dua untuk halaman yang memerlukan browser. Beberapa volume tipikal: - **Agen AI** yang membaca 5 halaman per tugas dan menjalankan 100 tugas sehari membaca sekitar 15.000 halaman per bulan: 50.000 halaman (US$14,25) bertahan lebih dari tiga bulan. - **Indeks RAG** dari tiga situs dokumentasi dengan masing-masing 2.000 halaman adalah 6.000 halaman, lalu penyegaran mingguan untuk halaman yang berubah. - **Korpus riset** berisi 400.000 artikel berita dan blog masuk dalam 500.000 halaman (US$50). Kredit tidak pernah kedaluwarsa, jadi pack yang dibeli untuk crawl sekali pakai tetap menyimpan nilai sisanya untuk pekerjaan berikutnya. ## Berapa biaya URL to Markdown API? 10.000 halaman biayanya US$3,75, 100.000 halaman biayanya US$21,75, dan 1.000.000 halaman biayanya US$74,25, per Oktober 2026. Halaman yang gagal dan halaman yang ditolak robots.txt gratis. Lihat [semua pack](https://webreaderapi.com/id/pricing/). | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Volume | 1.000.000 halaman | US$74,25 | US$0,07/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## URL to Markdown API: pertanyaan umum ### Apakah Markdown mempertahankan tabel dan blok kode? Ya. Tabel HTML menjadi tabel Markdown, dan blok kode tetap di dalam fence, dengan bahasanya bila halaman menandainya. Tabel yang sangat kompleks, seperti yang memiliki sel gabungan, diratakan baris demi baris. ### Bisakah saya mendapatkan seluruh halaman alih-alih hanya artikelnya? Bisa. Setel `main_content=false` dan API mengubah semua yang ada di halaman, termasuk navigasi dan footer. Ini cocok untuk halaman beranda, halaman kategori, dan daftar produk, di mana detektor konten utama akan membuang bagian yang berguna. ### Bagaimana cara menjaga halaman tetap dalam context window model saya? Gunakan `max_chars`, antara 1.000 dan 500.000 karakter, untuk memotong Markdown pada panjang tertentu. Field `word_count` memberi tahu Anda seberapa panjang artikel lengkapnya, sehingga agen Anda dapat memutuskan apakah perlu membaca lebih lanjut. ### Apakah bisa membaca halaman di balik login atau paywall? Tidak. WebReaderAPI hanya membaca halaman publik. API tidak pernah login ke akun dan tidak pernah mencoba melewati paywall atau blokir; halaman seperti itu mengembalikan penolakan dari situs dan tidak dikenakan biaya. ### Apakah saya perlu ID atau kartu untuk mendapatkan API key? Tidak. WebReaderAPI tidak meminta ID, selfie, dokumen perusahaan, maupun kartu. Login dengan nomor akun; email opsional. Anda mengisi saldo dari US$25 dalam BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Apa yang bisa Anda bangun dengan web reader API? > Web reader API: alat fetch untuk AI agent, ingestion RAG, pemantauan perubahan halaman, dan ekspor website ke Markdown. Mulai dari US$0,07/1K halaman. - URL: https://webreaderapi.com/id/use-cases/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Empat pekerjaan mencakup sebagian besar yang orang lakukan dengan teks halaman yang bersih: memberi agent cara untuk membaca, mengisi knowledge base, memantau halaman untuk perubahan, dan memindahkan konten situs ke Markdown. Masing-masing punya halaman sendiri dengan kode dan biaya. **Jawaban singkat — Untuk apa web reader API digunakan?** Tim menggunakan web reader API untuk memberi AI agent alat fetch, untuk meng-ingest situs ke indeks RAG, untuk memantau halaman publik untuk perubahan, dan untuk mengonversi website mereka sendiri ke Markdown. **WebReaderAPI** mencakup keempatnya dengan satu API key: `/read` untuk satu halaman, `/batch` untuk sebuah daftar, `/crawl` untuk sebuah situs, dengan satu kredit per halaman mulai dari US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Use case mana milik Anda? - **[Agen AI](https://webreaderapi.com/id/use-cases/ai-agents/)** — Alat read_url untuk Claude, Cursor, OpenClaw, n8n atau agent Anda sendiri, dengan batas panjang per halaman. - **[Ingesti RAG](https://webreaderapi.com/id/use-cases/rag/)** — Crawl dokumentasi dan blog menjadi potongan Markdown yang mempertahankan heading dan URL sumbernya. - **[Pemantauan perubahan](https://webreaderapi.com/id/use-cases/monitoring/)** — Baca halaman harga, kebijakan, dan changelog sesuai jadwal dan dapatkan perbedaannya sebagai teks. - **[Website ke Markdown](https://webreaderapi.com/id/use-cases/website-to-markdown/)** — Ekspor situs Anda sendiri ke file Markdown untuk migrasi, backup, atau asisten Anda sendiri. - **[PDF](https://webreaderapi.com/id/pdf-to-markdown-api/)** — Laporan, makalah, dan manual dari sebuah tautan, dikonversi menjadi teks Markdown. - **[llms.txt](https://webreaderapi.com/id/guides/llms-txt-generator/)** — Bangun file llms.txt untuk situs Anda sendiri dari sebuah crawl, dengan satu baris per halaman. ## Endpoint mana dan berapa halaman yang dibutuhkan setiap use case? Volume tipikal untuk tim kecil, untuk memperkirakan paket pertama. Satu kredit per halaman, dua jika halaman memerlukan browser. | Use case | Endpoint | Halaman tipikal per bulan | | --- | --- | --- | | Agent yang membaca 5 halaman per tugas, 100 tugas sehari | `/read` | Sekitar 15.000 | | Indeks RAG dari 3 situs dokumentasi, diperbarui mingguan | `/crawl`, lalu `/batch` | 6.000 untuk membangun, beberapa ratus per minggu setelahnya | | Memantau 200 halaman kompetitor dan kebijakan setiap hari | `/batch` | Sekitar 6.000 | | Mengekspor situs 2.000 halaman sekali | `/crawl` | 2.000, sekali bayar | ## Apa masalah yang sama dari keempat pekerjaan ini? Semuanya membutuhkan bagian halaman yang bisa dibaca, bukan tata letaknya. Agen membuang token pada menu; indeks memberi peringkat pada boilerplate; pemantau perubahan memunculkan alarm palsu saat iklan berganti; migrasi menyalin banner cookie ke situs baru. Ekstraksi konten utama memperbaiki masalah yang sama di setiap kasus. Semuanya juga memiliki batasan yang sama. Halaman di balik login atau paywall tidak terjangkau, dan situs yang menolak robots dilewati dan tidak ditagih. Kami menghormati robots.txt: crawler kami mengidentifikasi diri sebagai WebReaderAPI, mengikuti aturan yang ditulis untuknya atau untuk semua robot, dan tidak membaca halaman yang tidak diizinkan situs. Halaman yang ditolak tidak dikenai biaya. ## Bagaimana saya memilih antara /read, /batch dan /crawl? Gunakan alat terkecil yang sesuai kebutuhan. - **`/read`** mengembalikan satu halaman secara sinkron. Cocok untuk agen, yang memutuskan halaman mana yang dibaca berikutnya satu per satu. - **`/batch`** membaca hingga 100 URL yang sudah Anda ketahui, sebagai pekerjaan latar belakang. Cocok untuk daftar pemantauan dan penyegaran. - **`/crawl`** menemukan dan membaca seluruh situs dari URL awal, hingga 10.000 halaman, mengikuti sitemap dan robots.txt-nya. Cocok untuk pembangunan awal dan ekspor. Ketiganya menerima opsi yang sama, seperti `format`, `main_content`, `render` dan `max_chars`, dan menagih dengan cara yang sama. ## Berapa biaya proyek pertama? Sebagian besar proyek pertama cukup dengan satu paket kecil. Agen prototipe, satu indeks dokumentasi atau daftar pemantauan beberapa ratus halaman menggunakan beberapa ribu hingga lima belas ribu kredit per bulan. 10.000 halaman berbiaya US$3,75 dan 50.000 halaman berbiaya US$14,25, per Oktober 2026. Kredit tidak pernah kedaluwarsa, jadi membeli paket lebih besar untuk proyek yang mungkin berkembang tidak menambah biaya apa pun di bulan yang sepi. Halaman yang gagal dan halaman yang ditolak oleh robots.txt gratis. ## Paket untuk proyek pertama Mulai dari yang kecil; kredit terbawa tanpa tanggal berakhir. 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Kasus penggunaan: pertanyaan umum ### Bisakah saya menggunakan satu API key untuk beberapa proyek? Bisa, atau buat satu API key per proyek agar Anda dapat melihat penggunaan secara terpisah dan mencabut satu tanpa mengganggu yang lain. Buat beberapa API key, misalnya satu per agent atau proyek, dan cabut salah satunya dari dashboard Anda. ### Kasus penggunaan mana yang memerlukan rendering JavaScript? Semua yang membaca aplikasi web modern, situs dokumentasi single-page atau halaman yang memuat konten setelah respons pertama. Dengan `render=auto`, API hanya melakukan rendering ketika HTML mentah memuat terlalu sedikit teks. ### Apakah ada kasus penggunaan yang tidak cocok untuk WebReaderAPI? Ada: mengumpulkan data pribadi tentang orang perorangan, membaca konten di balik login atau paywall, dan apa pun yang memerlukan cara untuk melewati penolakan situs. [Kebijakan Penggunaan yang Dapat Diterima](https://webreaderapi.com/id/acceptable-use/) kami mencantumkan aturannya. ### Apakah saya perlu ID untuk memulai? Tidak. WebReaderAPI tidak meminta ID, selfie, maupun dokumen. Top-up mulai dari US$25, dalam BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Web fetch tool untuk agen AI: baca halaman sebagai Markdown bersih > Alat web fetch untuk agen AI: baca halaman publik sebagai Markdown lewat MCP, OpenAI tools, LangChain, atau n8n, mulai dari US$0,07/1K halaman. Kripto. - URL: https://webreaderapi.com/id/use-cases/ai-agents/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Agen yang bisa mencari tetapi tidak bisa membaca hanya menjawab dari snippet. Beri ia tool yang mengubah URL publik mana pun menjadi Markdown pendek dan bersih, dan ia dapat membaca sumbernya, mengutipnya, dan mencantumkannya, dalam batas anggaran yang Anda tetapkan. **Jawaban singkat — Apa cara terbaik memberi agen AI sebuah web fetch tool?** Bungkus web reader API sebagai tool yang menerima URL dan mengembalikan konten utama halaman sebagai Markdown, dipotong pada panjang tertentu. **WebReaderAPI** melakukan pembacaan, merender JavaScript bila perlu, menghormati robots.txt, dan mengenakan satu kredit per halaman mulai dari US$0,07/1K halaman per Oktober 2026. Kode tool siap pakai mencakup MCP, OpenAI function calling, LangChain, n8n, dan OpenClaw. Tanpa KYC; kripto. ## WebReaderAPI sebagai tool agen | Atribut | Nilai | | --- | --- | | Alat | `read_url(url, max_chars)` memanggil `https://webreaderapi.com/api/v1/read` | | Mengembalikan | Markdown konten utama, plus judul, penulis, tanggal, dan jumlah kata | | Batas panjang | `max_chars`, 1.000 hingga 500.000 karakter per halaman | | Halaman JavaScript | Render JavaScript di browser headless saat halaman memerlukannya (render=auto), atau selalu, atau tidak pernah | | Penolakan | Dikembalikan sebagai error yang jelas, tidak pernah dikenakan biaya | | Integrasi | [MCP](https://webreaderapi.com/id/docs/mcp/), [OpenAI](https://webreaderapi.com/id/docs/openai/), [LangChain dan LlamaIndex](https://webreaderapi.com/id/docs/langchain/), [n8n](https://webreaderapi.com/id/docs/n8n/), [OpenClaw](https://webreaderapi.com/id/docs/openclaw/) | | Harga | US$3,75 seharga 10.000 halaman; kredit tidak pernah kedaluwarsa | ## Mengapa agent butuh reader dan bukan HTML mentah? Karena HTML mentah menghabiskan context window untuk hal-hal yang tidak dibutuhkan model. Artikel berita atau halaman dokumentasi datang terbungkus navigasi, script, banner persetujuan, dan tautan terkait. Jika diteruskan apa adanya, konten itu mendesak percakapan dan membuat model mengutip menu. Reader menyelesaikan tiga masalah sekaligus. Reader hanya menyimpan konten utama, merender halaman yang kosong sampai JavaScript berjalan, dan mengubah PDF menjadi teks. Agent menerima satu blok Markdown ringkas dengan judul dan tanggal yang bisa dikutip. ## Mengapa tool fetch bawaan kadang gagal? Terutama karena situs menolak lalu lintas otomatis. Sejak 1 Juli 2025, Cloudflare memblokir crawler AI secara default untuk domain baru, dan mulai 15 September 2026 preset-nya memblokir lalu lintas "Agent" pada halaman beriklan di domain baru. Tool bawaan di coding agent dan asisten menghadapi penolakan itu seperti klien lain. Kegagalan lain bersifat teknis. Dokumentasi OpenClaw, dibaca pada 22 Oktober 2026, menyebutkan web_fetch bawaannya mengekstrak konten dengan Readability, tidak menjalankan JavaScript, dan membatasi output pada 20.000 karakter. Halaman yang dibangun di browser, dokumen panjang, server lambat, dan rate limit semuanya membuat tool seperti ini tersandung. Reader yang merender halaman memperbaiki kasus JavaScript; caching dan kesabaran memperbaiki sisanya. Penolakan adalah keputusan pemilik situs. [Panduan kami tentang error 403 web fetch](https://webreaderapi.com/id/guides/web-fetch-403-errors/) menjelaskan setiap kasus. ## Mengapa tool ini disebut read_url dan bukan web_fetch? Untuk menghindari bentrok dengan tool yang sudah dimiliki agent. Claude Code dan OpenClaw sama-sama menyertakan tool bawaan bernama `web_fetch`. Tool kedua dengan nama yang sama membingungkan model tentang tool mana yang sedang dipanggil. Menamai milik kami `read_url` membuat keduanya tetap tersedia: agent dapat memakai fetcher bawaannya untuk pengecekan cepat dan `read_url` saat butuh Markdown bersih, PDF, atau halaman JavaScript. Definisi tool di halaman dokumentasi kami semuanya memakai nama ini, sehingga Anda dapat berpindah antar framework tanpa mengubah prompt Anda. *Python: tool read_url ringkas dengan batas panjang* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read_url(url: str, max_chars: int = 12000) -> str: """Return a web page as Markdown for a model, or a short reason it was not read.""" resp = requests.get(API, headers=HEADERS, params={"url": url, "max_chars": max_chars}, timeout=90) data = resp.json() if resp.status_code != 200: err = data.get("error", {}) return "Not read (" + err.get("code", "error") + "): " + err.get("message", "") head = "# " + (data.get("title") or url) + "\nSource: " + data["final_url"] if data.get("published_at"): head += " | Published: " + data["published_at"] return head + "\n\n" + data["markdown"] if __name__ == "__main__": print(read_url("https://example.com/blog/pour-over-coffee", max_chars=2000)[:500]) ``` ## Bagaimana seharusnya agent memutuskan apa yang dibaca? Beri batas dan aturan. Tiga kebiasaan menjaga biaya dan context tetap terkendali: - **Baca sedikit, baca dengan baik.** Dua hingga empat sumber per pertanyaan biasanya cukup untuk menjawab dengan kutipan. - **Batasi setiap halaman.** Mulai dengan `max_chars` sekitar 10.000 hingga 15.000 karakter; naikkan hanya ketika `word_count` menunjukkan jawaban kemungkinan ada lebih jauh di bawah. - **Laporkan penolakan.** Ketika halaman tidak terbaca, biarkan model menyebutkannya dan beralih ke sumber lain alih-alih mencoba ulang. Tool di atas mengembalikan penolakan sebagai satu kalimat biasa, sehingga model dapat menjelaskannya kepada pengguna. ## Berapa biaya menjalankan agent di WebReaderAPI? Satu kredit per halaman, dua ketika halaman memerlukan browser. Asisten yang menjawab 100 pertanyaan sehari dan membaca 4 halaman untuk masing-masingnya membaca sekitar 12.000 halaman sebulan. 50.000 halaman (US$14,25) menutupinya selama empat bulan, per Oktober 2026. Kredit tidak pernah kedaluwarsa, jadi agent yang sibuk satu minggu dan menganggur minggu berikutnya tidak membuang kuota bulanan. Halaman yang gagal atau yang ditolak robots.txt tidak dikenakan biaya. ## Paket mana yang cocok untuk agent? Prototipe di 10.000 halaman; beralih ke 50.000 halaman atau 100.000 halaman ketika agent melayani pengguna sungguhan. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## AI agent: pertanyaan umum ### Bisakah saya menambahkan WebReaderAPI ke Claude Desktop atau Cursor? Ya, melalui MCP server kecil yang mengekspos `read_url`. [Halaman MCP](https://webreaderapi.com/id/docs/mcp/) berisi kode dan cuplikan konfigurasi; API key Anda tetap di environment variable. ### Apakah ini berfungsi dengan OpenClaw? Ya, sebagai MCP server di samping web_fetch bawaan OpenClaw. [Halaman OpenClaw](https://webreaderapi.com/id/docs/openclaw/) menunjukkan perintah dari dokumentasi OpenClaw sendiri. ### Bisakah agent membaca halaman yang memblokir bot AI? Tidak. Jika robots.txt tidak mengizinkan halaman, API mengembalikan `blocked_by_robots`; jika situs menolak, API mengembalikan `target_refused` dengan status dari situs. Keduanya tidak dikenakan biaya, dan kami tidak pernah mencoba mengakali penolakan tersebut. ### Bagaimana cara mencegah halaman panjang memenuhi context window? Setel `max_chars`. Markdown dipotong pada panjang itu, dan `word_count` memberi tahu agent seberapa panjang halaman penuh, sehingga agent dapat meminta lebih hanya saat diperlukan. ### Apakah saya butuh kartu atau identitas? Tidak. WebReaderAPI tidak meminta identitas, selfie, dokumen, maupun kartu. Pembayaran dengan BTC, USDT, USDC, ETH, SOL, LTC, dengan top-up minimum US$25. ## 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. [Blog: default baru untuk AI crawler dan agent](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 3. [Alat web fetch](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-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. --- # Pemantauan perubahan website: diff halaman publik sebagai Markdown bersih > Pantau perubahan halaman web publik: baca halaman harga, kebijakan, dan changelog sesuai jadwal, diff teksnya, dan kirim peringatan. Mulai US$0,07/1K halaman. - URL: https://webreaderapi.com/id/use-cases/monitoring/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Membandingkan HTML mentah memunculkan peringatan setiap kali iklan atau token berubah. Membandingkan konten utama sebagai Markdown hanya menandai apa yang akan disadari pembaca: harga baru, klausa yang diubah, entri changelog baru. **Jawaban singkat — Bagaimana cara memantau halaman web untuk perubahan konten?** Baca setiap halaman sesuai jadwal sebagai Markdown konten utamanya, simpan teksnya, dan bandingkan dengan versi sebelumnya; kirim peringatan hanya ketika teks berubah. **WebReaderAPI** membaca hingga 100 URL per batch job, menghapus iklan dan menu agar tidak memicu alarm palsu, dan mengenakan satu kredit per halaman mulai US$0,07/1K halaman per Oktober 2026. Tanpa KYC; bayar dengan kripto. ## Monitoring dengan WebReaderAPI | Atribut | Nilai | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/batch`, lalu `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Ukuran batch | Hingga 100 URL per batch job | | Yang dibandingkan | Markdown konten utama, tanpa iklan, menu, atau banner | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Contoh volume | 200 halaman diperiksa per hari = sekitar 6.000 halaman per bulan | | Harga | US$3,75 seharga 10.000 halaman; kredit tidak pernah kedaluwarsa | ## Apa yang layak dipantau? Halaman yang kata-katanya penting bagi bisnis Anda dan berubah tanpa pemberitahuan: - **Halaman harga** pemasok dan pesaing, untuk melihat paket baru dan pergerakan harga. - **Ketentuan, kebijakan privasi, dan kebijakan pengembalian dana** yang menjadi sandaran Anda, untuk menangkap klausul yang berubah. - **Changelog dan catatan rilis** alat yang menjadi dasar Anda membangun, untuk bereaksi terhadap breaking change. - **Halaman dokumentasi** yang ditautkan produk Anda, untuk segera memperbaiki panduan yang rusak. - **Pemberitahuan publik** dari regulator atau badan standar di bidang Anda. Batasi daftar pada halaman publik. Profil pribadi dan halaman di balik login di luar cakupan. ## Mengapa diff Markdown, bukan HTML? Karena HTML berubah sepanjang waktu tanpa kontennya berubah. Iklan bergilir, token sesi, timestamp di footer, dan markup A/B test membuat dua kali pemuatan halaman yang sama berbeda. Diff pada HTML mengubah kebisingan itu menjadi alert, dan orang berhenti membacanya. Markdown konten utama menghilangkan sebagian besar kebisingan sebelum Anda membandingkan. Yang tersisa adalah teks yang dibaca orang: heading, paragraf, daftar, dan tabel. Diff pada teks itu singkat, mudah dibaca, dan layak dijadikan alert. *Python: periksa daftar halaman dan cetak apa yang berubah* ```python import difflib import json import os import pathlib import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} STORE = pathlib.Path("snapshots.json") URLS = [ "https://example.com/pricing", "https://example.com/legal/terms", "https://example.com/changelog", ] old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {} job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json() results, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() results += page.get("results", []) cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) new = dict(old) for item in results: if "markdown" not in item: print("not read:", item["url"], item.get("error", {}).get("code")) continue before = old.get(item["url"], "") if before and before != item["markdown"]: diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0) print("CHANGED:", item["url"]) print("\n".join(list(diff)[:40])) new[item["url"]] = item["markdown"] STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8") ``` ## Seberapa sering saya harus memeriksa, dan seberapa sopan? Periksa sesering halaman itu realistis berubah, tidak lebih. Harian cocok untuk halaman harga dan changelog; mingguan cocok untuk kebijakan dan dokumentasi. Halaman yang dibaca setiap jam jarang memberi tahu lebih banyak daripada satu kali baca per hari, dan biayanya 24 kali lebih besar. WebReaderAPI mengikuti robots.txt untuk setiap halaman dan menghormati `Crawl-delay` situs dalam job crawl. Halaman yang tidak diizinkan situs akan dilewati dan tidak dikenai biaya, jadi situs yang ketat otomatis keluar dari laporan Anda. Tanyakan kepada pemiliknya jika Anda perlu akses ke halaman yang menolak robots. ## Berapa biaya monitoring? Satu kredit per halaman per pemeriksaan. Beberapa contoh pada harga Oktober 2026: - **50 halaman, harian:** sekitar 1.500 halaman per bulan. 10.000 halaman (US$3,75) bertahan lebih dari enam bulan. - **200 halaman, harian:** sekitar 6.000 halaman per bulan. 50.000 halaman (US$14,25) bertahan sekitar delapan bulan. - **1.000 halaman, mingguan:** sekitar 4.300 halaman per bulan, mendekati kasus sebelumnya. Halaman yang membutuhkan browser memakai dua kredit; setel `render=false` untuk halaman yang Anda tahu berupa HTML biasa agar hitungannya tetap satu. ## Paket mana yang cocok untuk monitoring? Kalikan halaman dengan pemeriksaan per bulan, lalu pilih paket yang bertahan beberapa bulan. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Monitoring perubahan: pertanyaan umum ### Apakah WebReaderAPI mengirim alert? Tidak. Layanan ini membaca halaman dan mengembalikan Markdown; skrip Anda membandingkan versi dan mengirim alert lewat email, chat, atau tiket. Kode di atas mencetak baris yang berubah sebagai titik awal. ### Bagaimana cara menghindari alarm palsu dari tanggal dan penghitung? Bandingkan Markdown konten utama, bukan HTML, dan hapus baris yang Anda tahu berubah pada setiap pemuatan, seperti "diperbarui 5 menit lalu", sebelum diff. Sebagian besar elemen bergilir sudah dihapus oleh ekstraksi konten utama. ### Bisakah saya memantau halaman yang membutuhkan JavaScript? Bisa. Dengan `render=auto`, halaman yang kosong tanpa JavaScript dirender di browser dengan biaya dua kredit. Halaman yang berfungsi tanpanya tetap satu kredit. ### Bisakah saya memantau seluruh situs alih-alih daftar halaman? Bisa: jalankan job crawl alih-alih batch, lalu bandingkan halaman per halaman. Untuk situs besar, bandingkan dulu tanggal `lastmod` di sitemap dan baca ulang hanya halaman yang berubah. --- 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. --- # Halaman web untuk RAG: ubah situs menjadi Markdown yang bersih dan mudah dipotong > Isi pipeline RAG dengan halaman web: crawl dokumentasi dan blog jadi Markdown bersih, potong per heading. Mulai dari US$0,07/1K halaman, bayar dengan kripto. - URL: https://webreaderapi.com/id/use-cases/rag/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Retrieval bekerja pada apa yang Anda masukkan ke indeks. Markdown bersih dengan heading, metadata, dan URL sumber menghasilkan chunk yang lebih baik, token terbuang lebih sedikit, dan jawaban yang dapat mengutip halamannya. **Jawaban singkat — Bagaimana cara memasukkan halaman web ke pipeline RAG?** Baca setiap halaman sebagai Markdown konten utamanya, pecah berdasarkan heading-nya, lampirkan URL sumber dan judul ke setiap chunk, lalu embed dan simpan. **WebReaderAPI** menangani pembacaannya: satu request per halaman, atau satu job crawl untuk seluruh situs hingga 10.000 halaman, dengan satu kredit per halaman mulai US$0,07/1K halaman per Oktober 2026. robots.txt dihormati. Tanpa KYC; bayar dengan kripto. ## Ingesti RAG dengan WebReaderAPI | Atribut | Nilai | | --- | --- | | Seluruh situs | `POST https://webreaderapi.com/api/v1/crawl`: Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya | | Daftar URL | `POST https://webreaderapi.com/api/v1/batch`: Hingga 100 URL per batch job | | Per halaman | Markdown konten utama, judul, penulis, tanggal, bahasa, jumlah kata | | PDF | File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai | | Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya | | Harga | US$14,25 untuk 50.000 halaman; kredit tidak pernah kedaluwarsa | ## Mengapa Markdown bersih menghasilkan retrieval yang lebih baik? Chunk yang berisi boilerplate menghasilkan retrieval yang buruk. Ketika halaman dipotong dengan menu, teks cookie, dan footer masih di dalamnya, banyak chunk berisi kata navigasi yang sama, dan pencarian vektor mengembalikannya untuk pertanyaan yang tidak berkaitan. Ekstraksi konten utama menghilangkan kebisingan itu sebelum Anda melakukan embed. Heading sama pentingnya. Chunk yang diawali dengan `## Refund policy` membawa topiknya, sehingga baik embedding maupun model yang membacanya nanti tahu tentang apa itu. Teks biasa kehilangan sinyal itu; HTML mentah menyembunyikannya di bawah markup. ## Seperti apa pipeline ingesti itu? Lima langkah, apa pun vector store yang Anda gunakan: 1. **Kumpulkan URL.** Crawl situsnya, atau kirim daftar yang sudah Anda miliki sebagai batch. 2. **Baca sebagai Markdown.** Pertahankan `main_content=true` untuk artikel dan dokumentasi; gunakan `false` untuk halaman listing. 3. **Potong per heading.** Pisahkan pada `#`, `##`, dan `###`, lalu potong bagian yang panjang sesuai batas ukuran Anda dengan sedikit overlap. 4. **Lampirkan metadata.** Simpan `url`, `title`, `published_at`, dan jalur heading bersama setiap chunk, agar jawaban dapat mengutip sumbernya. 5. **Segarkan.** Baca ulang halaman yang sitemap-nya `lastmod` berubah, dan hapus chunk dari halaman yang kini mengembalikan error. *Python: baca halaman dan pisahkan menjadi chunk beserta sumbernya* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} URLS = [ "https://docs.example.com/getting-started", "https://docs.example.com/billing", ] def chunks_for(url, max_len=2000): page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json() if "markdown" not in page: return [] out = [] for section in re.split(r"\n(?=#{1,3} )", page["markdown"]): section = section.strip() heading = section.splitlines()[0] if section else "" for start in range(0, len(section), max_len): out.append({ "text": section[start:start + max_len], "url": page.get("final_url", url), "title": page.get("title"), "heading": heading, }) return out all_chunks = [c for u in URLS for c in chunks_for(u)] print(len(all_chunks), "chunks ready to embed") ``` ## Berapa biaya untuk membangun dan menyegarkan sebuah indeks? Membangun memakan satu kredit per halaman, dua untuk halaman yang butuh browser. Menyegarkan hanya memakan halaman yang Anda baca ulang. Tiga contoh, dengan harga Oktober 2026: - **Pusat bantuan sebuah produk** berisi 800 halaman, disegarkan setiap bulan untuk halaman yang berubah (sekitar 10%): 800 kredit sekali, lalu sekitar 80 per bulan. 10.000 halaman (US$3,75) cukup untuk bertahun-tahun. - **Sepuluh situs dokumentasi** masing-masing 2.000 halaman, disegarkan setiap minggu sebesar 5%: 20.000 kredit, lalu sekitar 4.000 per bulan. 50.000 halaman (US$14,25) mencakup pembangunan dan tujuh bulan penyegaran. - **Arsip berita** berisi 300.000 artikel yang tidak pernah berubah: 300.000 kredit sekali, yang muat dalam 500.000 halaman (US$50). Embedding dan penyimpanan ditagih oleh penyedia Anda sendiri dan tidak termasuk. ## Bisakah saya mengindeks situs yang tidak ingin diindeks? Tidak melalui WebReaderAPI. Halaman yang dilarang oleh robots.txt untuk crawler kami, atau untuk semua robot, dilewati dan tidak dikenai biaya; situs yang mendeklarasikan `Content-Signal: ai-input=no` tidak dibaca untuk Anda. Untuk situs Anda sendiri atau situs mitra yang memblokir robot, minta pemiliknya mengizinkan `WebReaderAPI` di robots.txt; [halaman crawler kami](https://webreaderapi.com/id/bot/) menunjukkan baris yang perlu ditambahkan. Ini juga penting bagi pengguna Anda. Asisten RAG yang mengutip sumber lebih berguna ketika sumber tersebut setuju untuk dibaca. ## Paket mana yang cocok untuk proyek RAG? Hitung halaman untuk membangun indeks, tambahkan penyegaran bulanan, lalu pilih paket yang mencakup beberapa bulan. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | | Scale | 500.000 halaman | US$50 | US$0,10/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Ingesti RAG: pertanyaan umum ### Ukuran chunk berapa yang sebaiknya saya gunakan? Pisahkan per heading terlebih dahulu, lalu potong bagian yang lebih panjang dari sekitar 500 hingga 1.000 token dengan sedikit overlap. Chunk berbasis heading memuat satu topik masing-masing, yang biasanya diambil lebih baik daripada jendela berukuran tetap atas seluruh halaman. ### Apakah WebReaderAPI membuat embedding atau menyimpan vector? Tidak. WebReaderAPI membaca halaman dan mengembalikan Markdown beserta metadata. Anda melakukan embedding dengan model pilihan Anda dan menyimpannya di database vector Anda sendiri; [halaman LangChain dan LlamaIndex](https://webreaderapi.com/id/docs/langchain/) menunjukkan keduanya. ### Bagaimana cara menjaga indeks tetap terbaru? Baca ulang hanya halaman yang berubah. Sebagian besar sitemap memuat tanggal `lastmod` per URL; bandingkan dengan pembacaan terakhir Anda dan kirim URL yang berubah sebagai batch. Halaman yang kini gagal harus dihapus dari indeks. ### Bisakah saya menyertakan PDF dari situs yang sama? Bisa. Crawl membaca tautan PDF di domain yang sama dengan pemeriksaan robots.txt yang sama. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai. --- 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. --- # Ubah website Anda menjadi Markdown: crawl dan ekspor setiap halaman > Ubah website jadi file Markdown: crawl situs Anda dan ekspor tiap halaman dengan front matter untuk migrasi, backup, atau asisten Anda. Tanpa KYC. - URL: https://webreaderapi.com/id/use-cases/website-to-markdown/ - Terakhir diperbarui: 2026-10-22 - Penerbit: WebReaderAPI (https://webreaderapi.com) Pindah ke static site generator, platform dokumentasi, atau knowledge base sering dimulai dengan satu pertanyaan: bagaimana cara mengeluarkan halaman saya sebagai Markdown yang bersih? Crawl melakukannya dalam satu job, dengan judul, tanggal, dan URL tetap tersimpan di front matter. **Jawaban singkat — Bagaimana cara mengubah seluruh website saya menjadi Markdown?** Crawl situs Anda, baca konten utama setiap halaman sebagai Markdown, dan tulis satu file `.md` per halaman dengan judul, URL, dan tanggalnya di front matter. **WebReaderAPI** melakukan crawl hingga 10.000 halaman per job, mengikuti sitemap dan robots.txt Anda, dan menagih satu kredit per halaman dari US$0,07/1K halaman per Oktober 2026. Skrip Python di bawah ini menulis file-file tersebut. Tanpa KYC; bayar dengan kripto. ## Ekspor website dengan WebReaderAPI | Atribut | Nilai | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/crawl`, hasil dari `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Cakupan | Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya | | Per halaman | Markdown konten utama, plus judul, deskripsi, penulis, tanggal, dan bahasa | | Seluruh halaman | `main_content=false` mempertahankan navigasi dan footer saat Anda membutuhkannya | | robots.txt Anda | Harus mengizinkan `WebReaderAPI` untuk halaman yang Anda ekspor | | Harga | US$3,75 seharga 10.000 halaman; kredit tidak pernah kedaluwarsa | ## Kapan ekspor Markdown berguna? Setiap kali konten harus keluar dari sistem yang merendernya. Kasus yang umum: - **Migrasi.** Pindah dari CMS ke static site generator atau platform dokumentasi yang menyimpan halaman sebagai Markdown. - **Backup.** Arsip halaman terbit Anda yang mudah dibaca dan tidak bergantung pada database atau tema apa pun. - **Asisten Anda sendiri.** Memasukkan teks situs Anda ke help bot atau pencarian internal, dengan setiap chunk tertaut ke halamannya. - **Audit.** Membaca semua halaman Anda sebagai teks biasa untuk menemukan klaim usang, penulisan yang rusak, atau konten duplikat. Dalam setiap kasus Anda menginginkan kata-katanya dan strukturnya, bukan tema di sekelilingnya. *Python: crawl situs Anda menjadi file Markdown dengan front matter* ```python import os import pathlib import time from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://www.example.com/" OUT = pathlib.Path("export") def target_path(url): path = urlparse(url).path.strip("/") or "index" return OUT / (path + ".md") def front_matter(page): fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""} lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""] return "\n".join(lines) job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json() cursor, delay, written = None, 5, 0 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for page in batch.get("results", []): if "markdown" not in page: continue dest = target_path(page["final_url"]) dest.parent.mkdir(parents=True, exist_ok=True) dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8") written += 1 cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print(written, "files in", OUT) ``` ## Bagaimana cara mempertahankan struktur folder dan URL-nya? Cerminkan path URL pada path file, seperti yang dilakukan skrip: `/guides/setup/` menjadi `export/guides/setup.md`. Simpan URL asli di front matter sebagai `source`, agar Anda dapat menyiapkan redirect setelah migrasi dan memeriksa bahwa tidak ada yang hilang. Tautan di dalam Markdown masih mengarah ke URL Anda saat ini. Setelah pemindahan, ganti domain atau awalan path dalam satu kali proses, lalu uji sampel halaman. Tabel dan blok kode tetap sebagai Markdown, sehingga sebagian besar static generator merendernya tanpa perubahan. ## Bagaimana jika robots.txt saya sendiri memblokir crawler? Izinkan token kami selama proses ekspor. WebReaderAPI hanya membaca apa yang diizinkan robots.txt untuk `WebReaderAPI` atau untuk semua robot, termasuk di situs Anda sendiri. Tambahkan grup seperti `User-agent: WebReaderAPI` dengan `Allow: /`, jalankan crawl, lalu hapus lagi jika Anda mau. [Halaman crawler kami](https://webreaderapi.com/id/bot/) menunjukkan baris persisnya dan User-Agent yang akan muncul di log server Anda. Halaman yang tetap dilarang dilewati dan tidak dikenai biaya. ## Berapa biaya sebuah ekspor? Satu kredit per halaman, dua untuk halaman yang butuh browser untuk menampilkan teksnya. Situs 2.000 halaman yang dirender di server memakan 2.000 kredit sekali; situs yang sama sebagai aplikasi JavaScript bisa memakan hingga 4.000. Keduanya muat dalam 10.000 halaman untuk US$3,75, per Oktober 2026. Situs 50.000 halaman membutuhkan beberapa job, dipecah per bagian dengan `include_paths`, dan muat dalam 100.000 halaman (US$21,75). Kredit yang tersisa setelah ekspor tetap di akun Anda untuk penyegaran berikutnya. ## Paket mana yang mencakup ekspor saya? Hitung halaman Anda, gandakan jumlahnya jika situs memerlukan JavaScript untuk merender, lalu pilih paket di atasnya. Kredit tidak pernah kedaluwarsa. | Paket | Jumlah | Harga | Harga per unit | | --- | --- | --- | --- | | Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman | | Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman | | Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman | Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa **Sebelum Anda membayar** - Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda. - Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain. - Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt ## Website ke Markdown: pertanyaan umum ### Bisakah saya mengekspor seluruh halaman, termasuk menu dan footer? Ya. Atur `main_content=false` di opsi crawl dan setiap file berisi halaman lengkap yang dikonversi ke Markdown. Sebagian besar migrasi lebih memilih konten utama saja, karena tema baru menyediakan navigasinya sendiri. ### Apakah gambar diunduh? Tidak. Dengan `include_images=true`, tautan gambar tetap ada di Markdown beserta alt text-nya; unduh file-nya sendiri dengan skrip Anda jika migrasi membutuhkannya. ### Bisakah saya mengekspor situs yang bukan milik saya? Hanya halaman publik yang diizinkan robots.txt-nya, dan hanya untuk penggunaan yang diizinkan oleh ketentuannya dan hukum. Untuk migrasi atau backup, ekspor situs Anda sendiri atau situs yang pemiliknya setuju. ### Seberapa besar situs yang bisa ditangani satu job? Hingga 10.000 halaman per job crawl, dalam satu domain. Pecah situs yang lebih besar per bagian dengan `include_paths` dan jalankan beberapa job. --- 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.