funsolver

Documentation

API reference and integration guide

hCaptcha

Supported sites

hCaptcha is reliably solved for Steam (help.steampowered.com, steamcommunity.com) and E*** G**** (target-site.com — invisible enterprise via rqdata). Other domains are not guaranteed yet — support is in progress.

How it works

Steam — a normal (checkbox) widget. Pass websiteURL + websitePublicKey; for a clean pass set your own proxy (the token is then minted through your IP). The response contains a ready token to place into the recovery form.

E*** G**** — invisible enterprise. The site generates rqdata in your session; pass it together with target-site's websitePublicKey and the same proxy used to obtain the rqdata (enterprise is bound to the session IP — if the mint IP differs from the rqdata IP, hCaptcha returns a challenge and the token is rejected). We return a token that you submit in your own flow (e.g. in XAL) under the same userAgent as in the response.

What is returned: the solution.token string (h-captcha-response / g-recaptcha-response, usually like P1_…) and solution.userAgent. The token lives ~120s — place/submit it immediately.

task parameters

HTTP
POST https://api.funsolver.com/createTask
Content-Type: application/json

{
  "clientKey": "fsk_abc...",
  "task": {
    "type": "HCaptchaTask",
    "websiteURL": "https://example.com/login",
    "websitePublicKey": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
    "rqdata": "<enterprise payload, optional>",
    "proxy": "http://user:pass@host:port",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... Chrome/149.0.0.0 ..."
  }
}
type
stringrequired
"HCaptchaTask" (with your proxy) or "HCaptchaTaskProxyless" (on our IP).
websiteURL
stringrequired
URL of the page hosting the hCaptcha widget (domain context for the sitekey).
websitePublicKey
stringrequired
hCaptcha site key (the widget data-sitekey).
rqdata
string
Enterprise payload (rqdata) generated by the site in your session. Required for enterprise sitekeys; submit the token in the same session the rqdata came from.
proxy
string
Proxy for HCaptchaTask. For enterprise the IP should match the rqdata session.
userAgent
string
UA used for the requests to hCaptcha. Defaults to a current Windows Chrome. Pass your own if you submit the token under a specific UA (otherwise UA-mismatch → score=0). Use a desktop Windows Chrome UA — the fingerprint is tuned for it.

getTaskResult response

JSON
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token":     "P1_eyJ...",
    "userAgent": "Mozilla/5.0 ..."
  },
  "processingTime": 4.2
}

solution.token is the h-captcha-response / g-recaptcha-response value to put into the form. solution.userAgent is the UA the captcha was solved under: submit the token with the same UA (otherwise hCaptcha flags a UA-mismatch → score=0).

Examples

Steam (normal widget, no rqdata)

HTTP
POST https://api.funsolver.com/createTask
Content-Type: application/json

{
  "clientKey": "fsk_abc...",
  "task": {
    "type": "HCaptchaTask",
    "websiteURL": "https://help.steampowered.com/en/wizard/HelpWithLoginInfo",
    "websitePublicKey": "464c5638-2416-4818-8fa8-91e669b4d6a8",
    "proxy": "http://user:pass@host:port"
  }
}

Without proxy use "HCaptchaTaskProxyless" (minted on our IP).

E*** G**** (invisible enterprise, with rqdata)

HTTP
POST https://api.funsolver.com/createTask
Content-Type: application/json

{
  "clientKey": "fsk_abc...",
  "task": {
    "type": "HCaptchaTask",
    "websiteURL": "https://www.target-site.com/id/login",
    "websitePublicKey": "91e4137f-95af-4bc9-9d05-6e6fd9c7c9f1",
    "rqdata": "<rqdata, generated in your target-site session>",
    "proxy": "http://user:pass@host:port",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36"
  }
}

Important: rqdata and the mint must go through the same IP — pass the same proxy under which target-site issued the rqdata. The response is a token you submit into your own target-site flow (XAL) under the same userAgent.

Spotted an error? Tell support.
For AI agents: machine-readable reference — /llms.txt