# hCaptcha

> YesCaptcha ile hCaptcha token'ı alın: HCaptchaTaskProxyless, HCaptchaTaskProxylessM1 ve kendi proxy'nizi kullanan HCaptchaTask, userAgent ve rqdata nasıl doldurulur, dönen respKey nasıl kullanılır.

Source: https://docs.yescaptcha.com/tr/tasks/hcaptcha/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/tasks/hcaptcha/

hCaptcha görevi bir token (`gRecaptchaResponse`) döndürür. Bu token’ı, dönen `userAgent` (bazen `respKey`) ile birlikte hedef siteye gönderirseniz doğrulama geçilir. `HCaptchaTaskProxyless` için görev başına 30 puan (≈ $4.50 / 1k), kendi proxy’nizi kullanan `HCaptchaTask` için görev başına 15 puan (≈ $2.25 / 1k) ücret alınır; ikisi de asenkrondur: önce `createTask`, ardından her 5 saniyede bir `getTaskResult` çağrılır. Tanıma başarısız olursa veya zaman aşımına uğrarsa puan iadesi otomatik yapılır.

- POST `https://api.yescaptcha.com/createTask` (Global uç nokta)
- POST `https://cn.yescaptcha.com/createTask` (Çin uç noktası)

İstek gövdesi JSON biçimindedir; kimlik doğrulama `clientKey` alanıyla yapılır. Görevi hangi uç noktada oluşturduysanız sonucu da aynı uç noktada sorgulayın.

## Kullanım senaryoları

