# 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.
