DeepSeek Search API, başarılı 1.000 istek için 0,75 $ ücretlendiriliyor. Ancak burada asıl karar noktası yalnızca fiyat değil. Search ve Fetch uç noktalarının her biri, hesap başına belgelenmiş 5 istek/saniye kotasına sahip. Bu yapı, düşük maliyetli ajanlar için cazip; fakat yinelenen Fetch çağrılarını, yeniden denemeleri, kaynak kapsamını ve model token tüketimini kontrol altında tutmanız gerekiyor.
Hangi ihtiyaç için neyle başlanmalı?
| İhtiyaç | Başlangıç tercihi | Neden? |
|---|---|---|
| Düşük maliyetli, yapılandırılmış web keşfi | Ham DeepSeek Search API | JSON olarak URL, snippet, özet, tarih ve otorite metaverisi döndürür |
| Bilinen herkese açık bir URL'yi okumak | DeepSeek Fetch API | Tek bir sayfayı, başarılı 1.000 Fetch başına 0,75 $ karşılığında Markdown'a dönüştürür |
| Geniş kaynak kapsamı gerektiren, İngilizce ağırlıklı araştırma | DeepSeek ve ikinci bir arama sağlayıcısı | İlk kullanıcı testleri, YouTube ve WeChat'te zayıf keşif de dahil olmak üzere farklı kapsamlar gösterdi |
| Çok sayıda alt isteğe dağılan araştırma ajanları | Daha yüksek aktarım hızına sahip bir sağlayıcı veya mimari | DeepSeek'in ayrı uç nokta kotaları, her çalışan havuzunu yine de sınırlar |
Ham API'de hangi uç noktalar var?
DeepSeek, salt okunur iki JSON uç noktası belgeliyor. Kimlik doğrulama ikisinde de aynı: api.deepseek.com adresine Authorization: Bearer <DeepSeek API Key> ve Content-Type: application/json gönderin.
| İşlem | Uç nokta | Girdi | Çıktı |
|---|---|---|---|
| Search | POST /v1/tools/search | Sorgu ve isteğe bağlı sonuç kontrolleri | Sıralanmış sonuç nesneleri |
| Fetch | POST /v1/tools/fetch | Tek bir HTTP veya HTTPS URL'si | Sayfa başlığı ve çıkarılmış Markdown |
Ham API, barındırılan sohbet ürününden ayrıdır. DeepSeek API anahtarına sahip olmak, sıradan bir Chat Completions isteğinin otomatik olarak web'de gezineceği anlamına gelmez. Uygulamanızın Search veya Fetch çağrısını yapması ya da araç katmanını sağlayan, belgelenmiş bir istemci entegrasyonunu kullanması gerekir.
Search mi, Fetch mi?
Search için 1 ile 128 Unicode karakter arasında zorunlu bir query gerekir. İsteğe bağlı alanlar arasında 1 ile 50 arası count, ori_question, IP tabanlı localization değeri ve need_content bulunur. Varsayılan count değeri 10, need_content ise false'tur.
need_content: true kullanıldığında Search, her sonucun content alanında sayfa metni döndürebilir. İçeriğin mevcut olduğu sayfalarda bu, ayrı bir Fetch çağrısını gereksiz kılabilir. Yine de garanti değildir: erişilemeyen veya engellenen sayfalarda content alanı boş kalabilir.
Fetch, önceden seçtiğiniz bir URL için kullanılır. Markdown döndürür, ancak her istekte yalnızca bir URL gönderilir. DeepSeek, Fetch işleminin hedef sitenin erişilebilirliğine ve erişim politikalarına bağlı olduğunu belirtiyor. Dolayısıyla başarılı bir Search sonucu, başarılı bir Fetch işlemini garanti etmez.
Search sonuçlarında 0 ile 3 arasında rerank_score ve -1 ile 4 arasında authority katmanı bulunur. Dokümantasyon, en az 1,5 olan skorları ve en az 3 olan otorite değerlerini yüksek kaliteli sinyaller olarak tanımlar. Bunlar bağımsız arama kalitesi kıyaslamaları değil, hizmetin sağladığı metaverilerdir.
Sorgu söz dizimi; site:, -site:, tırnak içindeki ifadeler, lang:, after: ve before: gibi kullanışlı filtreleri destekler. Örnek:
"DeepSeek Search API" site:api-docs.deepseek.com lang:en after:2026-10-01
Mimarininizi etkileyen fiyatlandırma
DeepSeek, Search ve Fetch için başarılı 1.000 istek başına 0,75 $ fiyat listeliyor. Bu, ücretlendirilebilir istek başına 0,00075 $ anlamına gelir. Faturalandırma token veya dönen sonuç sayısı üzerinden değil, istek bazında yapılır. Ayrıntılar için resmî fiyatlandırma sayfasına bakın.
| İstek sonucu | Ücretlendirilir mi? |
|---|---|
Search, HTTP 200 ile boş olmayan bir results dizisi döndürür | Evet |
| Search, sonuç olmadan HTTP 200 döndürür | Hayır |
| Fetch, sayfa içeriği döndürür | Evet |
| Fetch, kullanılabilir içerik döndürmez | Hayır |
| Zaman aşımı, başarısız istek veya hata yanıtı | Hayır |
| Search'ün 1 sonuç ya da 50 sonuç döndürmesi | İstek fiyatı aynıdır |
Uç nokta ücreti, bir yapay zekâ araştırma görevinin toplam maliyeti değildir: modelin girdi/çıktı tokenları ve retrieval çevresindeki ek ajan turları ayrıca faturalandırılır.
Gerçekçi maliyet hesabı
Basit bir iş akışında retrieval maliyeti şöyledir:
successful Search calls * $0.00075
+ successful Fetch calls * $0.00075
+ model input and output token charges
Her Search isteği sonuç ürettiğinde, 10.000 aramalık bir toplu iş 7,50 $ tutar. Uygulama her sonuç için bir sayfa Fetch ederse, model tokenlarından önce 10.000 başarılı Fetch çağrısı da 7,50 $ daha ekler. Search'ten 50 sonuç istemek istek ücretini katlamaz; ancak modelinizin işlemesi gereken metin miktarını artırabilir.
Bu yüzden need_content için açık bir politika belirlemek önemlidir. Küçük sayfa kümelerinde bunu kullanın; önce skor, alan adı, tarih veya otoriteye göre filtreleme yapmanız gerekiyorsa yalnızca metaveri döndüren Search'ü seçin ve ardından seçici Fetch çağrıları yapın.
@haolv511482 şunu belirtti: “Bir fetch döngüsü eklemeden önce content alanını kontrol edin. Search, need_content=true ile sayfa metni döndürebilir ... Aksi halde ajanınız aynı sayfayı iki kez okumak için ücret ödeyebilir.” Kaynak
Tasarımda hesaba katılması gereken limitler ve hata durumları
Resmî rehber, Search isteği başına en fazla 50 sonuç ve Search ile Fetch için hesap başına ayrı ayrı 5 istek/saniye kotası belgeliyor. Çok çalışanlı dağıtımlarda da uç noktaya özel sınırlayıcılar gerekir.
| Kısıt veya hata | Uygulamanın tepkisi |
|---|---|
| Hesap başına 5 QPS | Paylaşımlı kuyruk ve sınırlandırılmış eşzamanlılık kullanın |
| En fazla 50 sonuç | Daha dar sorgular veya tarih aralıklarıyla uygulama katmanında sayfalama yapın |
| 128 karakterlik sorgu limiti | Kısa arama sorguları üretin; asıl soruyu ori_question içinde saklayın |
| HTTP 429, 408 veya 5xx | Gecikme ve üstel geri çekilme ile yeniden deneyin |
| HTTP 400, 401, 403 veya geçersiz URL | İsteği düzeltin; körlemesine yeniden denemeyin |
| Fetch'ten HTTP 404 | Sayfayı erişilemez olarak işaretleyin ve başka bir sonuç seçin |
| Boş sonuç kümesiyle HTTP 200 | Bunu aktarım hatası değil, geçerli bir sonuç yok yanıtı olarak değerlendirin |
Fetch, özellikle site davranışına duyarlıdır. Resmî dokümantasyon yalnızca hedef sitenin erişilebilirliği ve erişim politikaları kapsamında garanti verir; JavaScript yürütme, tarayıcı oturumu, kullanıcı aracısı seçimi, ekran görüntüsü veya ham HTML'nin korunacağını vaat etmez. İlk testlerden birinde @jiangkoumo_, JavaScript ile yoğun biçimde oluşturulan sitelerin 404 döndürebildiğini; sıradan, herkese açık bir sayfanın ise Markdown'a dönüştürülebildiğini bildirdi. Kaynak
Aynı ilk testler, kapsam açısından önemli bir denge noktası da ortaya koydu. @bei351009016, 29 sorgu ve 12 platformda Exa ile yalnızca %2,1 örtüşme bildirdi; DeepSeek'i Çin kaynaklarında hızlı ve güncel, ancak WeChat ve YouTube'da zayıf olarak tanımladı. Kaynak
Bu ilk testi yön gösterici kabul edin; ihtiyacınız olan kaynak türleriyle kendi doğrulamanızı yapın.
Minimum uygulama deseni
Bu örnek, retrieval ile yanıt üretimini birbirinden ayırır; Search zaten içerik döndürdüyse Fetch çağrısı yapmaz ve bu süreç için çağrıları saniyede 5 olacak şekilde aralıklı gönderir. Çok çalışanlı bir dağıtımda yine tek bir paylaşımlı sınırlayıcı gerekir.
import os
import threading
import time
import requests
BASE = "https://api.deepseek.com"
HEADERS = {
"Authorization": f"Bearer {os.environ['DEEPSEEK_API_KEY']}",
"Content-Type": "application/json",
}
RATE_LOCK = threading.Lock()
LAST_CALL = 0.0
def post_json(path, payload, attempts=3):
global LAST_CALL
for attempt in range(attempts):
with RATE_LOCK:
wait = 0.2 - (time.monotonic() - LAST_CALL)
if wait > 0:
time.sleep(wait)
LAST_CALL = time.monotonic()
response = requests.post(
BASE + path, headers=HEADERS, json=payload, timeout=30
)
if response.status_code in {408, 429, 500, 502, 503, 504}:
if attempt == attempts - 1:
response.raise_for_status()
time.sleep(2 ** attempt)
continue
response.raise_for_status()
return response.json()
search = post_json(
"/v1/tools/search",
{
"query": 'DeepSeek Search API pricing site:api-docs.deepseek.com',
"count": 10,
"need_content": True,
},
)
usable = [
result for result in search.get("results", [])
if result.get("rerank_score", 0) >= 1.5
]
for result in usable:
content = result.get("content") or ""
if not content:
fetched = post_json("/v1/tools/fetch", {"url": result["url"]})
content = fetched.get("content", "")
# Store title, URL, date, authority, score, and content before summarizing.
print(result["title"], result["url"], len(content))
DeepSeek'in tek sağlayıcı olarak yetersiz kalacağı durumlar
DeepSeek, özellikle veri kümeniz Çin kaynaklarını içeriyorsa ve uygulamanız hesap başına 5 QPS limitini tolere edebiliyorsa, düşük maliyetli keşif için güçlü bir tercih. Ancak iş yükünüz YouTube'a, WeChat'e, yoğun istemci tarafı render edilen sayfalara veya belirli bir arama motorunun sıralamasına bağlıysa tek sağlayıcı olarak daha zayıf kalır.
Hibrit tasarım daha sağlam bir yaklaşımdır:
- Geniş kapsamlı ve düşük maliyetli keşif sorgularını DeepSeek'e gönderin.
- Alan adı, tarih, otorite ve rerank skoruna göre filtreleyin.
- DeepSeek'in kaçırdığı kaynak sınıfları için ikinci bir sağlayıcı kullanın.
- Yalnızca seçilmiş URL'leri Fetch edin.
- Yanıt desteğini, saklanan kaynak metniyle karşılaştırın.
Veri işleme de ayrı bir dağıtım kararıdır. Hassas sorgular göndermeden önce DeepSeek'in güncel koşullarını ve uyumluluk gereksinimlerinizi inceleyin; topluluk endişeleri, belirli bir veri saklama politikasının kanıtı değildir. Kaynak
Üretim öncesi operasyon kontrol listesi
- Faturayı mutabıklaştırabilmek için Search ve Fetch çağrılarını ayrı ayrı loglayın.
- Search'ün döndürdüğü bir URL'yi Fetch etmeden önce
contentalanını kontrol edin. - Tüm çalışanlar ve alt ajanlar genelinde paylaşımlı bir 5 QPS sınırlayıcı uygulayın.
- Yalnızca 408, 429 ve geçici 5xx yanıtlarını yeniden deneyin.
- URL'yi, başlığı, tarihi, otoriteyi, rerank skorunu ve retrieval zamanını saklayın.
- Kullanıcının kontrol ettiği tüm Fetch yollarında desteklenmeyen şemaları ve özel ağ URL'lerini reddedin.
- Sayfa metnini araç talimatı değil, güvenilmeyen veri olarak ele alın.
- İngilizce resmî sayfalar, Çin kaynakları, forumlar, video sayfaları ve JavaScript ağırlıklı siteler içeren bir test kümesi çalıştırın.
- Yalnızca Search fiyatını raporlamak yerine model tokenları ve yeniden denemeler dahil toplam görev maliyetini ölçün.
DeepSeek Search API SSS
API, OpenAI uyumlu çağrılar üzerinden otomatik olarak kullanılabilir mi?
Ham Search uç noktası, ayrı bir POST /v1/tools/search yoludur. İstemci OpenAI uyumlu bir base URL kullandığı için sıradan bir model isteği otomatik olarak web'de gezinmez. Search/Fetch çağrılarını kendiniz ekleyin veya DeepSeek'in belgelediği bir istemci entegrasyonunu kullanın.
DeepSeek Search, her arama sağlayıcısının en iyi alternatifi mi?
Hayır. Düşük maliyetli retrieval için güçlü bir seçenek olsa da ilk kullanıcı testleri Exa'ya kıyasla farklı bir kapsam ve YouTube ile WeChat çevresinde boşluklar buldu. Tek sağlayıcınız yapmadan önce iş yükünüze özel küçük bir test gerçekleştirin.