# SERP API yanıt formatı: JSON'un her bloğu ve alanı

> SerpCrypto SERP API yanıtı, alan alan: search_metadata, organic_results, ai_overview, people_also_ask, local pack, reklamlar ve motor başına diziler.

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

Her motorda tek bir frame, ardından sonuç sayfasının her bölümü için bir blok. Bu sayfa her bloğu, alanlarını ve türlerini listeler. Örneklerdeki ID'ler, sayımlar, fiyatlar ve sonuçlar örneklendirme amaçlıdır.

**Hızlı yanıt — Bir SerpCrypto SERP API yanıtı neler içerir?**

Her **SerpCrypto** yanıtı tek bir JSON nesnesidir: `search_metadata` (durum, motor, kullanılan krediler), `search_parameters` (uygulanan ayarlar), `search_information` ve ardından sonuç sayfasının her bölümü için bir blok; örneğin `organic_results`, `ai_overview`, `people_also_ask` veya `local_results`. Olmayan bölümler yalnızca eksik kalır. Bir sayfa $0,30/1K arama krediden başlayarak 1 kredidir; kripto ile ödeme, KYC olmadan.

## Tam bir Google yanıtı nasıl görünür?

Aşağıdaki örnek, Birleşik Krallık'ta `standing desk` için yapılan bir Google aramasıdır ve her dizide tek öğeye indirgenmiştir. Gerçek bir yanıt, yaklaşık on organik sonuç ve o sorgu, konum ve cihaz için sayfanın gösterdiği diğer tüm blokları içerir.

*engine=google, gl=gb: kısaltılmış, örneklendirme amaçlı değerler*

```json
{
  "search_metadata": {
    "id": "srch_2b81d0c6fa47",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T10:02:31Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "standing desk",
    "gl": "gb",
    "hl": "en",
    "google_domain": "google.co.uk",
    "device": "desktop",
    "page": 1
  },
  "search_information": { "total_results": 52400000, "query_displayed": "standing desk" },
  "ai_overview": {
    "text": "A standing desk lets you work while standing or sitting…",
    "references": [
      { "index": 1, "title": "How to choose a standing desk", "link": "https://www.example.co.uk/guide", "source": "Example Guide" }
    ]
  },
  "ads": [
    { "position": 1, "block": "top", "title": "Electric Standing Desks", "link": "https://shop.example.com/desks", "displayed_link": "shop.example.com", "description": "Free delivery on…" }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "Best standing desks 2026, tested",
      "link": "https://www.example.co.uk/best-standing-desks",
      "displayed_link": "www.example.co.uk › reviews",
      "snippet": "We tested 14 electric and manual desks…",
      "date": "12 Oct 2026",
      "sitelinks": [ { "title": "Budget picks", "link": "https://www.example.co.uk/best-standing-desks#budget" } ]
    }
  ],
  "people_also_ask": [
    { "question": "Is it healthy to stand all day at a desk?", "snippet": "…", "title": "Standing at work", "link": "https://www.example.org/standing" }
  ],
  "shopping_results": [
    { "position": 1, "title": "Example Desk Pro 140 cm", "price": "£299.00", "source": "Example Store", "link": "https://shop.example.com/desk-pro" }
  ],
  "related_searches": [ { "query": "standing desk electric" }, { "query": "standing desk converter" } ],
  "pagination": { "current": 1, "next_page": 2 }
}
```

## Yanıtımdan neden bazı bloklar eksik?

Çünkü sonuç sayfası onları göstermedi. Google, reklam, AI Overview, local pack veya top stories gösterip göstermeyeceğine sorgu, yer ve cihaz başına karar verir. SerpCrypto sayfanın gösterdiğini döndürür ve boş yer tutucular göndermek yerine gerisini dışarıda bırakır.

Her bloğu varsayılan değerle okuyun, aşağıdaki Python satırlarında olduğu gibi. Aynı kural bir bloğun içinde de geçerlidir: `date` veya `sitelinks` gibi opsiyonel field'lar yalnızca bunlara sahip sonuçlarda görünür.

*Python: opsiyonel blokları güvenle okuma*

```python
data = response.json()

# A block is present only when the results page shows it: read with a default.
overview = data.get("ai_overview") or {}
organic = data.get("organic_results", [])
questions = [item["question"] for item in data.get("people_also_ask", [])]

if overview:
    print("AI Overview sources:", [ref["link"] for ref in overview.get("references", [])])
print(len(organic), "organic results,", len(questions), "questions")
```

