# Yanıt formatı: bir aramanın her alanı, açıklamalı

> Arama API'si yanıt formatı: /search ve /extract için her alan, sekiz content_status değeri ve target_status, tam bir örnekle. KYC olmadan, kripto ile ödeme.

- URL: https://llmwebsearch.com/tr/docs/response/
- Son güncelleme: 2026-10-22
- Yayıncı: LLMWebSearch (https://llmwebsearch.com)

Bir arama yanıtı tek bir JSON nesnesidir: çağrıyla ilgili birkaç alan, ardından sıralanmış bir `results` dizisi. Her sonuç, sayfasının okunup okunmadığını belirtir ve okunduysa içeriği taşır. İşte bir agent'ın ele alması gereken durumlarla birlikte her alan.

**Kısa yanıt — LLMWebSearch API'si bir arama için ne döndürür?**

**LLMWebSearch**, `query`, `created_at`, `credits_used` ve sıralanmış bir `results` dizisi içeren JSON döndürür. Her sonuçta konum, başlık, URL, host ve snippet ile bir `content_status` bulunur; bu değer `ok` olduğunda sayfanın ana içeriği, bir `word_count` ile birlikte `content` içindedir. En fazla 3 sayfanın okunduğu tek bir arama 1 kredi tutar; Ekim 2026 itibarıyla $1,20/1K arama üzerinden. KYC yok; kripto ile ödeme yapın.

## Hangi alanlar çağrıyı tanımlar?

Bir `/search` yanıtının en üst düzeyi.

| Alan | Tür | Anlam |
| --- | --- | --- |
| `query` | string | Çalıştırdığımız hâliyle sorgu, boşluklar kırpıldıktan sonra |
| `created_at` | string | Aramanın çalıştığı zaman, UTC cinsinden ISO 8601 |
| `credits_used` | integer | Çağrının maliyeti: 1 veya `read` 4 ile 10 arasındayken 2 |
| `results` | array | Sıralanmış sonuçlar, en iyisi başta, en fazla `max_results` öğe |

## Her sonuç hangi alanları taşır?

Sayfanın veya arama sonucunun sağlamadığı bir alan boş gönderilmek yerine tamamen atlanır.

| Alan | Tür | Bulunduğunda | Anlam |
| --- | --- | --- | --- |
| `position` | integer | Her zaman | Aramadaki sıralama, 1'den başlar |
| `title` | string | Her zaman | Sonucun başlığı |
| `url` | string | Her zaman | Sayfanın adresi |
| `host` | string | Her zaman | Sayfanın host adı, gruplama veya atıf için kullanışlı |
| `snippet` | string | Her zaman | Aramanın gösterdiği kısa alıntı |
| `published_at` | string | Tarih bilindiğinde | Sayfadan veya arama sonucundan alınan yayın tarihi |
| `content_status` | string | Her zaman | Sayfanın okunup okunmadığı ve okunmadıysa nedeni |
| `content` | string | `content_status` `ok` olduğunda | Ana içerik Markdown veya düz metin olarak, `max_chars` sınırında kesilmiş |
| `word_count` | integer | `content_status` `ok` olduğunda | Kesimden önce sayılan, çıkarılan metnin tamamındaki kelimeler |
| `target_status` | integer | `target_refused` ile | Sitenin yanıtladığı HTTP durum kodu, örneğin 403 veya 429 |

## Her content_status değeri ne anlama gelir?

Bunların hiçbiri aramanın fiyatını değiştirmez. Tek bir sayfayı tanımlarlar, asla tüm çağrıyı değil.

| `content_status` | Anlam | Bir agent'ın ne yapması gerekir |
| --- | --- | --- |
| `ok` | Sayfa okundu; `content` ana metnini tutuyor | Kullanın ve `url` kaynağını belirtin |
| `not_requested` | Sonuç `read` sayısının ötesinde | `read` değerini artırın veya gerekirse `/extract` üzerinden okuyun |
| `blocked_by_robots` | Sitenin robots.txt dosyası okuyucumuzun bu sayfaya erişmesine izin vermiyor | Snippet'e veya başka bir kaynağa güvenin |
| `blocked_by_site_policy` | Site `Content-Signal: ai-input=no` bildiriyor | Snippet'e veya başka bir kaynağa güvenin |
| `target_refused` | Site isteği reddetti; `target_status` bölümüne bakın | Sayfayı yeniden denemeyin; başka bir kaynak kullanın |
| `fetch_failed` | DNS, TLS veya bağlantı hatası ya da sayfa artık yok | Başka bir sonucu deneyin; daha sonraki bir deneme işe yarayabilir |
| `fetch_timeout` | Sayfa 15 saniye içinde yanıt vermedi | Başka bir sonucu deneyin; daha sonraki bir deneme işe yarayabilir |
| `unsupported_content` | Bağlantı, metne dönüştüremeyeceğimiz bir dosya | Snippet'i veya başka bir sonucu kullanın |

## Tam bir yanıt neye benzer?

Aşağıdaki örnek, ilk 4'ü okunacak şekilde 5 sonuç istedi, bu yüzden 2 krediye mal oldu. 1. ve 3. sonuçlar okundu. 2. sonuç, robots.txt dosyası okuyucumuzu dışarıda tutan bir siteye ait, 4. sonuç isteği reddetti ve 5. sonuç `read` sayısının ötesinde. Başlıklar, URL'ler ve değerler örnektir.

*POST /search yanıtı (örnek)*

```json
{
  "query": "how to rotate api keys without downtime",
  "created_at": "2026-10-22T10:15:04Z",
  "credits_used": 2,
  "results": [
    {
      "position": 1,
      "title": "Rotating API keys",
      "url": "https://docs.example.com/security/key-rotation",
      "host": "docs.example.com",
      "snippet": "Create a second key, deploy it everywhere, then revoke the first one.",
      "published_at": "2026-09-30",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key.\n2. Deploy it to every service.\n3. Revoke the old key.",
      "word_count": 948
    },
    {
      "position": 2,
      "title": "Key rotation checklist",
      "url": "https://blog.example.org/key-rotation-checklist",
      "host": "blog.example.org",
      "snippet": "Keep two keys active during the switch and alert on the old one.",
      "content_status": "blocked_by_robots"
    },
    {
      "position": 3,
      "title": "Secrets management basics",
      "url": "https://security.example.net/secrets-basics",
      "host": "security.example.net",
      "snippet": "Never commit keys to a repository.",
      "content_status": "ok",
      "content": "# Secrets management basics\n\n**Never** commit keys to a repository.",
      "word_count": 1310
    },
    {
      "position": 4,
      "title": "Key management service guide",
      "url": "https://cloud.example.com/kms-guide",
      "host": "cloud.example.com",
      "snippet": "Store keys in a managed vault and rotate them on a schedule.",
      "content_status": "target_refused",
      "target_status": 403
    },
    {
      "position": 5,
      "title": "API key best practices",
      "url": "https://dev.example.com/api-key-best-practices",
      "host": "dev.example.com",
      "snippet": "Scope each key to one service and one environment.",
      "content_status": "not_requested"
    }
  ]
}
```

## Hangi sonuçlar not_requested dışında bir sayfa durumu alır?

Yalnızca ilk `read` sonuç ve bir `/extract` çağrısının her öğesi. Okuyucumuzun gerçekten denediği sayfalar bunlardır. `read` sayısından sonraki her şey, site ne cevap vermiş olursa olsun `not_requested` olarak kalır.

Sıra asla değişmez: okuyucu 1, 2, 3 ve devamındaki konumlar üzerinde çalışır, başarısız olan bir önceki sonucun yerine asla daha sonraki bir sonucu almaz. Bir ajan reddedilen bir sayfa için yedek gerektiriyorsa, bir sonraki sonucu `/extract` aracılığıyla okuyabilir.

## Bir extract yanıtı neye benzer?

`/extract`, `credits_used` ve gönderdiğiniz URL'lerin sırasına göre bir `results` dizisi döndürür. Her öğede `url` ve bir `content_status` bulunur; `ok` ile `title`, `content` ve `word_count` eklenir, `target_refused` ile `target_status` eklenir. `position`, `host` veya `snippet` yoktur, çünkü hiç arama çalıştırılmamıştır.

[extract referansı](https://llmwebsearch.com/tr/docs/extract/) tam bir örnek gösterir ve kredilerinin nasıl sayıldığını açıklar.

## Sonuçları bir model için bağlama nasıl dönüştürürüm?

Kaynakları numaralandırın, her birinin yanında URL'yi tutun ve modele yalnızca ihtiyacı olanı verin. Kompakt bir düzen iyi çalışır: `[1] title — url`, ardından o sayfanın içeriği, sonra bir sonraki kaynak. Modelden aynı numaralarla atıf yapmasını isteyin.

Bir sonucun içeriği yoksa, modele onun snippet'ini verin ve bunun yalnızca bir snippet olduğunu söyleyin. Bu, modelin hiç görmediği bir sayfaya dayanan yanıtları önler. [Python sayfası](https://llmwebsearch.com/tr/docs/python/) bunların hepsini bir token bütçesi içinde yapan kısa bir döngü içerir.

## Yanıt formatı: sık sorulan sorular

### İçerik her zaman Markdown mı?

Varsayılan olarak Markdown. İşaretleme olmadan düz metin almak için `format: "text"` gönderin, örneğin yalnızca kelime sayacaksanız veya sayfaları sınıflandırıyorsanız. Alan adı `content` olarak kalır.

### Neden bazı sonuçlarda published_at eksik?

Birçok sayfa tarih belirtmez ve bazı arama sonuçları da hiç tarih göstermez. Bu durumda alan atlanır, bu yüzden kullanmadan önce varlığını kontrol edin.

### Daha sonra yeni alanlar eklenebilir mi?

Evet. Sürüm 1'de alanlar eklenebilir ancak asla yeniden adlandırılmaz veya kaldırılmaz. Ayrıştırıcınızı bilmediği alanları yok sayacak şekilde yazın.

### İçerik sizin tarafınızda saklanıyor mu?

Hayır. Sorgularınız veya API'nin döndürdükleri üzerinde hiçbir model eğitmeyiz ve sonuçları saklamaya karşı kendi kurallarımızı eklemeyiz; sayfalarını okuduğunuz sitelerin hakları hâlâ geçerlidir. İstek günlüğümüz her çağrının yalnızca kısa bir izini tutar, bu [gizlilik sayfası](https://llmwebsearch.com/tr/privacy/) açıklanmıştır.

---

LLMWebSearch: LLMWebSearch, AI ajanları için bir web arama API'sidir; sıralanmış sonuçları en iyi sayfaların Markdown içeriğiyle birlikte döndürür ve kripto ile ödenir, kimlik yüklemesi gerekmez. $1,20/1K arama kredilik ön ödemeli krediler hiç süresi dolmaz. KYC yok — kimlik yok, selfie yok, belge yok. Kripto ile ödeme.