Sayfada hCaptcha’nın “Ben insanım” onay kutusu var veya hCaptcha görsel sorusu açılıyorsa. Token alıp doğrudan göndermek istiyorsanız bu sayfadaki türleri kullanın; görsellere tarayıcıda kendiniz tıklamak istiyorsanız [hCaptcha görsel tanıma](https://docs.yescaptcha.com/tr/tasks/hcaptcha-classification.md) sayfasına bakın.

> **Not:** hCaptcha geçme oranı siteden siteye çok değişir; önce küçük bir toplu denemeyle test etmeniz önerilir.

## Görev türleri ve fiyatlar

| Görev türü | Fiyat | Mod | Notlar |
| --- | --- | --- | --- |
| `HCaptchaTaskProxyless` | $4.50 / 1k; 30 puan/görev · ¥30 / 1k | Asenkron |  |
| `HCaptchaTaskProxylessM1` | $4.50 / 1k; 30 puan/görev · ¥30 / 1k | Asenkron | HCaptchaTaskProxyless ile aynı parametreler, farklı hat; biri yedek olarak kullanılabilir |
| `HCaptchaTask` | $2.25 / 1k; 15 puan/görev · ¥15 / 1k | Asenkron | Kendi proxy'niz |

ABD doları fiyatları, 1 ABD doları ≈ ¥6.67 kuruyla hesaplanan tahminlerdir; görevler puan üzerinden ücretlendirilir.

-   `HCaptchaTaskProxyless` ve `HCaptchaTaskProxylessM1` aynı parametreleri alır, hatları farklıdır; birbirinin yedeği olarak kullanılabilir.
-   `HCaptchaTask`, CAPTCHA’yı kendi proxy’nizle yükler ve proxy alanlarını gerektirir; hedef site ziyaretçi IP’sini kontrol ediyorsa bunu kullanın.

## İstek parametreleri

| Alan | Tür | Zorunlu | Açıklama |
| --- | --- | --- | --- |
| `type` | string | Evet | Görev türü; bu sayfadaki "Görev türleri ve fiyatlar" bölümüne bakın |
| `websiteURL` | string | Evet | CAPTCHA'nın göründüğü sayfanın tam URL'si. CAPTCHA'yı gördüğünüz siteyi yazın, CAPTCHA sağlayıcısının alan adını değil |
| `websiteKey` | string | Evet | hCaptcha site anahtarı (sitekey), genellikle UUID biçimindedir |
| `userAgent` | string | Hayır | Tarayıcı User-Agent bilgisi. Önerilir, ancak yalnızca `GET https://api.yescaptcha.com/useragent` tarafından döndürülen değer kabul edilir; token'ı sonuçtaki `userAgent` ile gönderin |
| `isInvisible` | boolean | Hayır | Görünmez (invisible) sürüm için true gönderin; aksi halde göndermeyin |
| `rqdata` | string | Hayır | Enterprise hCaptcha için rqdata; bazı siteler gerektirir ve genellikle CAPTCHA'yı yükleyen istekte bulunur |
| `proxyType` | string | Bazı türler | Proxy protokolü: `http`, `https`, `socks4` veya `socks5` (HCaptchaTask için zorunlu) |
| `proxyAddress` | string | Bazı türler | Proxy IP adresi veya ana bilgisayar adı. 127.0.0.1 veya 192.168.x.x gibi yerel ya da özel adresler çalışmaz, çünkü sunucularımız bunlara erişemez (HCaptchaTask için zorunlu) |
| `proxyPort` | integer | Bazı türler | Proxy portu (HCaptchaTask için zorunlu) |
| `proxyLogin` | string | Hayır | Proxy kullanıcı adı, proxy kimlik doğrulaması gerektiriyorsa (yalnızca HCaptchaTask) |
| `proxyPassword` | string | Hayır | Proxy şifresi, proxy kimlik doğrulaması gerektiriyorsa (yalnızca HCaptchaTask) |

-   `websiteURL`, CAPTCHA’nın göründüğü sayfadır, hcaptcha.com **değildir**.
-   `userAgent` alanının doldurulması önerilir; yalnızca [/useragent](https://docs.yescaptcha.com/tr/api/useragent.md) çağrısının döndürdüğü değer kabul edilir.
-   `rqdata`: Enterprise hCaptcha kullanan siteler (örneğin bazı sosyal ve sohbet siteleri) bunu ister; genellikle CAPTCHA’yı yükleyen istekte bulunur. Normal sitelerde göndermeyin.

Parametrelerin nasıl bulunacağı için [hCaptcha parametrelerini bulma](https://docs.yescaptcha.com/tr/guides/find-hcaptcha-parameters.md) sayfasına bakın.

## İstek örneği

POST https://api.yescaptcha.com/createTask

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "HCaptchaTaskProxyless",
    "websiteURL": "https://accounts.hcaptcha.com/demo",
    "websiteKey": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"
  }
}
```

**curl**

```bash
curl -s https://api.yescaptcha.com/createTask \
  -H 'Content-Type: application/json' \
  -d '{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "HCaptchaTaskProxyless",
    "websiteURL": "https://accounts.hcaptcha.com/demo",
    "websiteKey": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"
  }
}'

# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
  -H 'Content-Type: application/json' \
  -d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'
```

**Python**

solve.py

```python
import os
import time

import requests

API = "https://api.yescaptcha.com"
CLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"]  # Read the clientKey from an environment variable

def call(method, payload):
    r = requests.post(f"{API}/{method}", json={"clientKey": CLIENT_KEY, **payload}, timeout=30)
    data = r.json()
    if data.get("errorId"):
        raise RuntimeError(f"{data.get('errorCode')}: {data.get('errorDescription')}")
    return data

def solve(task):
    task_id = call("createTask", {"task": task})["taskId"]
    for _ in range(36):  # Poll every 5 seconds, for up to about 3 minutes
        time.sleep(5)
        result = call("getTaskResult", {"taskId": task_id})
        if result.get("status") == "ready":
            return result["solution"]
    raise TimeoutError(task_id)

solution = solve({
    "type": "HCaptchaTaskProxyless",
    "websiteURL": "https://accounts.hcaptcha.com/demo",
    "websiteKey": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
})
print(solution["gRecaptchaResponse"])
```

**Node.js**

solve.mjs

```js
const API = 'https://api.yescaptcha.com';
const CLIENT_KEY = process.env.YESCAPTCHA_CLIENT_KEY; // Read the clientKey from an environment variable