## search_metadata içinde ne var?

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `id` | string | Aramanın tanımlayıcısı. Destek ekibiyle iletişime geçerken bunu belirtin. |
| `status` | string | 200 yanıtındaki `success`. |
| `engine` | string | Aramayı yürüten motor. |
| `created_at` | string | Aramanın zamanı, UTC olarak ISO 8601. |
| `credits_used` | integer | Bu aramanın harcadığı krediler: başarıda 1. |

## search_parameters ve search_information nedir?

Sonuçlarınızla birlikte `search_parameters` saklayın: bir sıralamanın tam olarak hangi ülke, dil, yer ve cihazdan geldiğini kaydeder.

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `search_parameters` | object | Uygulanan parametreler, varsayılanlar doldurulmuş halde: `engine`, `q`, `gl`, `hl`, `location`, `google_domain`, `device`, `page` ve gönderdiğiniz diğerleri. |
| `search_information.total_results` | integer | Motorun görüntülediği sonuç sayısı, görüntülediği durumlarda. Kesin bir rakam değil, tahmini bir değer. |
| `search_information.query_displayed` | string | Sonuç sayfasının gösterdiği haliyle sorgu. |

## organic_results hangi alanlara sahiptir?

Organik sonuçlar ücretli olmayan web sonuçlarıdır. Bing'de `organic_results` aynı yapıya sahiptir.

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `position` | integer | Sonucun bu sayfadaki bu blok içindeki sırası, 1'den başlayarak. |
| `title` | string | Mavi bağlantı başlığı. |
| `link` | string | Sonucun URL'si. |
| `displayed_link` | string | Başlığın altında gösterilen URL veya breadcrumb. |
| `snippet` | string | Başlığın altında gösterilen metin. |
| `date` | string | Snippet'in yanında gösterilen tarih, sayfada yazdığı şekilde. İsteğe bağlı. |
| `sitelinks` | array | Sonucun altında gösterilen ek bağlantılar, her biri `title` ve `link` ile birlikte. İsteğe bağlı. |

## AI Overview nasıl döndürülür?

`ai_overview` yalnızca Google o sorgu ve yer için bir AI Overview gösterdiğinde bulunur. Birçok sorguda hiç yoktur.

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `ai_overview.text` | string | AI Overview'ın sayfada gösterildiği şekliyle metni. |
| `ai_overview.references[].index` | integer | Kaynağın genel bakış içindeki sırası. |
| `ai_overview.references[].title` | string | Alıntılanan sayfanın başlığı. |
| `ai_overview.references[].link` | string | Alıntılanan sayfanın URL'si. |
| `ai_overview.references[].source` | string | Sitenin gösterildiği şekliyle adı. |

## ads ve people_also_ask neleri içerir?

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `ads[].position` | integer | Kendi bloğu içindeki sıra. |
| `ads[].block` | string | Sayfanın `top` veya `bottom`. |
| `ads[].title`, `link`, `displayed_link` | string | Reklamın başlığı, açılış sayfası URL'si ve gösterilen URL'si. |
| `ads[].description` | string | Reklam metni. |
| `people_also_ask[].question` | string | Sorunun görüldüğü hali. |
| `people_also_ask[].snippet` | string | Soru açıldığında gösterilen yanıt metni. |
| `people_also_ask[].title`, `link` | string | Yanıtın geldiği sayfanın başlığı ve URL'si. |

## Hangi diğer Google blokları görünebilir?

| Blok | Alanlar | Nedir |
| --- | --- | --- |
| `local_results` | `position`, `title`, `address`, `rating`, `reviews`, `type` | Yerel paket: konum niyeti olan sorgular için harita üzerindeki işletmeler. |
| `knowledge_graph` | `title`, `type`, `description`, `source.name`, `source.link` | Bir kişi, yer, şirket veya şey hakkındaki bilgi paneli. |
| `top_stories` | `title`, `link`, `source`, `date` | Bir karusel içinde gösterilen haber makaleleri. |
| `inline_videos` | `title`, `link`, `source`, `duration` | Web sonuçları içinde gösterilen video sonuçları. |
| `shopping_results` | `position`, `title`, `price`, `source`, `link` | Web sonuçları içinde gösterilen ürün listelemeleri. |
| `related_searches` | `query` | Sayfanın alt kısmında önerilen aramalar. |
| `pagination` | `current`, `next_page` | Geçerli sayfa numarası ve varsa bir sonraki sayfa. |

