KYC yok — kimlik yok, selfie yok, belge yok. Kripto ile ödeme: BTC, USDT, USDC, ETH, SOL, LTC
Dil: Türkçe
API anahtarı alın

Docs · API reference

Hatalar ve sayfa durumları: ne başarısız oldu ve yeniden denenmeli mi

İki tür sorun vardır. Bir HTTP hatası, çağrının tamamının başarısız olduğu anlamına gelir ve hiçbir maliyeti yoktur. Bir sayfa durumu, aramanın çalıştığı ancak bir sayfanın okunamadığı anlamına gelir; normal bir 200 yanıtının içinde yer alır. Agent'lar her ikisini de farklı şekilde ele almalıdır.

Son güncelleme: · 4 dk okuma

Kısa yanıt

LLMWebSearch API hangi hataları döndürebilir ve bunlar ücretlendirilir mi?

LLMWebSearch altı HTTP hatasına sahiptir: 400 invalid_parameter, 401 invalid_api_key, 402 insufficient_credits, 429 rate_limited, 502 search_failed ve 504 search_timeout. Hiçbiri ücretlendirilmez. Okunamayan sayfalar bunun yerine 200 içinde bir content_status gösterir. Çalışan bir arama 1 kredi tutar, Ekim 2026 itibarıyla $1,20/1K arama itibarıyla. KYC yok; kripto ile ödeme.

Hangi HTTP hataları var?

Gövde her zaman {"error": {"code": "…", "message": "…"}} olur. Hiçbir hata kredi kullanmaz.

HTTPcodeNedenYeniden denensin mi?
400invalid_parameterZorunlu bir parametre eksik veya bir değer aralık dışındaHayır: isteği düzeltin
401invalid_api_keyAPI anahtarı eksik, yanlış veya iptal edilmişHayır: anahtarı kontrol edin
402insufficient_creditsBakiye bu çağrının ücretini karşılayamıyorHayır: bir paket satın alın
429rate_limitedHesabın izin verdiğinden dakikada daha fazla çağrıEvet, bir aradan sonra
502search_failedArama tamamlanamadıEvet, backoff ile
504search_timeout30 saniye içinde arama sonucu yokEvet, backoff ile

Sayfa durumu hatadan nasıl farklıdır?

Sayfa durumu tek bir sonucu tanımlar, çağrıyı değil. Arama çalıştı, sonuçlar orada ve credits_used her zamanki gibi ayarlandı. Sadece o sayfanın içeriği eksik ve content_status nedeni söylüyor: blocked_by_robots, blocked_by_site_policy, target_refused, fetch_failed, fetch_timeout veya unsupported_content.

Bunları tüm aramayı yeniden denemek için hata olarak görmeyin. Diğer sonuçları, eksik sayfanın snippet'ini veya farklı bir kaynağı kullanın. Yanıt formatı sayfası her durumu bir tabloda açıklar.

Neden bir reddetme etrafında asla yeniden denemiyorsunuz?

Çünkü reddetme sitenin cevabıdır ve biz buna saygı duyarız. Okuyucumuz robots.txt'ye uyar: kendini LLMWebSearch olarak tanıtır, bir sitenin onun için ya da tüm robotlar için yazdığı kurallara uyar ve okumasına izin verilmeyen her sayfanın içeriğini dışarıda bırakır. robots.txt dosyasında Content-Signal: ai-input=no ayarlayan bir site, sayfalarını sonuçlarınızın içeriğinden uzak tutar. Bir site okuyucumuzu 403, 429 veya bir challenge sayfasıyla reddettiğinde, bunu sitenin durumunu target_status içinde belirterek target_refused olarak raporlarız.

Bir site okuyucumuzu geri çevirdiğinde sonuç, içerik olmadan ve sitenin durumuyla döner: CAPTCHA'ları asla çözmeyiz, hesaplara giriş yapmayız veya bir engeli ya da ödeme duvarını aşmaya çalışmayız. Başka bir kimlik veya gizlenmiş bir tarayıcıyla da yeniden denemeyiz. Agent'ınız böyle bir sayfada döngüye girmemeli: sonuç değişmez ve site hayır dedi.

Kodum ne zaman yeniden denemeli?

