Không cần KYC — không ID, không selfie, không giấy tờ. Thanh toán bằng crypto: BTC, USDT, USDC, ETH, SOL, LTC
Ngôn ngữ: Tiếng Việt
Lấy khóa API

Trường hợp sử dụng · giám sát · /batch

Giám sát thay đổi trang web: diff các trang công khai dưới dạng Markdown sạch

So sánh HTML thô sẽ báo động mỗi khi một quảng cáo hay một token thay đổi. So sánh nội dung chính dưới dạng Markdown chỉ đánh dấu những gì người đọc sẽ nhận ra: một giá mới, một điều khoản được viết lại, một mục changelog mới.

Cập nhật lần cuối: · 6 phút đọc

Câu trả lời nhanh

Làm sao tôi có thể theo dõi các trang web để phát hiện thay đổi nội dung?

Đọc từng trang theo lịch dưới dạng Markdown của nội dung chính, lưu văn bản và so sánh với phiên bản trước; chỉ cảnh báo khi văn bản thay đổi. WebReaderAPI đọc tối đa 100 URL mỗi batch job, loại bỏ quảng cáo và menu để chúng không thể kích hoạt báo động giả, và tính một credit mỗi trang từ 0,07 US$/1K trang tính đến tháng 10 năm 2026. Không cần KYC; thanh toán bằng crypto.

Giám sát với WebReaderAPI

EndpointPOST https://webreaderapi.com/api/v1/batch, sau đó GET https://webreaderapi.com/api/v1/jobs/{job_id}
Kích thước batchTối đa 100 URL mỗi batch job
Nội dung được so sánhMarkdown của nội dung chính, không có quảng cáo, menu hay banner
Tính phí1 credit = đọc 1 trang không cần trình duyệt; 2 credit khi trang cần trình duyệt để render JavaScript. Yêu cầu thất bại, hoặc bị robots.txt của trang web từ chối, không bị tính phí
Khối lượng mẫu200 trang kiểm tra mỗi ngày = khoảng 6.000 trang mỗi tháng
Giá3,75 US$ cho 10.000 trang; credit không bao giờ hết hạn

Có gì đáng để theo dõi?

Những trang mà cách diễn đạt ảnh hưởng đến doanh nghiệp của bạn và thay đổi mà không báo trước:

  • Trang giá của nhà cung cấp và đối thủ, để thấy gói mới và biến động giá.
  • Điều khoản, chính sách quyền riêng tư và hoàn tiền mà bạn phụ thuộc, để bắt các điều khoản thay đổi.
  • Changelog và release notes của các công cụ bạn xây dựng dựa trên, để phản ứng với các thay đổi phá vỡ.
  • Trang tài liệu mà sản phẩm của bạn liên kết tới, để sửa hướng dẫn hỏng nhanh chóng.
  • Thông báo công khai từ cơ quan quản lý hoặc tổ chức tiêu chuẩn trong lĩnh vực của bạn.

Giữ danh sách ở các trang công khai. Hồ sơ cá nhân và các trang sau đăng nhập nằm ngoài phạm vi.

Tại sao lại diff Markdown thay vì HTML?

Vì HTML thay đổi liên tục mà nội dung không đổi. Quảng cáo luân phiên, session token, dấu thời gian ở footer và markup A/B test khiến hai lần tải cùng một trang khác nhau. Diff trên HTML biến sự nhiễu đó thành cảnh báo, và người ta bỏ không đọc nữa.

Markdown của nội dung chính loại bỏ phần lớn nhiễu trước khi bạn so sánh. Cái còn lại là văn bản con người đọc: tiêu đề, đoạn văn, danh sách và bảng. Diff trên phần văn bản đó ngắn, dễ đọc và đáng để cảnh báo.

Python: kiểm tra một danh sách trang và in ra những gì đã thay đổi
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")

Tôi nên kiểm tra bao lâu một lần, và lịch sự đến mức nào?

