İçeriğe geç

Genel bakış

API başvuru kılavuzu

Serpwire, Google aramalarını HTTP üzerinden yanıtlar. Her tür, JSON gövdeli tek bir yola yapılan POST'tur; her yanıt serper.dev biçiminde JSON'dur ve iki ek anahtar taşır: searchParameters (normalize edilmiş istek) ve credits (çağrının maliyeti).

Taban adreshttps://serp-api.ozymoz.com
curl -X POST 'https://serp-api.ozymoz.com/search' \
  -H 'X-API-KEY: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "q": "best espresso machine",
    "gl": "us",
    "hl": "en"
  }'

Kimlik doğrulama#

API anahtarınızı X-API-KEY başlığında gönderin — serper'ın kullandığı başlık. Authorization: Bearer YOUR_API_KEY de kabul edilir. Anahtarları panelden oluşturup silebilirsiniz; anahtar yalnızca oluşturulduğu anda bir kez gösterilir.

headers
X-API-KEY: YOUR_API_KEY
Content-Type: application/json

Hatalar#

Hatalar tek bir biçimi ve sabit bir kodu paylaşır. Mesaj insanlar içindir; kodunuzu koda göre dallandırın.

402 Payment Required
{
  "error": {
    "code": "insufficient_credits",
    "message": "This request costs 3 credits; the balance is 1."
  }
}
HTTPKodNe zaman
400invalid_requestDoğrulama başarısız — mesaj alanı belirtir.
401invalid_api_keyAPI anahtarı eksik veya tanınmıyor.
401unauthorizedPanel oturumu yok veya süresi doldu.
402insufficient_creditsBakiye isteğin (veya toplu isteğin) maliyetinden düşük.
403forbiddenYalnızca yöneticilere açık yol.
409email_takenBu e-postayla zaten bir hesap var.
429rate_limitedBu anahtar için çok fazla istek — varsayılan saniyede 10.
500upstream_failedGoogle yeniden denemelerden sonra kullanılamaz bir yanıt verdi. Ücretlendirilmez.
503no_capacityZamanında sağlıklı bir Google oturumu bulunamadı. Ücretlendirilmez — birazdan tekrar deneyin.

Toplu istekler#

Tek nesne yerine en fazla 100 istek nesnesinden oluşan bir dizi gönderin. Yanıt aynı sırada bir dizidir. Her öğe ayrı ücretlendirilir ve tüm toplu isteğin maliyeti baştan bakiyenizle karşılaştırılır (yetmezse 402). Başarısız bir öğe kendi yerinde credits 0 olan bir hata nesnesi olarak durur ve yanıt yine 200 olur; yalnızca tüm öğeler başarısız olursa yanıt ilk öğenin hata durumunu alır.

curl -X POST 'https://serp-api.ozymoz.com/search' \
  -H 'X-API-KEY: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "q": "apple",
      "gl": "us"
    },
    {
      "q": "elma",
      "gl": "tr",
      "hl": "tr"
    }
  ]'
response.json
[
  {
    "searchParameters": {
      "q": "apple",
      "gl": "us",
      "type": "search",
      "engine": "google"
    },
    "organic": [
      "…"
    ],
    "credits": 1
  },
  {
    "error": {
      "code": "upstream_failed",
      "message": "Google answered something unusable."
    },
    "credits": 0
  }
]

Hız sınırları#

Her API anahtarı varsayılan olarak saniyede en fazla 10 istek gönderebilir. Aşılırsa 429 rate_limited döner — kısa bir süre bekleyip yeniden deneyin. Daha yüksek bir sınır gerekiyorsa bize yazın.

Krediler ve ücretlendirme#

Kredi yalnızca başarılı (2xx) yanıt için düşülür; başarısız çağrı 0 kredidir. Her yanıt maliyetini credits alanında bildirir.

Uç noktalar