DeepSeek Search API: giá và ví dụ tìm kiếm rồi dùng Fetch bằng Python
Tìm hiểu ví dụ Python cho DeepSeek Search API, khác biệt với Fetch, giá mỗi lần gọi, giới hạn miễn phí và xử lý yêu cầu theo tài liệu chính thức.
Đọc dạng MarkdownTài liệu được kiểm tra ngày 20 tháng 10 năm 2026. Ví dụ bên dưới đã được kiểm tra cục bộ bằng dữ liệu kiểm thử dựng sẵn; chưa chạy với các endpoint thực tế có tính phí.
DeepSeek Search API cho phép ứng dụng truy cập kết quả tìm kiếm trên web. Fetch API đi kèm truy xuất từng trang dưới dạng Markdown. DeepSeek mở cả hai giao diện vào ngày 17 tháng 10 năm 2026, tính phí riêng theo mỗi lần gọi. Theo bảng giá USD công bố, mỗi giao diện có giá $0.75 cho 1,000 yêu cầu thuộc diện tính phí. Chúng dùng khóa API DeepSeek và địa chỉ chính thức api.deepseek.com. Nguồn: thông báo phát hành, bảng giá.
Hướng dẫn này minh họa một lần tìm kiếm, sau đó tùy chọn truy xuất trang. Các ví dụ dùng dịch vụ của chính DeepSeek; chúng không mô tả endpoint Search hoặc Fetch do SeedRouter cung cấp.
DeepSeek Search API và Fetch API khác nhau thế nào?
Search tìm các trang phù hợp. Fetch đọc trang bạn đã chọn.
| Thao tác | Endpoint chính thức | Dữ liệu đầu ra hữu ích |
|---|---|---|
| Search | POST https://api.deepseek.com/v1/tools/search | Mảng results chứa URL của các trang và các trường mô tả. |
| Fetch | POST https://api.deepseek.com/v1/tools/fetch | Tiêu đề trang và nội dung dưới dạng Markdown. |
Cả hai nhận JSON và dùng cơ chế xác thực bearer. Một yêu cầu tìm kiếm độc lập có query; một yêu cầu truy xuất có url. Đây là những yêu cầu riêng biệt, không phải thiết lập tự động thêm quyền truy cập web vào mọi lần tạo câu trả lời chat. Hướng dẫn Search & Fetch chính thức mô tả cả hai giao diện.
Search cũng chấp nhận need_content. Khi giá trị là true, kết quả tìm kiếm có thể kèm nội dung trang. Hãy kiểm tra nội dung trả về trước khi gửi thêm yêu cầu: nếu đã có thông tin bạn cần, một lần gọi Fetch riêng có thể không cần thiết.
Trước khi chạy ví dụ Python
Bạn cần Python 3, khả năng kết nối HTTPS ra ngoài và khóa API DeepSeek với quyền truy cập tài khoản phù hợp. Đặt khóa trong biến môi trường ở terminal dùng để chạy tập lệnh:
export DEEPSEEK_API_KEY="your-deepseek-api-key"Ví dụ dùng thư viện chuẩn của Python nên không cần cài gói bổ sung. Nó gửi một yêu cầu Search. Nếu có kết quả, chương trình in tiêu đề và URL của kết quả đầu tiên, rồi truy xuất trang đó. Chạy ví dụ có thể phát sinh phí; khóa không bao giờ được in ra.
Ví dụ Python: tìm kiếm, chọn kết quả và truy xuất nội dung
Lưu phần mã sau thành deepseek_search.py. Thay QUERY bằng thông tin bạn cần trước khi chạy.
import json
import os
import urllib.error
import urllib.request
BASE_URL = "https://api.deepseek.com"
QUERY = "Python documentation pathlib"
def call(path, payload):
request = urllib.request.Request(
BASE_URL + path,
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": "Bearer " + os.environ["DEEPSEEK_API_KEY"],
"Content-Type": "application/json",
},
method="POST",
)
try:
with urllib.request.urlopen(request, timeout=30) as response:
return json.load(response)
except urllib.error.HTTPError as error:
raise RuntimeError(f"DeepSeek returned HTTP {error.code}") from None
def main():
search = call(
"/v1/tools/search",
{"query": QUERY, "count": 5, "need_content": False},
)
results = search.get("results", [])
if not results:
print("No search results; no Fetch request was made.")
return
selected = results[0]
print(selected.get("title", "Untitled result"))
print(selected["url"])
page = call("/v1/tools/fetch", {"url": selected["url"]})
content = page.get("content", "")
if not content:
print("The selected page returned no content.")
return
print(page.get("title", ""))
print(content)
if __name__ == "__main__":
main()Chạy bằng lệnh:
python3 deepseek_search.pyĐây là ví dụ nhỏ nên chương trình chọn kết quả đầu tiên. Trong ứng dụng thực tế, hãy chọn trang phù hợp với câu hỏi, xem xét tên miền và bối cảnh xuất bản, đồng thời lưu URL cùng văn bản đã trích xuất. Kết quả đứng đầu tìm kiếm vẫn cần liên quan đến câu trả lời bạn đang tạo.
Cấu trúc yêu cầu tuân theo tài liệu tham chiếu Search và tài liệu tham chiếu Fetch của DeepSeek. Kiểm tra cú pháp và dữ liệu kiểm thử cục bộ có thể xác minh cách chương trình tạo yêu cầu và xử lý các nhánh. Chúng không thể xác lập quyền truy cập tài khoản thực tế, tốc độ phản hồi hay chất lượng truy xuất.
Giá DeepSeek Search API: những gì được tính phí?
Giá công bố bằng USD là $0.75 cho 1,000 yêu cầu Search thành công thuộc diện tính phí; Fetch có cùng mức giá. Tìm kiếm không có kết quả không bị tính phí; Fetch bị tính phí khi truy xuất nội dung thành công. Số kết quả yêu cầu bằng count không làm thay đổi giá của một lần tìm kiếm. Xem bảng giá hiện tại để biết điều kiện tính phí.
Ví dụ, 1,000 lần tìm kiếm thuộc diện tính phí, tiếp theo là 1,000 lần truy xuất thuộc diện tính phí, sẽ tốn $1.50 phí truy xuất thông tin. Đây là phép tính từ mức giá đã nêu, không phải hóa đơn đã đo thực tế hay lời hứa về kết quả của bất kỳ truy vấn cụ thể nào. Token mô hình dùng sau đó để tóm tắt các trang là chi phí riêng.
Giai đoạn miễn phí tạm thời có phạm vi hẹp hơn. DeepSeek cho biết các lần gọi Search/Fetch của người dùng API qua công cụ phía máy chủ trong DeepSeek Harness, Claude Code và Codex tạm thời không bị tính phí. Việc tính phí cho cách sử dụng này bắt đầu ngày 31 tháng 10 năm 2026 lúc 16:00 UTC, tức 00:00 ngày 1 tháng 11 tại Bắc Kinh. Thông báo này không có nghĩa mọi yêu cầu Python độc lập trong hướng dẫn này đều miễn phí. Thông báo chính thức.
Tham số và các tình huống lỗi cần tính đến
Độ dài truy vấn tìm kiếm được ghi trong tài liệu là 1–128 ký tự Unicode. count mặc định là 10 và chấp nhận 1–50. Ví dụ Python chủ động yêu cầu năm kết quả và để một yêu cầu Fetch tiếp theo truy xuất nội dung trang. Hãy xem tài liệu tham chiếu Search trước khi mở rộng yêu cầu bằng các trường khác.
Mảng kết quả rỗng là một lần tìm kiếm thành công nhưng không có kết quả phù hợp. Ví dụ dừng tại đó. Lỗi HTTP được xử lý riêng, còn lỗi hết thời gian chờ sẽ dừng thực thi thay vì tự động tạo một yêu cầu khác. Với ứng dụng lớn hơn, hãy nêu rõ giới hạn thử lại và khoản phí phát sinh thêm.
Markdown truy xuất được là tài liệu từ nguồn bên ngoài. Hãy giữ URL nguồn, kiểm tra xem nội dung có trả lời câu hỏi hay không và coi chỉ dẫn nằm trong trang được truy xuất là nội dung trang, không phải chỉ dẫn cho ứng dụng. Nếu đưa nội dung cho mô hình ngôn ngữ, hãy giữ rõ sự phân biệt đó trong câu lệnh và giữ các trích dẫn trong câu trả lời tạo ra.
Câu hỏi thường gặp
API DeepSeek có tìm kiếm trên web được không?
Có. Các giao diện Search và Fetch độc lập đã có tài liệu. Gọi endpoint chat thông thường và gọi các endpoint truy xuất này là những thao tác khác nhau; hãy tuân theo đặc tả phù hợp với quy trình bạn đang xây dựng.
DeepSeek Search API có gói miễn phí không?
Thông báo được trích dẫn mô tả việc miễn phí tạm thời cho công cụ phía máy chủ trong một số tích hợp tác nhân lập trình cụ thể. Nó không xác lập gói miễn phí chung cho mọi yêu cầu Search hoặc Fetch độc lập. Hãy kiểm tra trang tính phí hiện tại trước khi chạy hàng loạt.
Có cần dùng Fetch sau mỗi lần tìm kiếm không?
Không. Một lần tìm kiếm có thể cung cấp đủ thông tin, đặc biệt khi kết quả trả về kèm nội dung hữu ích với need_content: true. Fetch hữu ích khi bạn cần truy xuất riêng trang đã chọn.
Bắt đầu với một quy trình truy xuất
DeepSeek Search API tìm nguồn, còn Fetch truy xuất một trang đã chọn. Hãy bắt đầu bằng một truy vấn, kiểm tra kết quả và nội dung, rồi quyết định ứng dụng có cần thêm trang hay bản tóm tắt do mô hình tạo hay không. Với bản cập nhật mô hình riêng được công bố cùng ngày, xem bản cập nhật checkpoint ngày 17 tháng 10: benchmark và các thay đổi.



