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

POST /crawl · tối đa 10.000 trang mỗi job · tuân theo robots.txt và Crawl-delay

Crawl API: chuyển cả một trang web sang các file Markdown

Nhập URL bắt đầu và giới hạn số trang. Crawler sẽ đi theo sitemap của trang và các liên kết trong cùng tên miền, đọc từng trang dưới dạng Markdown và trả kết quả cho bạn theo từng trang. Một credit cho mỗi trang.

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

Câu trả lời nhanh

Làm sao để crawl cả một trang web và nhận mọi trang dưới dạng Markdown?

Dùng một crawl API: bạn gửi URL bắt đầu và giới hạn, nó trả về từng trang của trang web dưới dạng Markdown. WebReaderAPI crawl tối đa 10.000 trang mỗi job trong cùng một tên miền, tuân theo sitemap, robots.txt và Crawl-delay, và tính một credit cho mỗi trang được đọc, từ 0,07 US$/1K trang tính đến tháng 10 năm 2026. Các trang bị robots.txt từ chối thì miễn phí. Không cần KYC; thanh toán bằng crypto.

Crawl API trong nháy mắt

Bắt đầu một lần crawlPOST https://webreaderapi.com/api/v1/crawl với url, limit, max_depth, include_paths, exclude_paths
Lấy kết quảGET https://webreaderapi.com/api/v1/jobs/{job_id}, phân trang bằng cursor
Phạm viCrawl một website mỗi job, tối đa 10.000 trang, theo sitemap, robots.txt và Crawl-delay của trang
Nhiều URL riêng lẻPOST https://webreaderapi.com/api/v1/batch: Tối đa 100 URL mỗi batch job
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í
Chủ trang webChúng tôi tôn trọng robots.txt: crawler của chúng tôi tự nhận là WebReaderAPI, tuân theo các quy tắc dành cho nó hoặc cho tất cả robot, và không đọc trang mà website không cho phép. Trang bị từ chối không bị tính phí
Giá14,25 US$ cho 50.000 trang, 50 US$ cho 500.000 trang

Crawl job hoạt động như thế nào?

Crawl là một job chạy nền, vì đọc hàng trăm trang mất nhiều thời gian hơn một HTTP request nên có.

  1. Bắt đầu: POST https://webreaderapi.com/api/v1/crawl với URL bắt đầu và các giới hạn của bạn. Bạn nhận được job_id ngay lập tức.
  2. Khám phá: crawler đọc robots.txt và sitemap của trang web, sau đó theo các liên kết trong cùng domain, theo chiều rộng, tối đa max_depth.
  3. Đọc: mỗi trang được phép đọc bằng cùng các tùy chọn như /read: Markdown, nội dung chính, render khi cần.
  4. Thu thập: poll GET https://webreaderapi.com/api/v1/jobs/{job_id} và phân trang kết quả bằng cursor trong khi job đang chạy, hoặc khi job đã done.

Job dừng ở limit của bạn, nên bạn không bao giờ phải trả cho nhiều trang hơn số bạn yêu cầu.

Python: crawl một trang tài liệu thành các file Markdown
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"))

Crawler truy cập những trang nào và bỏ qua những trang nào?

Nó chỉ ở trong domain của URL bắt đầu và bỏ qua mọi thứ mà trang web yêu cầu robots để yên. Cụ thể:

  • Chỉ cùng domain. Các liên kết đến domain khác được liệt kê trong kết quả nhưng không được đọc.
  • robots.txt trước. Các trang bị disallow với WebReaderAPI hoặc với tất cả robots sẽ bị bỏ qua và không bị tính phí.
  • Tôn trọng Crawl-delay. Nếu trang web đặt một giá trị, crawler sẽ chờ đúng khoảng đó giữa hai trang, nên một trang lớn có thể mất nhiều thời gian hơn.
  • Bộ lọc của bạn. include_paths và exclude_paths nhận các pattern đơn giản như /blog/*; dùng chúng để tránh các trang tag, trang tìm kiếm và archive.
  • Loại bỏ trùng lặp. Cùng một trang được tiếp cận qua hai URL, ví dụ với tham số tracking, chỉ được đọc một lần khi trang web khai báo canonical URL.

Tôi nên dùng crawl hay batch?

Dùng crawl khi bạn biết trang web nhưng không biết các trang cụ thể; dùng batch khi bạn đã có danh sách URL. Crawl khám phá các trang từ sitemap và các liên kết. Batch đọc chính xác các URL bạn gửi, tối đa 100 mỗi job, trên bất kỳ số lượng trang web nào.

Để làm mới hàng tuần một knowledge base, một pattern phổ biến là một crawl để xây index, sau đó là các batch gồm những trang có lastmod đã thay đổi trong sitemap. Cách đó giữ chi phí hàng tuần chỉ cho những trang thực sự thay đổi.

Crawl một trang web tốn bao nhiêu?

Một credit cho mỗi trang đọc, hai cho các trang cần trình duyệt. Một trang tài liệu 1.500 trang render trên server tốn 1.500 credit; cùng trang đó nếu xây dựng dạng single-page app có thể tốn tới 3.000.

Ba job điển hình, tính đến tháng 10 năm 2026: một product manual 300 trang vừa với gói 10.000 trang (3,75 US$); mười trang tài liệu mỗi trang 2.000 trang vừa với 50.000 trang (14,25 US$); một archive 400.000 trang vừa với 500.000 trang (50 US$). Các trang bị bỏ qua và thất bại thì miễn phí.

Gói nào phù hợp cho một crawl?

Chọn kích thước gói theo số trang, rồi cộng thêm biên dự phòng cho các trang cần trình duyệt. Credit không bao giờ hết hạn, nên phần còn lại dùng cho lần crawl tiếp theo.

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

Mở rộng

500.000 trang

50 US$

0,10 US$/1K trang

  • Cơ sở tri thức lớn
  • Tăng độ đồng thời theo yêu cầu
  • Credit không bao giờ hết hạn
Chọn 500.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

Crawl API: các câu hỏi thường gặp

Một crawl đọc được tối đa bao nhiêu trang?

Tối đa 10.000 trang mỗi job, trong domain của URL bắt đầu. Với một trang lớn hơn, hãy chia thành nhiều job bằng include_paths, ví dụ mỗi section một job.

Crawler có dùng sitemap không?

Có. Nó đọc sitemap được khai báo trong robots.txt hoặc tại vị trí thông thường, sau đó theo các liên kết trên những trang nó đọc. Các trang chỉ được sitemap liệt kê vẫn được đọc nếu robots.txt cho phép.

Tôi có thể crawl một trang web chặn AI crawler không?

Không, với WebReaderAPI. Nếu robots.txt disallow crawler của chúng tôi hoặc tất cả robots, các trang đó bị bỏ qua và không bị tính phí. Nếu trang web khai báo Content-Signal: ai-input=no, chúng tôi không đọc nó cho bạn. Chúng tôi không bao giờ tìm cách lách những lựa chọn như vậy.

Tôi có thể lấy kết quả khi crawl vẫn đang chạy không?

Có. GET https://webreaderapi.com/api/v1/jobs/{job_id} trả về các trang đã đọc đến thời điểm đó kèm cursor; cứ tiếp tục phân trang cho đến khi job done và không còn cursor.

Một crawl có thể đọc nhiều trang hơn giới hạn của tôi không?

Không. Credit được tính theo từng trang, và job dừng khi đạt limit bạn đã đặt. Các trang bị bỏ qua vì robots.txt và các trang thất bại không dùng credit.

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

Lấy khóa API