## Diğer motorlar ne döndürür?

Her dikey aynı çerçeveyi korur ve kendi dizisini ekler. Google Maps'te `local_results`, bir web aramasının yerel paketinden daha zengindir.

| `engine` | Ana dizi | Alanlar |
| --- | --- | --- |
| `google_news` | `news_results` | `position`, `title`, `link`, `source`, `date`, `snippet`, `thumbnail` |
| `google_images` | `images_results` | `position`, `title`, `original`, `original_width`, `original_height`, `thumbnail`, `source`, `link` |
| `google_maps` | `local_results` | `position`, `title`, `place_id`, `address`, `phone`, `website`, `rating`, `reviews`, `type`, `hours`, `gps_coordinates.latitude`, `gps_coordinates.longitude` |
| `google_shopping` | `shopping_results` | `position`, `title`, `price`, `extracted_price`, `currency`, `source`, `link`, `delivery`, `rating`, `reviews` |
| `bing` | `organic_results`, `related_searches` | Google organik sonuçlarıyla aynı alanlar |

## Fiyatlar, puanlar ve tarihler nasıl yazılıyor?

Sayfa değerleri metin olarak yazdıysa değerler sayfanın kullandığı biçimi korur. `price`, para birimi simgesiyle birlikte bir dizedir, örneğin `£299.00` ve Google Shopping, `extracted_price` değerini bir sayı, `currency` değerini de bir kod olarak ekler. `rating` bir sayıdır ve `reviews` bir tam sayıdır. `date` gibi tarihler sayfada yazıldığı gibi kalır, örneğin `12 Oct 2026` veya `3 days ago`, dolayısıyla bir zaman damgasına ihtiyacınız varsa bunları kendi kodunuzda ayrıştırın.

## Birden fazla sayfa arasında genel bir sıralama nasıl oluştururum?

Sayfa numarasını her sonuçla birlikte saklayın. `position`, tek bir sayfadaki blok içindeki sırayı verir ve `search_parameters.page` hangi sayfa olduğunu söyler. Google'ın Eylül 2025'te num=100 değerini dikkate almayı bırakmasından bu yana sunduğu gibi sayfa başına yaklaşık 10 organik sonuç; her ek sayfa bir kredi daha.

Sıralama takibi için çoğu ekip her anahtar kelime ve gün için `link`, `position`, `page`, `gl`, `location`, `device` ve `created_at` tutar. Bu, bir sıralamayı grafiklendirmek ve bir değişikliği konuma veya cihaza göre açıklamak için yeterlidir. Tam yöntem için [sıralama takibi](https://serpcrypto.com/tr/use-cases/rank-tracking/) bölümüne bakın.

## Yanıt biçimi soruları

### Alan adlandırması kararlı mı?

Evet, sürüm 1 içinde. Yeni bloklar veya alanlar eklenebilir, bu yüzden bilmediğiniz anahtarları yok sayın. Bir alanın kaldırılması veya yeniden adlandırılması, yolda yeni bir sürümle gelir, örneğin `/api/v2/`.

### Sayfanın ham HTML'ini alabilir miyim?

Hayır. Sürüm 1 yalnızca ayrıştırılmış JSON döndürür. Ayrıştırılmış bloklar çoğu aracın ihtiyacını karşılar: sonuçlar, reklamlar, sorular, AI Overview, yerel paket ve bilgi paneli.

### Neden total_results saydığımdan farklı?

Bu, motorun yazdırdığı tahmindir, sayfalayarak ulaşabileceğiniz sonuçların sayısı değildir. Sayfalar bu sayıdan çok önce biter; başka bir sayfa olup olmadığını bilmek için `pagination.next_page` kullanın.

### Organik sonuç içermeyen bir yanıt bir kredi harcar mı?

Evet, arama başarılı olduysa: boş bir sayfa da sonuçtur. Yalnızca hatalar ücretsizdir. 1 kredi = desteklenen herhangi bir motorda bir sayfa sonuç döndüren 1 başarılı arama isteği. Başarısız olan istek ücretlendirilmez.

---

SerpCrypto: SerpCrypto, Google ve Bing sonuçlarını JSON olarak döndüren, geliştiriciler ve AI agent'lar için bir SERP API'dir; kripto ile ödeme yapılır, kimlik yüklemek gerekmez. $0,30/1K arama ön ödemeli arama kredisinin süresi asla dolmaz. KYC olmadan — kimlik yok, selfie yok, belge yok. Kripto ile ödeme yapın.