Yalnızca 429, 502 ve 504 üzerinde. Bekleyin, sonra tekrar deneyin, her seferinde bekleme süresini ikiye katlayın ve paralel çalışanların aynı anda yeniden denememesi için biraz rastgelelik ekleyin. Üç ila beş deneme yeterlidir; sonrasında hatayı raporlayın.

400, 401 veya 402 için asla yeniden denemeyin: bir şeyi değiştirene kadar aynı istek aynı cevabı verir. Sayfalar için, fetch_failed ve fetch_timeout daha sonra yeni bir arama veya bir /extract çağrısı ile işe yarayabilir. target_refused, blocked_by_robots ve blocked_by_site_policy kesindir.

Python: 429, 502 ve 504'ü üstel geri çekilme ile yeniden dene
import os
import random
import time

import requests

API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}
RETRY_ON = {429, 502, 504}


def search(body, attempts=5):
    delay = 1.0
    for attempt in range(1, attempts + 1):
        resp = requests.post(API, headers=HEADERS, json=body, timeout=60)
        if resp.status_code == 200:
            return resp.json()
        err = resp.json().get("error", {})
        if resp.status_code not in RETRY_ON or attempt == attempts:
            raise RuntimeError(f"{resp.status_code} {err.get('code')}: {err.get('message')}")
        time.sleep(delay + random.uniform(0, delay / 2))
        delay = min(delay * 2, 30)


data = search({"q": "how to rotate api keys without downtime"})
unread = [r["url"] for r in data["results"] if r["content_status"] not in ("ok", "not_requested")]
print("credits:", data["credits_used"], "| pages not read:", unread)

402 insufficient_credits durumunda ne yapmalıyım?

Durdurun ve bakiye yükleyin. Çağrı çalıştırılmadı ve hiçbir ücret alınmadı. Uzun bir işin ortasında durmamak için önce ücretsiz olan GET https://llmwebsearch.com/api/v1/credits ile bakiyenizi kontrol edin ve planladığınız arama sayısıyla karşılaştırın. read değeri 3'ün üzerinde olan bir aramanın 2 kredi gerektirdiğini unutmayın.

Krediler kripto bakiyenizle satın alınan paketlerden gelir. Arama kredilerinin son kullanma tarihi yoktur: bu ay kullanmadığınız krediler gelecek yıl da orada durur.

Rate limit'in altında nasıl kalırım?

Kendi kodunuzda aynı anda çalışan çağrı sayısını sınırlayın. Her hesabın dashboard'da gösterilen bir dakika başına çağrı limiti vardır; destek ekibine sorun, yükseltilebilir. Küçük bir paralel çalışan havuzu, çoğu agent için dört ila sekiz, ani yükselmeler olmadan istikrarlı bir hız sağlar. Python ve Node.js sayfaları böyle bir havuzu gösterir.

429 aldığınızda, bir sonraki denemeden önce duraklayın, hemen tekrar göndermeyin. Hemen yeniden denemek sadece daha fazla reddedilen çağrı ekler.

Hatalar: sık sorulan sorular

Tüm sayfaları reddedilen bir arama yine de bir krediye mal olur mu?

Evet, eğer arama kendisi çalıştıysa: sıralanmış sonuçları ve snippet'leri hâlâ alırsınız. Bir aramanın fiyatı, sayfalarının kaçının okunabildiğine bağlı değildir.

401 iptal edilmiş bir anahtardan mı kaynaklanır?

Olabilir. İptal edilmiş bir anahtar, bir yazım hatası, eksik bir Bearer öneki veya bize hiç ulaşmayan bir header, hepsi 401 invalid_api_key verir. Her agent, uygulama veya ekip arkadaşı için bir API anahtarı oluşturun ve dashboard'dan diğerlerine dokunmadan istediğinizi iptal edin.

Bir sayfa neden fetch_timeout döndürdü?

Sayfalar paralel olarak okunur ve 15 saniyeden uzun süren bir sayfa, tüm yanıtı geciktirmemesi için içerik olmadan döndürülür. Yavaş siteler bazen daha sonraki bir denemede yanıt verir.

Başarısız çağrılarımı görebilir miyim?

Evet. Dashboard geçmişi, başarısız olanlar dahil, çağrılarınızı 30 gün boyunca durumları ve kredileriyle listeler. Başarısız çağrılar 0 kredi gösterir.

$1,20/1K arama'dan · KYC olmadan

API anahtarı alın