Uji
10.000 halaman
US$3,75
US$0,38/1K halaman
- Coba dengan URL asli Anda
- API yang sama dengan paket terbesar
- Kredit tidak pernah kedaluwarsa
Use case · monitoring · /batch
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.
| 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 |
Halaman yang kata-katanya penting bagi bisnis Anda dan berubah tanpa pemberitahuan:
Batasi daftar pada halaman publik. Profil pribadi dan halaman di balik login di luar cakupan.
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.
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")
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.
Satu kredit per halaman per pemeriksaan. Beberapa contoh pada harga Oktober 2026:
Halaman yang membutuhkan browser memakai dua kredit; setel render=false untuk halaman yang Anda tahu berupa HTML biasa agar hitungannya tetap satu.
Kalikan halaman dengan pemeriksaan per bulan, lalu pilih paket yang bertahan beberapa bulan. Kredit tidak pernah kedaluwarsa.
10.000 halaman
US$3,75
US$0,38/1K halaman
50.000 halaman
US$14,25
US$0,28/1K halaman
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
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.
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.
Bisa. Dengan render=auto, halaman yang kosong tanpa JavaScript dirender di browser dengan biaya dua kredit. Halaman yang berfungsi tanpanya tetap satu kredit.
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.
Mulai dari US$0,07/1K halaman · tanpa KYC
Dapatkan API key