Curl docs

Base: https://captcha.csdrama.com. Replace TOKEN_FROM_SOLVER with the token your solver returns.

Cloudflare Turnstile /turnstile

Page: https://captcha.csdrama.com/turnstile
sitekey: 0x4AAAAAAE41iDLtucdyAF3f
token field: cf-turnstile-response

Verify via curl

# Cloudflare Turnstile — verify a solver token via curl
curl -X POST https://captcha.csdrama.com/turnstile/submit \
  -H "Content-Type: application/json" \
  -d '{"cf-turnstile-response": "TOKEN_FROM_SOLVER"}'

# form-encoded alternative:
curl -X POST https://captcha.csdrama.com/turnstile/submit \
  -d "cf-turnstile-response=TOKEN_FROM_SOLVER"

reCAPTCHA v2 — "I'm not a robot" checkbox /recaptcha-v2

Page: https://captcha.csdrama.com/recaptcha-v2
sitekey: 6LcCosEtAAAAAN3u8UVQTRE_xbaHA43fGtwuHCON
token field: g-recaptcha-response

Verify via curl

# reCAPTCHA v2 — "I'm not a robot" checkbox — verify a solver token via curl
curl -X POST https://captcha.csdrama.com/recaptcha-v2/submit \
  -H "Content-Type: application/json" \
  -d '{"g-recaptcha-response": "TOKEN_FROM_SOLVER"}'

# form-encoded alternative:
curl -X POST https://captcha.csdrama.com/recaptcha-v2/submit \
  -d "g-recaptcha-response=TOKEN_FROM_SOLVER"

reCAPTCHA v2 Invisible (badge) /recaptcha-v2-invisible

Page: https://captcha.csdrama.com/recaptcha-v2-invisible
sitekey: 6LdAo8EtAAAAAMGVeOQ_c5O2Dcdpv080t_eXd4mG
token field: g-recaptcha-response

Verify via curl

# reCAPTCHA v2 Invisible (badge) — verify a solver token via curl
curl -X POST https://captcha.csdrama.com/recaptcha-v2-invisible/submit \
  -H "Content-Type: application/json" \
  -d '{"g-recaptcha-response": "TOKEN_FROM_SOLVER"}'

# form-encoded alternative:
curl -X POST https://captcha.csdrama.com/recaptcha-v2-invisible/submit \
  -d "g-recaptcha-response=TOKEN_FROM_SOLVER"

Get the token (browser)

The invisible badge needs grecaptcha.execute() — copy-paste starter (sitekey + URLs filled in):

<!-- reCAPTCHA v2 Invisible — render, execute, get the token, verify it -->
<script src="https://www.google.com/recaptcha/api.js?onload=onInvisibleLoad&render=explicit" async defer></script>
<div id="rc-invisible"></div>
<script>
  var rcInvWidget = null;
  function onInvisibleLoad() {
    rcInvWidget = grecaptcha.render('rc-invisible', {
      sitekey: '6LdAo8EtAAAAAMGVeOQ_c5O2Dcdpv080t_eXd4mG',
      size: 'invisible',
      callback: onInvisibleToken, // <-- token arrives here
      'expired-callback': function () { console.warn('token expired — execute again'); }
    });
  }
  function onInvisibleToken(token) {
    console.log('TOKEN:', token);
    // Verify it (same as the curl docs):
    fetch('https://captcha.csdrama.com/recaptcha-v2-invisible/submit', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ 'g-recaptcha-response': token })
    }).then((r) => r.json()).then(console.log);
  }
  // Run the invisible check, e.g. on your form's submit:
  function runCheck() { grecaptcha.execute(rcInvWidget); }
</script>
<!-- Solver-service params (e.g. 2captcha recaptchaV2Invisible):
     sitekey = 6LdAo8EtAAAAAMGVeOQ_c5O2Dcdpv080t_eXd4mG
     pageurl = https://captcha.csdrama.com/recaptcha-v2-invisible -->

reCAPTCHA v3 — score based /recaptcha-v3

Page: https://captcha.csdrama.com/recaptcha-v3
sitekey: 6LcNpMEtAAAAAP1FIJfKq6qzsY_oilXbnOnc0nbZ
token field: g-recaptcha-response

Verify via curl

# reCAPTCHA v3 — score based — verify a solver token via curl
curl -X POST https://captcha.csdrama.com/recaptcha-v3/submit \
  -H "Content-Type: application/json" \
  -d '{"g-recaptcha-response": "TOKEN_FROM_SOLVER"}'

# form-encoded alternative:
curl -X POST https://captcha.csdrama.com/recaptcha-v3/submit \
  -d "g-recaptcha-response=TOKEN_FROM_SOLVER"

MTCaptcha /mtcaptcha

Page: https://captcha.csdrama.com/mtcaptcha
sitekey: MTPublic-YAK7ynQ6H
token field: mtcaptcha-verifiedtoken

Verify via curl

# MTCaptcha — verify a solver token via curl
curl -X POST https://captcha.csdrama.com/mtcaptcha/submit \
  -H "Content-Type: application/json" \
  -d '{"mtcaptcha-verifiedtoken": "TOKEN_FROM_SOLVER"}'

# form-encoded alternative:
curl -X POST https://captcha.csdrama.com/mtcaptcha/submit \
  -d "mtcaptcha-verifiedtoken=TOKEN_FROM_SOLVER"