Skip to content

Get a task's result

POST https://api.noptcha.com/getTaskResult

Compatibility API (anti-captcha compatible). Guide. Operation ID compatGetTaskResult.

Returns status: "processing" until the task completes, then status: "ready" with the solution, or the task's error (errorId 1). Results are kept for 10 minutes after completion; after that, and for tasks of other organizations, the answer is ERROR_NO_SUCH_CAPCHA_ID.

Polling one task more than 5 times per second (bursts of 10) is answered with processing instead of an error, so clients keep polling. Likewise, when the API is momentarily at capacity, polling is answered with processing (the other compatibility endpoints answer ERROR_NO_SLOT_AVAILABLE; a rejected /createTask charges nothing and can be resent). Poll every 1–3 seconds.

Request

Authentication: the key in the clientKey body field (Keys).

Body (application/json, required):

FieldTypeDescription
clientKey
required
string

Your key (nop_live_… or nop_test_…).

taskId
required
one of

The task ID, as a number or a string of digits.

one of: integer, string

Responses

200

Processing, ready, or an error.

Headers: Noptcha-Request-Id.

Content: application/json

One of:

  • CompatTaskProcessing
  • CompatTaskReady
  • CompatError — A request or task error. errorCode values (anti-captcha's codes; new ones may be added):

403

forbidden (problem details): the request reached the API without passing through our edge network. Infrastructure, not part of the compatibility protocol.

Headers: Noptcha-Request-Id.

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

500

internal: an error on our side.

Headers: Noptcha-Request-Id, RateLimit (optional), RateLimit-Policy (optional).

Content: application/problem+json

FieldTypeDescription
code
required
string

Machine-readable error code (see the table).

detail
optional
string

Human-readable explanation of this occurrence.

request_id
required
string

Same as the Noptcha-Request-Id header.

status
required
integer

The HTTP status code.

title
required
string
type
required
stringformat: uri

About the compatibility API:

The anti-captcha compatible JSON protocol.

  • Requests are POST with a JSON body. Content-Type is not required; the body is always parsed as JSON.
  • The key goes in clientKey. The key is checked before anything else, so an invalid key is reported even when other fields are wrong.
  • Responses are always HTTP 200. errorId is 0 on success and 1 on error; then errorCode and errorDescription say what went wrong (see CompatError for every code).
  • Two responses come from the infrastructure, not from the protocol: 403 (problem details, code forbidden) when a request reaches the API without passing through our edge network, and 500 (code internal) on an unexpected server error. Treat both as transient errors.
  • An unknown path, or a known path with another method (for example GET /createTask), is 404 (problem details, code not_found).
  • Task type names are the common anti-captcha compatible names (case-insensitive); each maps to a canonical type and variant, see CompatTaskType.
  • callbackUrl (optional) receives the final result as a POST (see Webhooks and the compatCallback webhook). An invalid URL is ERROR_INCORRECT_SESSION_DATA and no task is created.

Header descriptions and every schema: Schemas. Machine-readable: openapi.json, openapi.yaml.