NopeCHA-compatible API

Faster, cheaper captcha recognition. Switch by changing one URL.

Solvecha answers reCAPTCHA grids, text captchas, GeeTest sliders and FunCAPTCHA through the same API you already use. Replace the base URL. Keep the rest of your code.

  • 0.46 smedian solver time per round, versus 7.95 s for NopeCHA
  • 50%less than NopeCHA's monthly price for the same daily quota

Measured on Google's public reCAPTCHA demo, October 2026; solver time per round, not including your network.

Measured, not promised

Faster per round, more solved challenges

We ran our model against NopeCHA on Google's public reCAPTCHA demo. Solvecha's model got a token on more challenges and answers each round in a fraction of the time.

Challenges where a token was issuedHigher is better
Solvecha77.5 % (248/320)
NopeCHA68.2 % (225/330)

Margin of error ±4.6 and ±5.0 points. Difference +9.3 points, 95 % confidence interval +2.5 to +16.1. A random-answer control got a token on 0 % of challenges.

Median solver time per roundLower is better
Solvecha0.46 s
NopeCHA7.95 s

Time to answer one round of images, not including your network.

Footnote: Google's public reCAPTCHA demo, one data-center IP, 12 to 13 October 2026, 320 challenges for Solvecha and 330 for NopeCHA. Results on other sites, IPs and captcha settings can differ. Solver time comes from an earlier run of the same demo in October 2026 (324 and 331 rounds in 51 and 52 challenges).

Migration

Change the base URL. That is the migration.

Endpoints, request fields, response shapes and error codes follow the NopeCHA recognition API. Your polling loop, your retry logic and your SDK stay as they are.

  • Same /v1/recognition/<type> paths and the legacy root path
  • Key as key field, Bearer or Basic header, or ?key=
  • Same error codes and the same polling pattern
Migration guide
Before and after
# before
BASE = "https://api.nopecha.com"
# after
BASE = "https://api.solvecha.com"

requests.post(f"{BASE}/v1/recognition/recaptcha", json={
    "key": KEY, "task": "bus", "grid": "3x3", "image_data": [image],
})

How it works

Three calls, no SDK needed

  1. 1

    Get a key

    Create an account and copy your API key from the dashboard.

  2. 2

    Send the image

    POST the base64 image and the task text. You get a job id back at once.

  3. 3

    Poll for the answer

    GET with the id once a second. Error 14 means: not ready yet. Then the answer arrives.

Pricing

Half the price of NopeCHA, plan for plan

Every plan has a daily quota of successful solves. Failed requests do not count.

Starter

$2.49/ month

NopeCHA: $4.99

2,000 successful solves per day

Basic

$9.99/ month

NopeCHA: $19.99

20,000 successful solves per day

Professional

$24.99/ month

NopeCHA: $49.99

80,000 successful solves per day

Enterprise

$49.99/ month

NopeCHA: $99.99

200,000 successful solves per day

Paid plans open soon. We e-mail you when checkout is live. Until then a new account has an API key but cannot solve captchas.

Compare plans

Ready to switch?

Create an account, get your key and change the base URL. Paid plans open soon. We e-mail you when checkout is live.