Không cần KYC — không ID, không ảnh 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

Tài liệu · curl

Các công thức curl và jq cho web search API

Mọi tính năng của API đều dùng được từ terminal. Các công thức này dùng curl để gọi API và jq để định hình JSON: hữu ích khi muốn thử một truy vấn trước khi viết code, cho shell script và cho cron job.

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

Trả lời nhanh

Làm thế nào để dùng web search API từ dòng lệnh?

Gửi một JSON body với curl -d đến https://llmwebsearch.com/api/v1/search, khóa của bạn trong header Authorization: Bearer, rồi chuyển kết quả sang jq. LLMWebSearch trả về các kết quả đã xếp hạng kèm 3 trang đầu dưới dạng Markdown, nên chỉ một dòng lệnh có thể liệt kê nguồn hoặc lưu trang ra tệp. Mỗi lượt tìm kiếm tốn 1 credit, từ 1,20 US$/1K lượt tìm kiếm tính đến tháng 10 năm 2026. Không cần KYC; thanh toán bằng crypto.

Làm thế nào để thiết lập terminal một lần?

Export khóa của bạn trong shell để khóa không nằm trong các lệnh bạn gõ và không lọt vào lịch sử lệnh. Các công thức bên dưới đọc khóa qua $LLMWEBSEARCH_API_KEY. Bạn cũng cần jq, mà hầu hết trình quản lý gói cài đặt dưới đúng tên đó.

Mọi công thức đều giả định dùng shell POSIX như bash hoặc zsh. Trên Windows, Git Bash hoặc WSL chạy chúng không cần sửa gì.

Đặt khóa và kiểm tra số dư (miễn phí)
export LLMWEBSEARCH_API_KEY="your-key"

curl -s "https://llmwebsearch.com/api/v1/credits" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" | jq .

Làm thế nào để liệt kê nguồn của một lượt tìm kiếm?

Chạy tìm kiếm với read đặt thành 0 và in mỗi kết quả một dòng: vị trí, host và URL. Việc này tốn 1 credit và cho bạn thấy trong một giây những nguồn nào một câu hỏi đưa ra. Đây là cách tốt để tinh chỉnh cách diễn đạt truy vấn trước khi agent dùng nó.

Mỗi kết quả một dòng
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "postgres connection pool size", "max_results": 10, "read": 0}' \
  | jq -r '.results[] | "\(.position)\t\(.host)\t\(.url)"'

Làm thế nào để lưu các trang đã đọc?

Giữ các kết quả có content_status là ok và ghi mỗi content ra tệp riêng. Công thức bên dưới lưu 01.md, 02.md v.v., mỗi tệp bắt đầu bằng URL nguồn của nó. jq chọn các kết quả và vòng lặp shell ghi tệp.

Lưu mỗi trang dưới dạng Markdown
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "postgres connection pool size", "read": 3}' > search.json

jq -r '.results[] | select(.content_status == "ok") | .position' search.json | while read -r pos; do
  jq -r --argjson p "$pos" '.results[] | select(.position == $p) | "Source: " + .url + "\n\n" + .content' \
    search.json > "$(printf '%02d' "$pos").md"
done
ls -1 ./*.md

Làm thế nào để tìm tin tức từ một vài trang web?

Thêm topic, time_range và include_domains vào body. Công thức giữ tin tức trong tuần qua trên hai tên miền và in ngày cạnh mỗi tiêu đề, đủ để theo dõi một chủ đề từ cron job.

Tin tức tuần qua từ hai tên miền
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "database security release", "topic": "news", "time_range": "week", "include_domains": ["news.example.com", "example.org"], "read": 0}' \
  | jq -r '.results[] | "\(.published_at // "no date")  \(.title)  \(.url)"'

Làm thế nào để dùng dạng GET?

Dùng curl -G với --data-urlencode cho truy vấn, để dấu cách và ký hiệu được mã hóa giúp bạn. Các danh sách như include_domains trở thành một giá trị phân tách bằng dấu phẩy. GET tiện cho thử nhanh; các script lớn dần nên chuyển sang POST.

GET /search
curl -sG "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  --data-urlencode "q=pgbouncer transaction mode" \
  -d read=1 -d max_chars=3000 -d include_domains=example.com,example.org \
  | jq -r '.results[0].content // .results[0].snippet'

Làm thế nào để đọc các URL tôi đã có?

Post chúng đến /extract dưới dạng mảng JSON gồm 1 đến 20 địa chỉ. Đọ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. Công thức in mỗi URL kèm trạng thái và số từ, cho thấy ngay những trang nào một site đã cho phép chúng tôi đọc.

POST /extract
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"]}' \
  | jq -r '"credits: \(.credits_used)", (.results[] | "\(.content_status)\t\(.word_count // 0)\t\(.url)")'

Làm sao để xem lỗi khi một lệnh gọi thất bại?

In ra HTTP status với -w và giữ nguyên body: lỗi trả về dưới dạng JSON với một code và một message. Script sau đó có thể rẽ nhánh theo status, ví dụ chờ và thử lại chỉ khi gặp 429, 502 hoặc 504. Không lỗi nào trong số này tốn credit.

Mã trạng thái và nội dung lỗi
status=$(curl -s -o body.json -w '%{http_code}' "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "test query"}')
if [ "$status" != "200" ]; then
  echo "HTTP $status: $(jq -r '.error.code + " - " + .error.message' body.json)"
fi

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

Vì sao JSON body của tôi báo lỗi invalid_parameter?

Thường là do vấn đề dấu nháy. Trong bash, hãy bọc body bằng dấu nháy đơn để các dấu nháy kép bên trong giữ nguyên, và kiểm tra bằng echo '…' | jq . trước khi gửi.

Tôi có thể truyền khóa trong URL không?

Được, với -d api_key=… ở dạng GET. Dùng header an toàn hơn, vì lịch sử shell và log của proxy đều ghi lại URL.

Một lệnh curl thất bại có tốn credit không?

Không. Lỗi HTTP không bao giờ tốn credit. Chỉ những truy vấn trả về kết quả mới bị tính phí, như credits_used cho thấy.

Từ 1,20 US$/1K lượt tìm kiếm · không cần KYC

Lấy khóa API