Kiểm tra thường xuyên như trang thực sự thay đổi, và không hơn. Hàng ngày phù hợp với trang giá và changelog; hàng tuần phù hợp với chính sách và tài liệu. Một trang đọc mỗi giờ hiếm khi cho bạn biết nhiều hơn một lần đọc mỗi ngày, và tốn gấp 24 lần.

WebReaderAPI tuân theo robots.txt cho mọi trang và tôn trọng Crawl-delay của một trang web trong các crawl job. Các trang mà trang web đó không cho phép sẽ bị bỏ qua và không bị tính phí, nên một trang web nghiêm ngặt chỉ đơn giản là biến mất khỏi báo cáo của bạn. Hãy hỏi chủ sở hữu nếu bạn cần truy cập một trang từ chối robots.

Theo dõi tốn bao nhiêu?

Một credit mỗi trang mỗi lần kiểm tra. Vài ví dụ theo giá tháng 10 năm 2026:

  • 50 trang, hàng ngày: khoảng 1.500 trang mỗi tháng. 10.000 trang (3,75 US$) dùng được hơn sáu tháng.
  • 200 trang, hàng ngày: khoảng 6.000 trang mỗi tháng. 50.000 trang (14,25 US$) dùng được khoảng tám tháng.
  • 1.000 trang, hàng tuần: khoảng 4.300 trang mỗi tháng, gần với trường hợp trước.

Các trang cần trình duyệt dùng hai credit; đặt render=false cho những trang bạn biết là HTML thuần để giữ số lượng ở mức một.

Gói nào phù hợp để theo dõi?

Nhân số trang với số lần kiểm tra mỗi tháng, rồi chọn một gói dùng được vài tháng. Credit không bao giờ hết hạn.

Kiểm tra

10.000 trang

3,75 US$

0,38 US$/1K trang

  • Dùng thử trên URL thật của bạn
  • Cùng API như gói lớn nhất
  • Credit không bao giờ hết hạn
Chọn 10.000 trang

Khởi đầu

50.000 trang

14,25 US$

0,28 US$/1K trang

  • Một AI agent hoặc bản thử nghiệm RAG
  • Crawl một trang tài liệu
  • Credit không bao giờ hết hạn
Chọn 50.000 trang

Xây dựng

100.000 trang

21,75 US$

0,22 US$/1K trang

  • Agent chạy production và pipeline RAG
  • Tác vụ batch và crawl
  • Credit không bao giờ hết hạn
Chọn 100.000 trang

Trong mọi gói: Trích xuất nội dung chính · Render JavaScript khi cần · Trang thất bại và bị từ chối không bị tính phí · Credit không bao giờ hết hạn

Theo dõi thay đổi: các câu hỏi thường gặp

WebReaderAPI có gửi cảnh báo không?

Không. Nó đọc các trang và trả về Markdown; script của bạn so sánh các phiên bản và gửi cảnh báo qua email, chat hoặc ticket. Đoạn code ở trên in ra các dòng thay đổi như một điểm khởi đầu.

Làm sao để tránh báo động giả do ngày tháng và bộ đếm?

So sánh Markdown của nội dung chính, không phải HTML, và gỡ các dòng mà bạn biết thay đổi mỗi lần tải, như "cập nhật 5 phút trước", trước khi diff. Hầu hết các phần tử luân phiên đã được loại bỏ bởi trích xuất nội dung chính.

Tôi có thể theo dõi các trang cần JavaScript không?

Có. Với render=auto, các trang trống nếu không có JavaScript sẽ được render trong trình duyệt headless với giá hai credit. Các trang hoạt động mà không cần JavaScript vẫn giữ ở mức một.

Tôi có thể theo dõi cả một trang web thay vì một danh sách trang không?

Có: chạy một crawl job thay vì một batch, rồi so sánh từng trang. Với các trang web lớn, hãy so sánh ngày lastmod trong sitemap trước và chỉ đọc lại những trang đã thay đổi.

Từ 0,07 US$/1K trang · không cần KYC

Lấy khóa API