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
POST /crawl · tối đa 10.000 trang mỗi job · tuân theo robots.txt và Crawl-delay
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â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.
| Bắt đầu một lần crawl | POST 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 vi | Crawl 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 web | Chú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 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ó.
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.max_depth./read: Markdown, nội dung chính, render khi cần.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.
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"))
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ể:
WebReaderAPI hoặc với tất cả robots sẽ bị bỏ qua và không bị tính phí.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.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.
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í.
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.
10.000 trang
3,75 US$
0,38 US$/1K trang
50.000 trang
14,25 US$
0,28 US$/1K trang
100.000 trang
21,75 US$
0,22 US$/1K trang
500.000 trang
50 US$
0,10 US$/1K 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
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.
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.
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.
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.
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