Skip to content

/in.php — Submit Task

Submit a CAPTCHA task using the 2captcha-compatible format. Drop-in replacement — change only the base URL.

https://2captcha.com/in.php
https://api.ucaptcha.net/in.php
GET|POST https://api.ucaptcha.net/in.php

Both GET (query params) and POST (form/JSON body) are accepted.

Pass your uCaptcha API key as the key parameter.

ParameterTypeDescription
keystringYour uCaptcha API key
methodstringTask type identifier (see Method Mapping below)

The method parameter determines the task type.

methodTask TypeRequired Fields
userrecaptchareCAPTCHA v2googlekey, pageurl
hcaptchahCaptchasitekey, pageurl
turnstileCloudflare Turnstilesitekey, pageurl
funcaptchaFunCaptcha / Arkose Labspublickey, pageurl
geetestGeeTest v3gt, challenge, pageurl
captchafoxCaptchaFoxsitekey, pageurl
base64Image captcha (base64)body
postImage captcha (upload)body
ParameterTypeDescription
googlekeystringreCAPTCHA site key
sitekeystringhCaptcha / Turnstile / CaptchaFox site key
publickeystringFunCaptcha public key
pageurlstringURL of the target page
bodystringBase64-encoded image data
invisible0 | 1Invisible reCAPTCHA flag
enterprise0 | 1Enterprise variant flag
actionstringreCAPTCHA v3 action string
min_score / scorefloatreCAPTCHA v3 minimum score (e.g. 0.9)
data-sstringreCAPTCHA data-s token
domainstringAlternative API domain
cookiesstringCookies to pass to the solver
userAgentstringUser-Agent to use during solving
ParameterTypeDescription
proxystringProxy address: user:pass@ip:port or ip:port
proxytypestringHTTP, SOCKS4, or SOCKS5

Adding proxy + proxytype automatically upgrades ProxyLess task types to their Proxy variant.

ParameterTypeDescription
json0 | 1Return JSON format (1) or plain text (0, default)
pingbackstringCallback URL — receive result via webhook instead of polling
soft_idstringSoftware ID for tracking
header_acao0 | 1Add Access-Control-Allow-Origin: * header

The endpoint automatically upgrades task types based on parameters:

  • proxy + proxytype → upgrades to Proxy variant (e.g. RecaptchaV2TaskProxylessRecaptchaV2Task)
  • enterprise=1 → upgrades to Enterprise variant
  • invisible=1 → sets invisible flag on supported types

Success:

OK|550e8400-e29b-41d4-a716-446655440000

Error:

ERROR_KEY_DOES_NOT_EXIST

Success:

{
"status": 1,
"request": "550e8400-e29b-41d4-a716-446655440000"
}

Error:

{
"status": 0,
"request": "ERROR_KEY_DOES_NOT_EXIST"
}
Terminal window
curl -s "https://api.ucaptcha.net/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&json=1"
Terminal window
curl -s "https://api.ucaptcha.net/in.php?key=YOUR_API_KEY&method=hcaptcha&sitekey=SITE_KEY&pageurl=https://example.com&proxy=user:pass@192.168.1.1:8080&proxytype=HTTP&json=1"
Terminal window
curl -s "https://api.ucaptcha.net/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&action=verify&min_score=0.9&enterprise=1&json=1"
Terminal window
BASE64=$(base64 -w 0 captcha.png)
curl -s "https://api.ucaptcha.net/in.php?key=YOUR_API_KEY&method=base64&body=$BASE64&json=1"
Terminal window
curl -s "https://api.ucaptcha.net/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&pingback=https://your-server.com/callback&json=1"