Trả lời nhanh
Làm sao đọc các trang web tôi đã có URL?
Gửi tối đa 20 URL đến POST https://llmwebsearch.com/api/v1/extract. LLMWebSearch đọc từng trang công khai và trả về nội dung chính dưới dạng Markdown hoặc plain text, kèm trạng thái cho mỗi URL. Tính phí 1 credit cho mỗi nhóm 3 trang bắt đầu được đọc, từ 1,20 US$/1K lượt tìm kiếm mỗi credit tìm kiếm tính đến tháng 10 năm 2026. robots.txt được tôn trọng. Không cần KYC; thanh toán bằng crypto.
/extract at a glance
| Phương thức | POST với body JSON |
|---|---|
| URL | https://llmwebsearch.com/api/v1/extract |
| Đầu vào | urls: 1 đến 20 địa chỉ http hoặc https |
| Đầu ra | Nội dung chính của mỗi URL, ở định dạng markdown (mặc định) hoặc text |
| Thanh toán | Đọc các trang mà bạn đã có URL tốn 1 credit cho mỗi nhóm 3 trang bắt đầu được trả về kèm nội dung, tối đa 20 URL mỗi lượt gọi; các URL bị từ chối hoặc thất bại không được tính |
| robots.txt | Trình đọc của chúng tôi tôn trọng robots.txt: nó tự giới thiệu là LLMWebSearch, tuân theo các quy tắc mà một trang viết cho nó hoặc cho tất cả robot, và bỏ qua nội dung của bất kỳ trang nào nó không được phép đọc |
| Trình đọc trang | LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/) |
Đọc một danh sách URL
POST/api/v1/extract
Tải song song từng URL và trả về nội dung chính, theo đúng thứ tự bạn gửi. Mỗi mục có content_status riêng, nên một trang bị từ chối không làm hỏng cả lần gọi. Ví dụ đọc ba trang; tiêu đề và giá trị chỉ mang tính minh họa.
Xác thực: khóa API trong header Authorization: Bearer API_KEY.
Phần thân yêu cầu
| Trường | Loại | Bắt buộc | Mô tả |
|---|---|---|---|
urls | string[] | Có | 1 đến 20 địa chỉ http hoặc https. Địa chỉ private, local và cloud metadata bị từ chối. |
format | string | Không | markdown (mặc định) hoặc text. |
max_chars | integer | Không | Giới hạn độ dài nội dung của mỗi trang, 500 đến 50.000 ký tự. Mặc định 6.000. |
{
"urls": [
"https://docs.example.com/security/key-rotation",
"https://blog.example.org/key-rotation-checklist",
"https://example.com/changelog"
],
"max_chars": 20000
}Phản hồi 200
{
"credits_used": 1,
"results": [
{
"url": "https://docs.example.com/security/key-rotation",
"title": "Rotating API keys",
"content_status": "ok",
"content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key...",
"word_count": 948
},
{
"url": "https://blog.example.org/key-rotation-checklist",
"content_status": "blocked_by_robots"
},
{
"url": "https://example.com/changelog",
"title": "Changelog",
"content_status": "ok",
"content": "# Changelog\n\n## 2026-10-20\n\n- New export format...",
"word_count": 2204
}
]
}Ví dụ mã
curl -s "https://llmwebsearch.com/api/v1/extract" \
-H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"], "max_chars": 20000}'import os
import requests
resp = requests.post(
"https://llmwebsearch.com/api/v1/extract",
headers={"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]},
json={"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"]},
timeout=60,
)
for page in resp.json()["results"]:
print(page["url"], page["content_status"], page.get("word_count", 0))const res = await fetch('https://llmwebsearch.com/api/v1/extract', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.LLMWEBSEARCH_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ urls: ['https://docs.example.com/security/key-rotation', 'https://example.com/changelog'] }),
});
for (const page of (await res.json()).results) console.log(page.url, page.content_status);Khi nào nên dùng extract thay vì read trong một tìm kiếm?
Dùng extract khi các URL không đến từ tìm kiếm bạn đang chạy. Người dùng dán một liên kết, một tài liệu trích dẫn ba nguồn, hoặc một tìm kiếm đầu tiên với read=0 để model chọn những trang nào đáng đọc đầy đủ.
Dùng read trong /search khi bạn chỉ muốn đọc các kết quả hàng đầu trong cùng một lần gọi. Đó là một truy vấn thay vì hai, và tối đa 3 trang được gồm trong credit duy nhất của tìm kiếm.
Các lần gọi extract được tính phí thế nào?
Một credit cho mỗi nhóm 3 trang bắt đầu được đọc. Số đếm dựa trên các trang trả về có nội dung: một URL bị robots.txt hoặc bị trang từ chối, hoặc một trang tải thất bại, không được tính.
| Số trang đọc | Credit |
|---|---|
| 1 đến 3 | 1 |
| 4 đến 6 | 2 |
| 7 đến 9 | 3 |
| 19 hoặc 20 | 7 |
Phản hồi luôn ghi tổng số trong credits_used. Một lần gọi không đọc được trang nào thì không tốn gì.
Mỗi mục trong phản hồi cho tôi biết điều gì?
Mỗi item lặp lại url bạn đã gửi và trả về một content_status. Với ok, bạn còn nhận được trang title, content chính của trang và word_count của trang. Nếu không, trạng thái sẽ nêu lý do: blocked_by_robots, blocked_by_site_policy, target_refused kèm target_status của site, fetch_failed, fetch_timeout hoặc unsupported_content.
Các item giữ đúng thứ tự trong danh sách urls của bạn, nên bạn có thể khớp chúng theo index cũng như theo URL. Trang định dạng phản hồi mô tả từng trạng thái.
Những URL nào bị từ chối trước khi thực hiện fetch?
Các địa chỉ trỏ tới mạng riêng, tới máy cục bộ hoặc tới dịch vụ metadata của cloud đều bị từ chối. Điều này ngăn người khác dùng reader của chúng tôi để truy cập hệ thống nội bộ. Một redirect dẫn tới địa chỉ như vậy cũng bị từ chối, và tối đa 5 redirect được theo.
Địa chỉ phải dùng http hoặc https. Một lời gọi mà urls rỗng, chứa hơn 20 mục hoặc chứa địa chỉ sai định dạng sẽ trả về 400 invalid_parameter, miễn phí.
Extract có tuân theo cùng quy tắc như search không?
Có. Đó là cùng một reader, tự giới thiệu là LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/). Một trang đặt Content-Signal: ai-input=no trong robots.txt sẽ giữ nội dung các trang của mình khỏi nội dung trong kết quả của bạn. Khi một trang từ chối trình đọc của chúng tôi, kết quả trả về không có nội dung kèm trạng thái của trang: chúng tôi không bao giờ giải CAPTCHA, đăng nhập vào tài khoản hay lách qua một chặn chặn hoặc paywall.
Các trang cần đăng nhập, hoặc nằm sau paywall, sẽ trả về mà không có nội dung. Hãy chỉ agent sang nguồn khác, hoặc tới trang mà bạn được phép đọc bằng phiên trình duyệt của chính bạn.
Extract endpoint: các câu hỏi thường gặp
Nó đọc được những loại file nào?
Web page là thứ nó được xây dựng để đọc. Một liên kết tới video, tới file nén hoặc file khác không có văn bản đọc được sẽ trả về unsupported_content, và URL đó không được tính vào giá.
Một URL gửi hai lần có bị đọc hai lần không?
Hãy gửi mỗi URL một lần. Nếu danh sách có thể chứa mục trùng, hãy xóa chúng ở phía bạn trước, để kết quả khớp với danh sách của bạn một-một.
Render JavaScript có tính thêm phí không?
Không. Khi một trang cần trình duyệt để hiển thị văn bản, trang được render mà không tính thêm chi phí.
Extract có đọc được trang mà tôi đang đăng nhập không?
Không. Reader không bao giờ đăng nhập vào tài khoản và không gửi cookie nào của bạn. Khi một trang từ chối trình đọc của chúng tôi, kết quả trả về không có nội dung kèm trạng thái của trang: chúng tôi không bao giờ giải CAPTCHA, đăng nhập vào tài khoản hay lách qua một chặn chặn hoặc paywall.