Hızlı yanıt
SerpCrypto arama endpoint'i hangi parametreleri alır?
GET https://serpcrypto.com/api/v1/search bir zorunlu parametre, q ve dokuz isteğe bağlı parametre alır: engine, gl, hl, location, google_domain, device, page, safe ve period. SerpCrypto JSON döndürür ve 6 motorun tamamında başarılı arama başına 1 kredi ücretlendirir; hatalar ücretsizdir. Paketler, KYC olmadan kripto ile ödenen 10.000 arama için $7,50 tutarından başlar.
Kimlik doğrulamayı nasıl yaparım?
Anahtarınızı iki yoldan biriyle gönderin. Önerilen yol Authorization: Bearer YOUR_KEY header'ıdır. Diğeri ise, bir tarayıcı sekmesinde hızlı bir test için kullanışlı olan api_key=YOUR_KEY sorgu parametresidir.
Eksik, yanlış veya iptal edilmiş bir anahtar 401 invalid_api_key alır ve hiçbir ücret doğurmaz. Dashboard'ınızdan istediğiniz zaman oluşturup iptal edebileceğiniz API anahtarları, böylece her betiğe veya sunucuya kendi anahtarını verebilir ve diğerlerine dokunmadan birini iptal edebilirsiniz.
Arama yapın
GET/api/v1/search
Seçilen motorda tek bir arama yapar ve sonuçlar sayfasını JSON olarak döndürür. Başarılı bir arama, hangi motor olursa olsun 1 kredi harcar; bir hata hiç harcamaz. Parametreler, URL olarak kodlanmış sorgu dizesine gider. Örnek, Google'dan Austin, Texas'taki kahve kavurucularını ister; ID'ler, sayımlar ve sonuçlar örnektir.
Kimlik doğrulama: Authorization: Bearer API_KEY başlığında API anahtarı.
Parametreler
| Ad | Konum | Tür | Zorunlu | Açıklama |
|---|---|---|---|---|
q | query | string | Evet | Arama sorgusu, bir kişinin yazacağı gibi. Tırnak işaretleri veya site: gibi arama operatörleri sorgunun parçasıdır. |
engine | query | string | Hayır | google (varsayılan), google_news, google_images, google_maps, google_shopping veya bing. |
gl | query | string | Hayır | Sonuçların ülkesi: küçük harfle ISO 3166-1 alpha-2 kodu, örneğin us, de veya br. Varsayılan us. |
hl | query | string | Hayır | Arayüz dili, örneğin en, de veya pt-BR. Varsayılan en. |
location | query | string | Hayır | City, Region, Country biçiminde yazılan şehir düzeyinde konum, örneğin Austin, Texas, United States. Konumlar bölümüne bakın. |
google_domain | query | string | Hayır | Aranacak Google alanı, örneğin google.de. Varsayılan: gl ülkesinin alanı. engine=bing olduğunda yok sayılır. |
device | query | string | Hayır | desktop (varsayılan) veya mobile. |
page | query | integer | Hayır | Sonuç sayfası 1 (varsayılan) ile 10 arası. Her sayfa ayrı bir aramadır ve 1 kredi kullanır. |
safe | query | string | Hayır | active açık içerikli sonuçları filtreler; off (varsayılan) filtrelemez. |
period | query | string | Hayır | Yalnızca son bir saat (h), gün (d), hafta (w), ay (m) veya yıl (y) içindeki sonuçlar. |
api_key | query | string | Hayır | Authorization header'ını göndermiyorsanız anahtarınız. |
Yanıt 200
{
"search_metadata": {
"id": "srch_7f3a9c2e41b8",
"status": "success",
"engine": "google",
"created_at": "2026-10-22T09:14:05Z",
"credits_used": 1
},
"search_parameters": {
"engine": "google",
"q": "coffee roasters",
"gl": "us",
"hl": "en",
"location": "Austin, Texas, United States",
"google_domain": "google.com",
"device": "desktop",
"page": 1
},
"search_information": {
"total_results": 18600000,
"query_displayed": "coffee roasters"
},
"local_results": [
{
"position": 1,
"title": "Example Coffee Roasters",
"address": "123 Example St, Austin, TX",
"rating": 4.7,
"reviews": 312,
"type": "Coffee roasters"
}
],
"organic_results": [
{
"position": 1,
"title": "The 12 best coffee roasters in Austin",
"link": "https://www.example.com/austin/coffee-roasters",
"displayed_link": "www.example.com › austin › coffee",
"snippet": "From light Nordic roasts to dark espresso blends, these local roasters…",
"date": "Sep 30, 2026"
},
{
"position": 2,
"title": "Example Roasting Co. | Fresh beans, roasted in Austin",
"link": "https://www.example.org/",
"displayed_link": "www.example.org",
"snippet": "Small-batch coffee roasted every weekday and shipped the same day…"
}
],
"people_also_ask": [
{
"question": "What is the oldest coffee roaster in Austin?",
"snippet": "…",
"title": "Austin coffee history",
"link": "https://www.example.net/austin-coffee-history"
}
],
"related_searches": [
{
"query": "coffee roasters near me"
},
{
"query": "coffee roasters austin wholesale"
}
],
"pagination": {
"current": 1,
"next_page": 2
}
}Kod örnekleri
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=coffee roasters" \
--data-urlencode "location=Austin, Texas, United States" \
-d gl=us -d hl=en -d device=desktopimport os
import requests
r = requests.get(
"https://serpcrypto.com/api/v1/search",
params={
"q": "coffee roasters",
"location": "Austin, Texas, United States",
"gl": "us",
"hl": "en",
},
headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
timeout=60,
)
r.raise_for_status()
print(r.json()["organic_results"][0]["link"])const params = new URLSearchParams({
q: "coffee roasters",
location: "Austin, Texas, United States",
gl: "us",
hl: "en",
});
const res = await fetch("https://serpcrypto.com/api/v1/search?" + params, {
headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const data = await res.json();
console.log(data.organic_results?.[0]?.link);Hangi engine değerleri var ve her biri ne döndürür?
Çerçeve (search_metadata, search_parameters, search_information) her engine'de aynıdır. Bir blok yalnızca sayfa onu gösterdiğinde görünür.
engine | Kaynak | Yanıttaki ana bloklar |
|---|---|---|
google | Google Search | ai_overview, organic_results, ads, people_also_ask, local_results, knowledge_graph, top_stories, inline_videos, shopping_results, related_searches, pagination |
google_news | Google News | news_results: başlık, bağlantı, kaynak, tarih, snippet, küçük resim |
google_images | Google Images | images_results: orijinal URL ve boyut, küçük resim, kaynak sayfa |
google_maps | Google Maps | local_results: ad, adres, telefon, web sitesi, puan, yorumlar, kategori, çalışma saatleri, koordinatlar |
google_shopping | Google Shopping | shopping_results: başlık, fiyat, çıkarılan fiyat, para birimi, satıcı, teslimat, puan |
bing | Bing | organic_results, related_searches |
Kredilerinizi okuyun
GET/api/v1/credits
Hesabınızda kalan kredileri, UTC gece yarısından bu yana kullanılan kredileri ve hesabınızın aynı anda çalıştırabileceği arama sayısını döndürür. Bu çağrı ücretsizdir. Aşağıdaki değerler örnektir.
Kimlik doğrulama: Authorization: Bearer API_KEY başlığında API anahtarı.
Yanıt 200
{
"credits_remaining": 84210,
"credits_used_today": 1290,
"concurrency_limit": 10
}Kod örnekleri
curl -s "https://serpcrypto.com/api/v1/credits" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY"import os
import requests
r = requests.get(
"https://serpcrypto.com/api/v1/credits",
headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
timeout=30,
)
r.raise_for_status()
print(r.json()["credits_remaining"])const res = await fetch("https://serpcrypto.com/api/v1/credits", {
headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const { credits_remaining } = await res.json();
console.log(credits_remaining);API hangi hataları döndürebilir?
Her hatanın body'si {"error": {"code": "…", "message": "…"}} şeklindedir. Hatalar sayfası her birini açıklar ve yeniden deneme kodunu gösterir.
| HTTP | code | Ne zaman olur | Ücretlendirilir |
|---|---|---|---|
| 400 | invalid_parameter | Zorunlu bir parameter eksik veya bir değer izin verilen listenin dışında | Hayır |
| 401 | invalid_api_key | Anahtar eksik, yanlış veya iptal edilmiş | Hayır |
| 402 | insufficient_credits | Hesabınızda kalan kredi yok | Hayır |
| 429 | concurrency_limit | Hesabınızda aynı anda çalışan çok fazla arama var | Hayır |
| 502 | search_failed | Bu istek için engine veya toplama başarısız oldu; yeniden deneyin | Hayır |
| 504 | search_timeout | Zamanında yanıt yok; yeniden deneyin | Hayır |
Tam olarak ne ücretlendirilir?
- Bir başarılı arama = bir kredi, Google Maps ve Google Shopping dahil her engine'de.
- Her sonuç sayfası bir aramadır. 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.
- Hatalar ücretsizdir: HTTP durumu 200 dışında olan her yanıt kredi kullanmaz.
- Kredilerinizi okumak ücretsizdir.
Ön ödemeli arama kredileri hiçbir zaman sona ermez: kullanılmayan aramalar siz kullanana kadar hesabınızda kalır. Pack'ler en büyüğünde 10.000 arama için $7,50 ile $0,30/1K arama arasında değişir; bkz. fiyatlandırma.
Sorguyu nasıl kodlamalıyım?
q değerini herhangi bir query-string değeri gibi URL-encoded gönderin: boşluk %20 veya + olur ve aksanlı harfler UTF-8 olarak kodlanır. curl bunu --data-urlencode ile, Python requests ve httpx bunu params= ile yapar, Node.js ise URLSearchParams ile yapar.
Sorguyu tam olarak bir kişinin arama kutusuna yazacağı gibi yazın. Tırnak işaretleri, eksi işareti veya site: q içinde kalır; engine bunları bir ziyaretçi için uygulayacağı gibi uygulamaya karar verir.
API sürümlendirilmiş mi?
Evet. Sürüm path'in bir parçasıdır: /api/v1/. Sürüm 1 yanıtlarında yeni field'lar veya bloklar görünebilir; bu yüzden kodunuz bilmediği key'leri yok saymalıdır. Bir field'ın kaldırılması veya yeniden adlandırılması, v1 üzerinde bir değişiklik olarak değil, path'te yeni bir sürümle gelir.
API referansı soruları
JSON gövdesiyle POST isteği gönderebilir miyim?
Sürüm 1'de hayır: her iki endpoint de parametreleri sorgu dizesinde alan GET istekleri kabul eder. Bu sayede her çağrıyı curl veya bir tarayıcıyla kolayca yeniden üretebilir ve gövde olmadan kolayca günlüğe kaydedebilirsiniz.
Bir arama kaç sonuç döndürür?
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. 30 sonuç toplamak için page=1, page=2 ve page=3 isteyin: üç arama, üç kredi.
Kredilerim tükendiğinde ne olur?
Bir sonraki arama 402 insufficient_credits döndürür ve hiçbir şey harcamaz. Fiyatlandırma sayfasından bakiyenizle başka bir pack satın alın; API anahtarınız çalışmaya devam eder ve aramalar hemen sürer.
Aynı anahtarı birden fazla sunucudan kullanabilir miyim?
Evet. Bir anahtar IP adresine bağlı değildir. Sınırlanan şey, hesapta aynı anda çalışan arama sayısıdır: GET /credits içindeki concurrency_limit bu rakamı verir.