Skip to content

Documentation

CAPTCHA: setup and verification

A CAPTCHA can appear when a page opens, during navigation or after a button click. Automatic mode attempts a supported challenge and continues in the same browser session. No separate list of target domains is required. Normal source access rules still apply.

Enable automatic checks

  1. Select the workspace that owns the site.
  2. Open the site's advanced browser loading settings and Website checks.
  3. Keep automatic CAPTCHA handling enabled. The type is usually detected automatically.
  4. Open Balance and plan → CAPTCHA to check availability, allowance, prices and spending caps.
  5. Run a trial and inspect the collected records.

If the interface reports that automatic handling is unavailable, contact support. A site switch or scenario argument cannot enable an unavailable feature or expand a plan.

Supported types

Settings include reCAPTCHA v2/v3, Cloudflare Turnstile, Yandex SmartCaptcha, Yandex text recognition and ordered object selection. A visual challenge may appear in an overlay or iframe. Support for a type does not guarantee every challenge will pass. An unknown variant, custom layout or website rejection results in an error.

Verify the result

  • Check the expected records and fields, rather than CAPTCHA form text.
  • Require a result confirmed by the website, such as a product list or successful form response. HTTP 200 alone is insufficient.
  • Inspect the run log for unsupported challenges, exhausted budgets or website rejection.
  • Check the correct workspace's expenses. A page without a CAPTCHA does not create a paid recognition task; browser time is accounted for separately.

The official SmartCaptcha form is suitable for a training check. Submit a sample name and require the server greeting containing it. The form may serve different challenge types. Passing a text challenge does not verify object selection.

Manual hints

Expand the manual check settings only when automatic detection is insufficient. Provide the public widget key, action or element selectors as needed. Never enter the website's secret key, passwords or cookies.

A success selector must identify a result that appears after the successful operation. A permanent header or menu is unsuitable. A submit selector is needed only when the site does not continue automatically. The scenario remains responsible for filling ordinary form fields.

Disable automatic handling

The site's switch disables CAPTCHA handling for that source. A developer can disable only automatic handling for an HTTP request or an entire browser session using autoCaptcha=false in PHP/JavaScript/TypeScript or auto_captcha=False in Python. The page may remain blocked.

Self-hosted agents

The same automatic mode and opt-out work on agents. A browser, connectivity to Akmelo and a plan that permits agents are required. No additional CAPTCHA keys need to be configured on the agent. Checks and costs belong to its workspace. Local collection does not make CAPTCHA checks free.

Pricing and caps

Checks use the processing budget, then the general balance if additional spending is enabled. A separate task allowance applies per period. After the allowance, checks can continue with funded balance and allowed spending.

Prices are displayed per 1,000 tasks for comparison; each task is charged individually. “Up to” is the reservation cap. Once the actual amount is known, the unused reserve is released. An additional challenge can count as another attempt.

Set a cap per type, disable paid tasks of a type or restore the system cap in price settings. A low cap can stop a task before submission. A completed answer may be chargeable even if the website rejects it. Unknown outcomes remain reserved until reconciliation. Repeated manual restarts do not speed this up.

Public prices · SDK and API · Balance and limits

Scenario walkthroughs by language

Every SDK includes a Working with CAPTCHA group: a shared algorithm and 12 detailed walkthroughs with complete source.

PHP · JavaScript · TypeScript · Python

Explicit task API

The SDK also provides ctx.captcha() (PHP: $ctx->captcha()) for tasks created explicitly by code: current types, schemas, quotations, submission, status retrieval, waiting and feedback. New types in this catalog are not automatically detected or applied by the browser. No external key is required; all work is billed to the workspace.

PHP · JavaScript · TypeScript · Python

Catalog and quotation calls do not submit a paid task. createTask does; Python uses create_task. The returned taskId belongs to Akmelo. getTaskResult reads it and waitForResult waits without creating another task. The options.maxCost ceiling uses micro-rubles, where 1,000,000 units = RUB 1. An answer does not prove website acceptance. Waiting timeout and run cancellation do not guarantee task cancellation or a refund.