คำตอบสั้น
ฉันจะอ่านหน้าเว็บที่ฉันมี URL อยู่แล้วได้อย่างไร
ส่ง URL สูงสุด 20 รายการไปที่ POST https://llmwebsearch.com/api/v1/extract LLMWebSearch อ่านแต่ละหน้าสาธารณะและคืนเนื้อหาหลักเป็น Markdown หรือ plain text พร้อมสถานะต่อ URL การคิดค่าบริการคือ 1 เครดิตต่อกลุ่ม 3 หน้าที่เริ่มอ่าน จาก US$1.20/1K การค้นหา ต่อเครดิตการค้นหา ณ เดือนตุลาคม 2026 robots.txt ถูกเคารพ ไม่ต้อง KYC จ่ายด้วยคริปโต
/extract at a glance
| Method | POST พร้อม JSON body |
|---|---|
| URL | https://llmwebsearch.com/api/v1/extract |
| อินพุต | urls: ที่อยู่ http หรือ https จำนวน 1 ถึง 20 รายการ |
| เอาต์พุต | เนื้อหาหลักต่อ URL ในรูปแบบ markdown (ค่าเริ่มต้น) หรือ text |
| การเรียกเก็บเงิน | การอ่านหน้าเว็บที่คุณมี URL อยู่แล้วใช้ 1 เครดิตต่อกลุ่ม 3 หน้าที่เริ่มอ่านและส่งกลับพร้อมเนื้อหา สูงสุด 20 URL ต่อการเรียก; URL ที่ถูกปฏิเสธหรือล้มเหลวไม่ถูกนับ |
| robots.txt | ตัวอ่านของเราเคารพ robots.txt: แนะนำตัวว่าเป็น LLMWebSearch ทำตามกฎที่เว็บไซต์เขียนไว้สำหรับมันหรือสำหรับ robots ทั้งหมด และละเว้นเนื้อหาของหน้าใดก็ตามที่มันไม่ได้รับอนุญาตให้อ่าน |
| Page reader | LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/) |
อ่านรายการ URL
POST/api/v1/extract
ดึงแต่ละ URL แบบขนานและคืนเนื้อหาหลักตามลำดับที่คุณส่งมา แต่ละรายการมี content_status ของตัวเอง ดังนั้นหน้าหนึ่งที่ถูกปฏิเสธจะไม่ทำให้การเรียกทั้งหมดล้มเหลว ตัวอย่างอ่านสามหน้า ชื่อเรื่องและค่าต่างๆ ใช้เพื่อประกอบคำอธิบาย
การยืนยันตัวตน: API key ใน header Authorization: Bearer API_KEY
Request body
| Field | Type | Required | คำอธิบาย |
|---|---|---|---|
urls | string[] | ใช่ | ที่อยู่ http หรือ https จำนวน 1 ถึง 20 รายการ ที่อยู่แบบ private, local และ cloud metadata จะถูกปฏิเสธ |
format | string | ไม่ | markdown (ค่าเริ่มต้น) หรือ text |
max_chars | integer | ไม่ | ขีดจำกัดความยาวเนื้อหาของแต่ละหน้า 500 ถึง 50,000 ตัวอักษร ค่าเริ่มต้น 6,000 |
{
"urls": [
"https://docs.example.com/security/key-rotation",
"https://blog.example.org/key-rotation-checklist",
"https://example.com/changelog"
],
"max_chars": 20000
}Response 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
}
]
}ตัวอย่างโค้ด
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);เมื่อไหร่ควรใช้ extract แทน read ในการค้นหา
ใช้ extract เมื่อ URL ไม่ได้มาจากการค้นหาที่คุณกำลังทำอยู่ ผู้ใช้วางลิงก์มา เอกสารอ้างอิงถึงสามแหล่ง หรือการค้นหาครั้งแรกด้วย read=0 ให้โมเดลเลือกว่าหน้าไหนสมควรอ่านเต็ม
ใช้ read ภายใน /search เมื่อคุณเพียงต้องการอ่านผลลัพธ์อันดับต้นๆ ในการเรียกเดียวกัน เป็นคำขอเดียวแทนที่จะเป็นสอง และรวมได้ถึง 3 หน้าในเครดิตเดียวของการค้นหา
การเรียก extract คิดค่าบริการอย่างไร
หนึ่งเครดิตต่อกลุ่ม 3 หน้าที่เริ่มอ่าน การนับใช้เฉพาะหน้าที่ส่งคืนเนื้อหากลับมา URL ที่ถูกปฏิเสธโดย robots.txt หรือโดยเว็บไซต์ หรือหน้าที่โหลดไม่สำเร็จ จะไม่ถูกนับ
| หน้าที่อ่าน | เครดิต |
|---|---|
| 1 ถึง 3 | 1 |
| 4 ถึง 6 | 2 |
| 7 ถึง 9 | 3 |
| 19 หรือ 20 | 7 |
การตอบกลับระบุยอดรวมใน credits_used เสมอ การเรียกที่ไม่มีหน้าใดอ่านได้เลยไม่มีค่าใช้จ่าย
แต่ละรายการในการตอบกลับบอกอะไรฉันบ้าง
แต่ละรายการจะส่งคืน url ที่คุณส่งไป และให้ content_status มาด้วย เมื่อใช้ ok คุณจะได้หน้าเว็บ title, content หลัก และ word_count ของหน้านั้นด้วย มิฉะนั้นสถานะจะระบุเหตุผล เช่น blocked_by_robots, blocked_by_site_policy, target_refused พร้อม target_status, fetch_failed, fetch_timeout หรือ unsupported_content ของเว็บไซต์นั้น
รายการจะเรียงตามลำดับของลิสต์ urls ที่คุณส่งมา คุณจึงจับคู่ได้ทั้งจากลำดับและจาก URL หน้า รูปแบบการตอบกลับ อธิบายแต่ละสถานะ
URL แบบใดที่ถูกปฏิเสธก่อนที่จะดึงข้อมูล?
ที่อยู่ที่ชี้ไปยังเครือข่ายส่วนตัว เครื่องภายในเครื่อง หรือบริการ metadata ของคลาวด์จะถูกปฏิเสธ วิธีนี้ป้องกันไม่ให้ใครใช้ตัวอ่านของเราเข้าถึงระบบภายใน การเปลี่ยนเส้นทางที่นำไปยังที่อยู่ดังกล่าวก็ถูกปฏิเสธเช่นกัน และจะติดตามการเปลี่ยนเส้นทางได้สูงสุด 5 ครั้ง
ที่อยู่ต้องใช้ http หรือ https การเรียกที่ urls ว่างเปล่า มีมากกว่า 20 รายการ หรือมีที่อยู่ผิดรูปแบบจะคืนค่า 400 invalid_parameter โดยไม่มีค่าใช้จ่าย
extract ใช้กฎเดียวกับ search หรือไม่?
ใช่ เป็นตัวอ่านตัวเดียวกัน โดยแนะนำตัวว่าเป็น LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/) เว็บไซต์ที่ตั้งค่า Content-Signal: ai-input=no ใน robots.txt จะกันหน้าเว็บของตนออกจากเนื้อหาในผลลัพธ์ของคุณ เมื่อเว็บไซต์ปิดกั้นตัวอ่านของเรา ผลลัพธ์จะกลับมาโดยไม่มีเนื้อหาและมีสถานะของเว็บไซต์: เราไม่แก้ CAPTCHA ไม่ลงชื่อเข้าใช้บัญชี และไม่หลบเลี่ยงการบล็อกหรือ paywall
หน้าที่ต้องเข้าสู่ระบบหรืออยู่หลัง paywall จะได้ผลลัพธ์กลับมาโดยไม่มีเนื้อหา ให้ agent ไปยังแหล่งอื่น หรือไปยังหน้าที่คุณได้รับอนุญาตให้อ่านด้วยเซสชันเบราว์เซอร์ของคุณเอง
Endpoint extract: คำถามที่พบบ่อย
อ่านไฟล์ประเภทใดได้บ้าง?
หน้าเว็บคือสิ่งที่มันถูกสร้างมาเพื่ออ่าน ลิงก์ไปยังวิดีโอ ไฟล์บีบอัด หรือไฟล์อื่นที่ไม่มีข้อความที่อ่านได้จะส่งคืนเป็น unsupported_content และ URL นั้นจะไม่ถูกนับในราคา
ถ้าส่ง URL เดิมสองครั้งจะอ่านสองครั้งหรือไม่?
ส่งแต่ละ URL เพียงครั้งเดียว หากลิสต์อาจมีรายการซ้ำ ให้ลบรายการซ้ำฝั่งคุณก่อน เพื่อให้ผลลัพธ์ตรงกับลิสต์ของคุณแบบหนึ่งต่อหนึ่ง
การเรนเดอร์ JavaScript มีค่าใช้จ่ายเพิ่มหรือไม่?
ไม่มี เมื่อหน้าเว็บต้องใช้เบราว์เซอร์เพื่อแสดงข้อความ จะถูกเรนเดอร์โดยไม่มีค่าใช้จ่ายเพิ่ม
extract อ่านหน้าที่ฉันเข้าสู่ระบบอยู่ได้หรือไม่?
ไม่ได้ ตัวอ่านจะไม่เข้าสู่ระบบบัญชีใด ๆ และไม่ส่งคุกกี้ของคุณ เมื่อเว็บไซต์ปิดกั้นตัวอ่านของเรา ผลลัพธ์จะกลับมาโดยไม่มีเนื้อหาและมีสถานะของเว็บไซต์: เราไม่แก้ CAPTCHA ไม่ลงชื่อเข้าใช้บัญชี และไม่หลบเลี่ยงการบล็อกหรือ paywall