async function call(method, payload) {
  const res = await fetch(`${API}/${method}`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ clientKey: CLIENT_KEY, ...payload }),
  });
  const data = await res.json();
  if (data.errorId) throw new Error(`${data.errorCode}: ${data.errorDescription}`);
  return data;
}

async function solve(task) {
  const { taskId } = await call('createTask', { task });
  for (let i = 0; i < 36; i++) { // Poll every 5 seconds, for up to about 3 minutes
    await new Promise((r) => setTimeout(r, 5000));
    const result = await call('getTaskResult', { taskId });
    if (result.status === 'ready') return result.solution;
  }
  throw new Error(`timeout: ${taskId}`);
}

const solution = await solve({
  type: "HCaptchaTaskProxyless",
  websiteURL: "https://accounts.hcaptcha.com/demo",
  websiteKey: "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
});
console.log(solution.gRecaptchaResponse);
```

Kendi proxy’nizle:

POST https://api.yescaptcha.com/createTask

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "HCaptchaTask",
    "websiteURL": "https://accounts.hcaptcha.com/demo",
    "websiteKey": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
    "proxyType": "http",
    "proxyAddress": "proxy.example.com",
    "proxyPort": 8080,
    "proxyLogin": "user",
    "proxyPassword": "pass"
  }
}
```

## Sonuç

```json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36",
    "respKey": "E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
  }
}
```

| Alan | Tür | Açıklama |
| --- | --- | --- |
| `gRecaptchaResponse` | string | Hedef siteye gönderilecek token. Tek kullanımlıktır, yaklaşık 120 saniye geçerlidir; 60 saniye içinde kullanmanız önerilir |
| `userAgent` | string | Token'ı almak için kullanılan User-Agent. Token'ı gönderirken bu değeri kullanın; sizin gönderdiğinizden farklı olsa bile bu değer geçerlidir |
| `respKey` | string | Bazı sitelerin token ile birlikte istediği değer; varsa birlikte gönderin |

Göndermek için:

1.  Token’ı sayfadaki `h-captcha-response` alanına (varsa `g-recaptcha-response` alanına da) veya hedef sitenin API’sinin istediği alana yazın.
2.  Gönderim isteğinde User-Agent olarak dönen `userAgent` değerini kullanın.
3.  `respKey` döndüyse, sitenin gereksinimine göre onu da birlikte gönderin.

İşlem sürerken `{"errorId": 0, "status": "processing"}` döner; 5 saniye sonra tekrar sorgulayın. Hata oluşursa `errorCode` değerine göre ilerleyin, bkz. [Hata kodları](https://docs.yescaptcha.com/tr/api/errors.md).

## Sık sorulan sorular

### Geçme oranı neden kararsız?

hCaptcha, sitenin ayarlarına, erişim IP’sine ve tarayıcı ortamına göre karar verir; bu yüzden geçme oranı siteden siteye değişir. Dönen `userAgent` değerini kullandığınızdan emin olun; IP’ye duyarlı sitelerde kendi proxy’nizi kullanan `HCaptchaTask` türünü seçin ve gönderimi de aynı proxy üzerinden yapın; ayrıca `HCaptchaTaskProxylessM1` ile karşılaştırabilirsiniz.

### Token ne kadar süre geçerli?

Tek kullanımlıktır ve yaklaşık 120 saniye geçerlidir; aldıktan sonra mümkün olan en kısa sürede göndermeniz önerilir.

## İlgili rehberler

-   [hCaptcha parametrelerini bulma](https://docs.yescaptcha.com/tr/guides/find-hcaptcha-parameters.md)
-   [hCaptcha görsel tanıma ile tıklama simülasyonu (Selenium)](https://docs.yescaptcha.com/tr/guides/hcaptcha-click-selenium.md)
