NeuroCaptcha

Limits and best practices

Rate limits, parallel tasks, polling interval, retries and how long tokens and results live.

Цей розділ показано англійською.

На цій сторінці

Limits#

WhatLimitAnswer above it
createTask per key30/s, bursts up to 60ERROR_TOO_MUCH_REQUESTS (91)
getTaskResult per key50/sERROR_TOO_MUCH_REQUESTS (91)
All requests from one IP100/s, bursts up to 200ERROR_TOO_MUCH_REQUESTS (91)
Tasks in progress per key200 (configurable per key)ERROR_NO_SLOT_AVAILABLE (2)
Spending per keydaily and monthly caps you setERROR_SPENDING_LIMIT (92)
Request body1 MiBERROR_TASK_ABSENT (22)
Waiting for a worker180 sERROR_RECAPTCHA_TIMEOUT (30), not charged
Result storage10 min after it is readyERROR_NO_SUCH_CAPCHA_ID (16)
Refund reports24 h after solvingrecorded without a refund
Webhook delivery3 attempts, 5 s each—

These are the current platform defaults. Need more? Write to support.

Polling interval#

  • Poll each task every 2–3 seconds. Polling more often does not make solving faster.
  • Stop at ready or at the first error.
  • Give up after about 5 minutes: by then every task is either solved or failed.
  • Many tasks at once? Use webhooks instead of polling.

Parallel tasks#

  • Tasks are independent: run them in parallel up to the key's limit (200 by default).
  • On ERROR_NO_SLOT_AVAILABLE, wait for some tasks to finish and retry in 1–2 seconds.
  • Keep createTask under 30 per second per key: spread bursts over time.
  • Use separate keys for separate projects: limits, caps and statistics are per key.

Retries#

ErrorsWhat to do
ERROR_TOO_MUCH_REQUESTS, ERROR_NO_SLOT_AVAILABLE, ERROR_INTERNAL, network errorsretry the same request with a growing pause: 1, 2, 4… seconds
ERROR_CAPTCHA_UNSOLVABLE, ERROR_RECAPTCHA_TIMEOUT, proxy errorscreate a new task — the failed one is free
ERROR_KEY_DOES_NOT_EXIST, ERROR_ZERO_BALANCE, ERROR_TASK_ABSENT, ERROR_TASK_NOT_SUPPORTED, ERROR_IP_NOT_ALLOWED, ERROR_SPENDING_LIMITdo not retry: fix the cause first

A repeated getTaskResult is always safe. A repeated createTask creates another task.

Token lifetime#

  • A reCAPTCHA token is valid for about 2 minutes and only once. Create the task right before you need the token.
  • The API keeps the result for 10 minutes, but Google rejects an old token much earlier.
  • The site rejected the token? Report it and get the money back.

HTTP timeouts#

Use a timeout of about 30 seconds for API calls. Every answer comes at once — solving never blocks a request.