Temel bilgiler
- Temel URL
https://unlock-api.com- API anahtarı
- 32 karakter, hesap sayfanızda. clientKey (JSON) veya key (in.php, res.php) olarak gönderin.
- Format
- JSON yöntemleri: JSON gövdeli POST. in.php ve res.php: GET veya POST form alanları; JSON yanıt için json=1 ekleyin.
- Sınırlar
- Hesap başına dakikada 1.200 istek, sonuç kontrolleri dahil. Görev oluşturduktan sonra yaklaşık 5 saniye bekleyin, ardından her 5 saniyede bir kontrol edin.
- Süre sınırı
- 5 dakika içinde çözülmeyen bir görev ERROR_CAPTCHA_UNSOLVABLE ile başarısız olur ve ücreti bakiyeye geri döner.
- Ücretlendirme
- Görev ücreti, görev oluşturulduğunda alınır. Başarısız görevler otomatik olarak iade edilir.
Hızlı başlangıç
JSON yöntemleriyle bir reCAPTCHA v2 çözün. YOUR_API_KEY yerine kendi anahtarınızı yazın.
import time, requests
API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "6LcR_RsTAAAAAFJR_5ZdbQd0SMxL7yIDmSXH1-lo"
}
}).json()
if task["errorId"]:
raise SystemExit(task["errorCode"])
while True:
time.sleep(5)
r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
if r["errorId"]:
raise SystemExit(r["errorCode"]) # failed tasks are refunded
if r["status"] == "ready":
print(r["solution"]["gRecaptchaResponse"])
breakJSON yöntemleri
POST /createTask Görev oluşturma
Gövde: clientKey ve bir task nesnesi. Diğer alanları görev türü belirler; Görev türleri bölümüne bakın. Yanıt: errorId 0 ve taskId ya da errorId 1 ile errorCode.
POST https://unlock-api.com/createTask
{"clientKey":"YOUR_API_KEY","task":{"type":"TurnstileTaskProxyless","websiteURL":"https://example.com","websiteKey":"0x4AAAAAAAC3DHQFLr1GavRN"}}
{"errorId":0,"taskId":1001}
{"errorId":1,"errorCode":"ERROR_ZERO_BALANCE","errorDescription":"..."}POST /getTaskResult Sonucu alma
Gövde: clientKey ve taskId. Görev çalışırken: status processing. Tamamlandığında: solution ve cost ile birlikte status ready. Başarısız bir görev errorId 1 ve errorCode ile yanıt verir.
POST https://unlock-api.com/getTaskResult
{"clientKey":"YOUR_API_KEY","taskId":1001}
{"errorId":0,"status":"processing"}
{"errorId":0,"status":"ready","solution":{"token":"0.zrSnRHO7h0..."},"cost":"0.0012","createTime":1791640000,"endTime":1791640011,"solveCount":1}POST /getBalance Bakiyeyi alma
Gövde: clientKey. Yanıt: ABD doları cinsinden balance.
{"clientKey":"YOUR_API_KEY"}
{"errorId":0,"balance":42.5}Yanlış yanıtı bildirme
reportIncorrectRecaptcha ve reportIncorrectImageCaptcha, clientKey ve taskId alır ve success ile yanıt verir. Mevcut kütüphanelerle uyumluluk için kabul edilirler; bildirim ücreti değiştirmez.
Form yöntemleri (in.php, res.php)
Görev gönderme: in.php
Alanlar: key, method ve CAPTCHA türünün alanları. Yanıt: OK|ID veya json=1 ile {"status":1,"request":"ID"}. Hatalar adlarıyla döner, örneğin ERROR_ZERO_BALANCE.
POST https://unlock-api.com/in.php
key=YOUR_API_KEY&method=hcaptcha&sitekey=SITE_KEY&pageurl=https://example.com&json=1
OK|1001
{"status":1,"request":"1001"}Yanıtı alma: res.php
action=get&id=ID, çözüldüğünde OK|ANSWER, çalışırken CAPCHA_NOT_READY döndürür. action=get2 ücreti de ekler. ids=ID1,ID2 tek seferde en fazla 100 görevi kontrol eder. action=getbalance bakiyeyi döndürür. action=reportbad ve reportgood kabul edilir.
GET https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001 CAPCHA_NOT_READY OK|P1_eyJ0eXAiOiJKV1Qi... GET https://unlock-api.com/res.php?key=YOUR_API_KEY&action=getbalance 42.5
Diğer yöntemler
POST /getToken Oluştur ve bekle: getToken
createTask ile aynı gövde. Çağrı en fazla 50 saniye bekler ve getTaskResult ile aynı yanıtı döndürür. Görev hâlâ çalışıyorsa yanıt, taskId ile birlikte status processing olur; getTaskResult ile sorgulamaya devam edin.
POST https://unlock-api.com/getToken
{"clientKey":"YOUR_API_KEY","task":{"type":"TurnstileTaskProxyless","websiteURL":"https://example.com","websiteKey":"0x4AAAA..."}}
{"errorId":0,"taskId":1001,"status":"ready","solution":{"token":"0.zrSnRHO7h0..."},"cost":"0.000725"}Sonuç geri çağrıları
createTask isteğine callbackUrl (veya in.php isteğine pingback) ekleyin; görev bittiğinde sonuç oraya gönderilir: taskId içeren, getTaskResult benzeri bir JSON gövdesi ya da in.php için id=…&code=… form gövdesi. Yalnızca herkese açık adresler, bir kez ve 5 saniyelik zaman aşımıyla çağrılır; sonuç sorgulama yoluyla da erişilebilir kalır.
{"clientKey":"YOUR_API_KEY","callbackUrl":"https://your.server/captcha-result","task":{...}}
POST https://your.server/captcha-result
{"errorId":0,"taskId":1001,"status":"ready","solution":{...},"cost":"0.0005"}İstatistikler
getQueueStats, bekleyen ve şu anda çözülen görevleri ve son bir saatteki ortalama çözme süresini döndürür. getSpendingStats, bir UTC günü için saatlik hacminizi ve harcamanızı döndürür (date, unix zamanı olarak). test, aldığı gövdeyi aynen geri döndürür.
POST https://unlock-api.com/getQueueStats {"clientKey":"..."} -> {"errorId":0,"waiting":3,"solving":12,"speed":6.4,"total":15}
POST https://unlock-api.com/getSpendingStats {"clientKey":"...","date":1791590400} -> {"errorId":0,"data":[{"dateFrom":...,"volume":120,"money":0.06},...]}
POST https://unlock-api.com/test {"anything":1} -> {"errorId":0,"received":{"anything":1}}IP izin listesi
Hesap sayfasında bir IP izin listesi ayarlarsanız, diğer IP'lerden gelen istekler ERROR_IP_NOT_ALLOWED alır.
Görev türleri
Her türün proxy'siz bir adı ve proxy'li bir adı (Proxyless kısmı çıkarılmış hali) vardır. Adlar büyük/küçük harf fark etmeksizin ve diğer çözücü API'lerinin kullandığı yazımlarla eşleştirilir. Proxy'li görevler ayrıca proxyType (http, socks4, socks5), proxyAddress ve proxyPort ya da http://user:[email protected]:8080 gibi tek bir proxy dizesi ister. Burada listelenmeyen isteğe bağlı alanlar çözücüye gönderildiği gibi iletilir.
reCAPTCHA v2
AyrıntılarRecaptchaV2TaskProxylessRecaptchaV2Task
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
reCAPTCHA v2 Enterprise
AyrıntılarRecaptchaV2EnterpriseTaskProxylessRecaptchaV2EnterpriseTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
reCAPTCHA v3
AyrıntılarRecaptchaV3TaskProxylessRecaptchaV3Task
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
Cloudflare Turnstile
AyrıntılarTurnstileTaskProxylessTurnstileTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
FunCaptcha (Arkose Labs)
AyrıntılarFunCaptchaTaskProxylessFunCaptchaTask
Alanlar
websiteURL (zorunlu)websitePublicKey (zorunlu)
Amazon AWS WAF
AyrıntılarAmazonTaskProxylessAmazonTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
MTCaptcha
AyrıntılarMtCaptchaTaskProxylessMtCaptchaTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
Friendly Captcha
AyrıntılarFriendlyCaptchaTaskProxylessFriendlyCaptchaTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
Lemin Cropped Captcha
AyrıntılarLeminTaskProxylessLeminTask
Alanlar
websiteURL (zorunlu)captchaId (zorunlu)divId (zorunlu)
DataDome
AyrıntılarDataDomeSliderTask
Alanlar
websiteURL (zorunlu)captchaUrl (zorunlu)userAgent (zorunlu)
KeyCaptcha
AyrıntılarKeyCaptchaTaskProxylessKeyCaptchaTask
Alanlar
websiteURL (zorunlu)s_s_c_user_id (zorunlu)s_s_c_session_id (zorunlu)s_s_c_web_server_sign (zorunlu)s_s_c_web_server_sign2 (zorunlu)
Prosopo Procaptcha
AyrıntılarProsopoTaskProxylessProsopoTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
CaptchaFox
AyrıntılarCaptchaFoxTaskProxylessCaptchaFoxTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
Yandex SmartCaptcha
AyrıntılarYandexSmartCaptchaTaskProxylessYandexSmartCaptchaTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
Binance Captcha
AyrıntılarBinanceTaskProxylessBinanceTask
Alanlar
websiteURL (zorunlu)websiteKey (zorunlu)
Hatalar
İki formatta da aynı adlar. Hatayla reddedilen istekler ücretlendirilmez.
| Hata | Anlamı ve yapılması gereken |
|---|---|
ERROR_KEY_DOES_NOT_EXIST | Anahtar yanlış. Hesap sayfasından yeniden kopyalayın. (in.php ve res.php: ERROR_WRONG_USER_KEY) |
ERROR_ZERO_BALANCE | Bakiye görevi karşılamıyor. Bakiye yükleyin; hiçbir ücret alınmadı. |
ERROR_NO_SLOT_AVAILABLE | Şu anda çok fazla istek var, bu yüzden görev kabul edilemedi. Birkaç saniye sonra tekrar deneyin; hiçbir ücret alınmadı. |
ERROR_TASK_NOT_SUPPORTED | Görev türü bilinmiyor veya kapalı. Tür adını kontrol edin. |
ERROR_BAD_PARAMETERS | Zorunlu bir alan eksik veya formatı yanlış. |
ERROR_PAGEURL | websiteURL veya pageurl eksik ya da tam bir http(s) adresi değil. |
ERROR_GOOGLEKEY | in.php reCAPTCHA isteğinde googlekey eksik. |
ERROR_BAD_PROXY | Proxy'li bir görev için proxyAddress ve proxyPort gerekir. |
ERROR_ZERO_CAPTCHA_FILESIZE | Görsel eksik veya çok küçük. |
ERROR_TOO_BIG_CAPTCHA_FILESIZE | Görsel 100 KB'tan büyük. |
ERROR_IMAGE_TYPE_NOT_SUPPORTED | Görsel geçerli bir base64 değil. |
ERROR_WRONG_CAPTCHA_ID | Hesabınızda bu kimliğe sahip bir görev yok. |
CAPCHA_NOT_READY | Yalnızca in.php ve res.php: görev hâlâ çalışıyor. 5 saniye sonra tekrar kontrol edin. |
ERROR_CAPTCHA_UNSOLVABLE | Görev zamanında çözülemedi. Ücreti bakiyenize geri döndü. |
ERROR_TOO_MANY_REQUESTS | Çok fazla istek. Sonuç kontrollerini 5 saniyede bire düşürün. |
ERROR_IP_NOT_ALLOWED | İstek, hesabın izin listesinde olmayan bir IP'den geldi. IP'yi hesap sayfasında ekleyin. |