[ 01 ]What it looks like
No checkbox at all, only a small badge in the page corner; the challenge fires on submit.
Captcha type · Google
No checkbox to click and no widget to find. Send the sitekey and page URL, get the token, then fire the data-callback the page is waiting on.
Also searched asinvisible reCAPTCHAreCAPTCHA badgeno-checkbox reCAPTCHAdata-size invisiblegrecaptcha.execute
[ 01 ]What it looks like
No checkbox at all, only a small badge in the page corner; the challenge fires on submit.
[ 02 ]Why it is hard
It uses the same grid backend as the checkbox variant, but the widget is driven by a JavaScript callback rather than a rendered element, so there is no data-sitekey attribute to scrape. The key has to be pulled out of the grecaptcha.render arguments or the k parameter of the anchor iframe URL. If the task is not flagged as invisible, Google mints a token in the wrong shape and the target discards it without an error.
[ 03 ]How we solve it
Tasks carry an explicit invisible flag, so the widget is executed the way the page executes it before any challenge is requested. The same worker pool and image classifier as the checkbox variant handle the grid when one appears, which is why the rate is identical. Where a target binds the token to the requesting address, send a proxy and the user agent is matched to it.
[ 02 ]Solve it in five lines
Post the task, get the token. Our SDKs collapse creation, polling and retries into one call.
curl -s https://api.nexcaptcha.net/createTask \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "...",
"websiteKey": "...",
"isInvisible": "..."
}
}'Required parameters
[ 05 ]Questions about this one
The invisible variant is rendered by JavaScript, so no data-sitekey attribute exists. Read the arguments passed to grecaptcha.render or grecaptcha.execute in the page source, or take the k parameter from the recaptcha/api2/anchor iframe URL.
Write it into the g-recaptcha-response textarea, then call the function named in data-callback. Invisible keys normally submit the form from inside that callback, so setting the field alone leaves the form unsent.
No. Both are $1.50 per 1,000 solves on the same task type. Median time is 4.6 seconds against 4.2 for the checkbox, because the widget has to be executed before a challenge is offered.
The task is handled as a checkbox key. You may still get a token back, but the target silently discards it. That failure is not billed, though it costs you a round trip, so set the flag at createTask time.
Create a key, paste it into the sample above, and watch a real token come back. No card, no sales call.