API overview

API reference

Base URL, authentication, request and response formats, the job flow and the OpenAPI description of the Solvecha API.

On this page

The Solvecha API is a JSON API over HTTPS. It follows the NopeCHA recognition API.

Base URL https://api.solvecha.com
Authentication Authorization: Bearer YOUR_API_KEY. See Authentication.
Request bodies JSON, or url-encoded form data. Multipart is not supported. Up to 4.5 MB.
Answers JSON
OpenAPI https://solvecha.com/openapi.json (OpenAPI 3.1)

#The job flow

Every captcha type works the same way:

  1. POST /v1/recognition/<type> with the pictures. The answer is a job id: {"data": "1234567"}.
  2. GET /v1/recognition/<type>?id=<job id>. While the job runs, the answer is error 14 with HTTP status 409. Poll about once per second, for up to about 30 seconds.
  3. When the job is ready, the GET request returns {"data": ...}. The first answer you fetch counts against your daily quota. Fetching it again is free.

The <type> is one of recaptcha, textcaptcha, geetest, funcaptcha and funcaptcha_match.

#Endpoints

Method and path Purpose
POST /v1/recognition/recaptcha Create a reCAPTCHA grid job
POST /v1/recognition/textcaptcha Create a text captcha job
POST /v1/recognition/geetest Create a GeeTest slider job
POST /v1/recognition/funcaptcha Create a FunCAPTCHA tile job
POST /v1/recognition/funcaptcha_match Create a FunCAPTCHA match job
GET /v1/recognition/{type} Fetch the answer of a job
GET /v1/status Plan and quota of your key
POST /v1/feedback Report whether Google accepted an answer (optional)
POST / Legacy: create a job, type in the body
GET / Legacy: fetch the answer, ?id=
GET /status Legacy: status

#Errors

Errors on the /v1 paths have the HTTP status of the error and this body:

v1 error
{"error": 14, "code": 14, "message": "Incomplete job", "type": null}

The legacy paths answer errors with HTTP status 200 and this body:

Legacy error
{"error": 14, "message": "Incomplete job"}

See Errors for all codes.

#Limits

  • The body of a create request is limited to 4.5 MB.
  • Create, poll and status requests are rate limited per key. See Rate limits and quotas.
  • Only successful answers count against your daily quota.

#Use the OpenAPI file

Import https://solvecha.com/openapi.json into Postman, Insomnia, Bruno or a code generator. The file describes every endpoint on this page group, with parameters, answers and error responses.

Solvecha is an independent service. It is not affiliated with NopeCHA, 2Captcha, CapSolver, Google or CloakHQ. Their names describe compatibility or recommendations only. Figures come from our own tests, see the compare page.

    ↑↓ to moveEnter to open