Kısa yanıt: tek seferlik ya da manuel işler için tarayıcı eklentisi, üretim ölçeğinde otomasyon için API. Eklenti sizi beş dakikada çalışır hale getirir ama her seferinde bir tarayıcı örneği demektir; API ise kod yazmayı gerektirir, buna karşılık aynı anda binlerce çözüme ölçeklenir ve sunucuda tarayıcı olmadan çalışır. Aşağıda ikisini hız, ölçek, güvenilirlik ve maliyet açısından karşılaştırıyoruz.
Kısa karşılaştırma tablosu
| Özellik | Tarayıcı Uzantısı | API Tabanlı Çözücü |
|---|---|---|
| Kurulum | Eklentiyi yükleyin, API anahtarını girin | HTTP çağrılarıyla kodunuza entegre edin |
| Tarayıcı gerekir mi | Evet | Hayır (token enjekte etmiyorsanız) |
| Ölçeklenebilirlik | Düşük — örnek başına bir tarayıcı | Yüksek — sınırsız paralel istek |
| Hız | Hızlı (otomatik algılar + çözer) | CAPTCHA türüne bağlı (5–30 saniye) |
| Kontrol | Sınırlı | Tam programatik kontrol |
| Headless destek | Sınırlı | Tam |
| Sunucu tarafında kullanım | Hayır | Evet |
| Maliyet | Thread bazlı (çözüm başına ücret yok) | Thread bazlı (çözüm başına ücret yok) |
| Diller | Yalnızca tarayıcı (JavaScript) | Herhangi bir dil |
Hangi durumda uzantı, hangi durumda API?
Tarayıcı uzantısı ne zaman mantıklı
Şu durumlarda eklenti yeterlidir:
- Ara sıra CAPTCHA çıkan manuel gezinme — kod yazmaya gerek yok
- Hızlı prototipleme — API entegrasyonunu kurmadan önce deneyin
- Tek tarayıcılı, düşük hacimli görevler — form doldurma gibi işler
- Geliştirici olmayan kullanıcılar — programlama bilgisi gerekmez
API ne zaman daha iyi
Şu iş yükleri için API daha güçlü bir tercihtir:
- Büyük ölçekli web kazıma — paralel çözüm, tarayıcı yükü yok
- Sunucu tarafı otomasyonu — ortamda tarayıcı bulunmaz
- CI/CD testleri — headless ortamlar
- Mikroservisler — herhangi bir servisten HTTP çağrısı
- Çoklu CAPTCHA türü yönetimi — programatik tür algılama ve yönlendirme
- Özel yeniden deneme / hata yönetimi — arıza kurtarma üzerinde tam kontrol
Tarayıcı uzantısı nasıl çalışır?
Bir tarayıcı eklentisi, bilinen CAPTCHA widget'ları (reCAPTCHA, Turnstile, resim CAPTCHA'ları) için sayfa yüklemelerini izler. Bir CAPTCHA algıladığında parametreleri otomatik olarak çıkarır, çözüm API'sine gönderir ve dönen token'ı sayfaya geri enjekte eder.
Güçlü yanları:
- Kod gerektirmeyen kurulum — yükleyin ve yapılandırın
- Otomatik CAPTCHA algılama ve token ekleme
- CAPTCHA'ları tıpkı bir insan kullanıcı gibi çözer
- JavaScript ağırlıklı karmaşık sitelerle çalışır
Zayıf yanları:
- Görünür ya da headless bir tarayıcı gerektirir
- Bir tarayıcı örneği = aynı anda tek çözüm
- Ölçekte çalıştırmak zordur (çok sayıda tarayıcı örneği gerekir)
- Eklenti, anti-bot sistemleri tarafından fark edilebilir
- Tarayıcısı olmayan sunucularda çalışmaz
- Hata yönetimi ve yeniden deneme mantığı sınırlıdır
- Eklenti güncellemeleri işlevi bozabilir
API tabanlı CAPTCHA çözümü nasıl çalışır?
Çözüm sağlayan bir API'ye HTTP istekleri gönderirsiniz. CAPTCHA parametrelerini (sitekey, sayfa URL'si, resim verisi) gönderir, sonucu sorgular ve dönen token'ı uygulamanızda kullanırsınız — tarayıcıya hiç gerek kalmaz.
Güçlü yanları:
- Tam programatik kontrol
- Her dilde çalışır (Python, Node.js, PHP, Go vb.)
- Binlerce paralel çözüme ölçeklenir
- Sunucularda, konteynerlerde ve sunucusuz işlevlerde çalışır
- Özel hata yönetimi, yeniden deneme mantığı ve izleme
- Tarayıcıyla ya da tarayıcı olmadan çalışır
- Eklenti tespit riski yok
Zayıf yanları:
- Entegrasyonu kodlamayı gerektirir
- Token enjeksiyonunu kendiniz yaparsınız
- Sitekey ve parametreleri elle çıkarmanız gerekir
Ölçeklenebilirlik: uzantı vs API
Fark, hacim arttıkça büyür: bir CAPTCHA'da ikisi aynı hızda, ama uzantının tarayıcı maliyeti katlanır.
| Metrik | Uzantı | API |
|---|---|---|
| 1 CAPTCHA | Aynı hız | Aynı hız |
| 10 eşzamanlı CAPTCHA | 10 tarayıcı örneği gerekir | 10 paralel HTTP isteği |
| 100 eşzamanlı CAPTCHA | Pratik değil | Standart iş yükü |
| 1.000+ eşzamanlı CAPTCHA | Uygulanabilir değil | Kuyruk + worker'lar |
| Örnek başına RAM | 200–500 MB (Chrome) | ~10 MB (HTTP istemcisi) |
| Örnek başına CPU | Yüksek (tarayıcı render'ı) | Düşük (yalnızca HTTP) |
Güvenilirlik ve hata yönetimi
Üretimde en önemli konu, arıza anında sahip olduğunuz kontroldür — API tarafında algılama, yeniden deneme ve loglama sizin kodunuzdadır.
| Faktör | Uzantı | API |
|---|---|---|
| CAPTCHA algılama | Otomatik (özel CAPTCHA'ları kaçırabilir) | Manuel (algılama mantığını siz belirlersiniz) |
| Hata yönetimi | Eklenti düzeyinde (sınırlı) | Kendi kodunuz (tam kontrol) |
| Güncellemeler | Eklenti güncellemeleri işlevi bozabilir | API sürümlü, geriye dönük uyumlu |
| Tarayıcı çökmesi | Oturumu kaybedersiniz | Çökecek tarayıcı yok |
| Anti-bot algılama | Uzantı imzası fark edilebilir | Uzantı imzası yok |
Türkiye'den bir senaryo: e-ticaret QA otomasyonu
Diyelim ki bir e-ticaret müşterisi için ödeme adımını (checkout) uçtan uca test eden bir QA akışı kuruyorsunuz ve teslim tarihi yaklaşıyor. İlk denemede masaüstünde bir tarayıcı eklentisiyle akışı elle doğrulamak makul: birkaç dakikada kurulur. Ama aynı testi gecelik CI/CD boru hattında, tarayıcısı olmayan bir sunucuda ve onlarca paralel senaryoyla koşturmaya başladığınızda eklenti tıkanır — API'ye taşınmak kaçınılmaz olur.
Maliyet tarafında CaptchaAI thread bazlı faturalandırır ve fiyatlar USD üzerinden sabittir; TL kurundaki oynaklık düşünüldüğünde, aylık gideri baştan bilinen bir plan bütçelemeyi kolaylaştırır. Kazıma senaryolarında topladığınız kişisel verilerin KVKK kapsamına girebileceğini de unutmayın; CaptchaAI'yi yetkili QA iş akışları içinde konumlandırın.
Hibrit yaklaşım: tarayıcı + API
Karmaşık sitelerde ikisini birleştirin: gezinme için tarayıcı, çözüm için API.
from selenium import webdriver
import requests
import time
driver = webdriver.Chrome()
driver.get("https://staging.example.com/qa-login")
# Detect CAPTCHA
sitekey = driver.find_element("css selector", "[data-sitekey]").get_attribute("data-sitekey")
# Solve via API (not extension)
submit = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": driver.current_url,
"json": 1
}).json()
task_id = submit["request"]
time.sleep(15)
for _ in range(24):
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY", "action": "get", "id": task_id, "json": 1
}).json()
if result.get("status") == 1:
token = result["request"]
# Inject token via JavaScript
driver.execute_script(
f'document.getElementById("g-recaptcha-response").value = "{token}";'
)
driver.find_element("css selector", "form").submit()
break
time.sleep(5)
Böylece JavaScript ağırlıklı sitelerde tarayıcı düzeyinde render'a ve CAPTCHA çözümünde API düzeyinde kontrole aynı anda sahip olursunuz.
Sık sorulan sorular
CaptchaAI'da fiyatlandırma thread bazlı mı yoksa çözüm başına mı?
Thread bazlı. Aynı anda kaç in-flight CAPTCHA çözdüğünüz (thread sayısı) faturalandırılır; çözüm başına veya CAPTCHA türüne göre ek ücret yoktur. BASIC ($15/ay, 5 thread) ile o ay sınırsız çözüm yaparsınız. Bu, uzantı ve API için aynıdır.
Yüksek hacimli otomasyon için hangisini seçmeliyim?
API. Yüzlerce eşzamanlı çözümde uzantı, örnek başına bir tarayıcı sınırına takılır ve RAM/CPU maliyeti katlanır. API ise paralel HTTP istekleriyle kuyruk ve worker mimarisine ölçeklenir.
Tarayıcı uzantısı anti-bot sistemleri tarafından fark edilir mi?
Fark edilebilir. Eklentinin sayfaya eklediği imza bazı anti-bot sistemlerince algılanabilir. API yaklaşımında böyle bir eklenti imzası olmaz.
API entegrasyonu için ne kadar kod yazmam gerekir?
Genellikle tek bir istek-sorgula döngüsü yeterlidir: sitekey ve pageurl'i gönderin, sonucu sorgulayın, dönen token'ı enjekte edin. Python veya Node.js ile birkaç düzine satır yeter.
Sunucuda ya da headless ortamda uzantı çalışır mı?
Teknik olarak çalışabilir ama desteği sınırlıdır: headless Chrome eklenti yükleyebilse de bazı CAPTCHA'lar headless modu algılar. Bu ortamlar için API belirgin biçimde daha güvenilirdir.
CaptchaAI API anahtarınızı alın
Ölçeklenebilir CAPTCHA çözümünü captchaai.com üzerinde kurun.