getToken
JSON 방식 메서드
토큰 작업
- reCAPTCHA v2
- reCAPTCHA v2 Enterprise
- reCAPTCHA v3
- Cloudflare Turnstile
- GeeTest v3 / v4
- FunCaptcha (Arkose Labs)
- Amazon AWS WAF
- MTCaptcha
- Friendly Captcha
- Lemin Cropped Captcha
- DataDome
- KeyCaptcha
- Capy Puzzle
- Cloudflare 챌린지 페이지
- Cutcaptcha
- CyberSiARA
- atbCAPTCHA
- Tencent Captcha
- Prosopo Procaptcha
- CaptchaFox
- Altcha
- NetEase Yidun
- Yandex SmartCaptcha
- VK Captcha
- Binance Captcha
- 범용 작업 (Imperva, Temu 등)
getToken
작업을 만들고 같은 요청 안에서 답을 최대 50초까지 기다려요. 그때까지 안 끝나면 status processing과 taskId를 돌려주니, getTaskResult로 계속 확인하세요. getToken 작업에는 결과 콜백을 보내지 않아요.
POSThttps://unlock-api.com/getToken
이 메서드는 HTTP 클라이언트 타임아웃을 60초보다 길게 잡으세요.
요청 항목
clientKeyString필수
계정 화면에 있는 32자 API 키예요.
taskObject필수
task 객체예요. 그 안의 type 항목에 따라 필요한 다른 항목이 정해져요. 작업 종류
softIdInteger선택
내 애플리케이션 번호로, 작업과 함께 저장돼요. appId도 같은 항목으로 받아요.
요청
POST /getToken
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
}
}응답
{
"errorId": 0,
"taskId": 1001,
"status": "ready",
"solution": {
"token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p..."
},
"cost": "0.00055",
"createTime": 1791640000,
"endTime": 1791640011,
"solveCount": 1
}{
"errorId": 0,
"status": "processing",
"taskId": 1001
}응답 항목
errorIdInteger
요청이 성공하면 0, 실패하면 1이에요.
taskIdInteger
작업 번호예요.
statusString
푸는 동안은 processing, 끝나면 ready예요.
solutionObject
답이에요. 들어 있는 항목은 작업 종류에 따라 달라요.
costString
이 작업의 가격(미국 달러)이에요.
코드 예시
curl -s https://unlock-api.com/getToken \
-H "Content-Type: application/json" \
-d '{"clientKey":"YOUR_API_KEY","task":{"type":"TurnstileTaskProxyless","websiteURL":"https://example.com/login","websiteKey":"0x4AAAAAAAC3DHQFLr1GavRN"}}'import requests
r = requests.post("https://unlock-api.com/getToken", json={
"clientKey": "YOUR_API_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
}
}).json()
print(r)const r = await fetch("https://unlock-api.com/getToken", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"clientKey": "YOUR_API_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
}
}),
}).then((res) => res.json());
console.log(r);이 메서드가 돌려주는 오류
키가 틀렸어요. 계정 화면에서 다시 복사하세요. (in.php, res.php에서는 ERROR_WRONG_USER_KEY)
계정의 허용 목록에 없는 IP에서 온 요청이에요. 계정 화면에서 IP를 추가하세요.
이 계정은 막혀 있어요. 계정 화면에서 고객 지원에 문의하세요.
요청이 너무 많아요. 결과 확인을 5초 간격으로 줄이세요.
잔액이 작업 비용보다 적어요. 충전하세요. 비용은 빠지지 않았어요.
지금 요청이 몰려 작업을 받을 수 없어요. 몇 초 뒤에 다시 보내세요. 비용은 빠지지 않았어요.
모르는 작업 종류이거나 지금 받지 않는 종류예요. 이름을 확인하세요.
필수 항목이 없거나 형식이 틀렸어요.
websiteURL(pageurl)이 없거나 http(s)로 시작하는 전체 주소가 아니에요.
시간 안에 못 풀었어요. 비용은 잔액으로 돌아왔어요.