CAPTCHA Solver for AI Agents
When your LangChain, CrewAI, browser-use or Playwright agent hits a captcha, it stalls. CaptchaSonic gives agents and MCP clients a solve capability so they finish the task instead of getting blocked.
Why AI agents get blocked
Autonomous agents browse the live web, so they run into the same anti-bot challenges as any automation: reCAPTCHA, hCaptcha, Cloudflare Turnstile, AWS WAF and more. A captcha mid-run breaks the loop, the agent loses context, and the task fails. Treat captcha solving as a tool the agent can call, and the run continues end to end.
Works with your agent stack
Drop captcha solving into the agent loop
Expose CaptchaSonic as a tool/function the model can call, or connect the hosted MCP server. When a step returns a captcha instead of content, the agent calls the tool, gets a token, and resumes — no human in the loop.
from captchasonic import CaptchaSonic
from langchain.tools import tool
solver = CaptchaSonic(api_key="YOUR_API_KEY")
@tool
def solve_captcha(captcha_type: str, website_url: str, website_key: str) -> str:
"""Solve a captcha and return a token the agent can submit."""
task = solver.create_task(
type=captcha_type, # e.g. "ReCaptchaV2" | "Turnstile" | "HCaptcha"
website_url=website_url,
website_key=website_key,
)
return solver.get_task_result(task.id).token
# Agent loop: detect -> solve -> continue
page.goto(target_url)
if page.locator('iframe[src*="recaptcha"]').count():
sitekey = page.get_attribute('[data-sitekey]', 'data-sitekey')
token = solve_captcha("ReCaptchaV2", page.url, sitekey)
page.evaluate("(t)=>{document.querySelector('#g-recaptcha-response').value=t}", token)
page.click('button[type=submit]') # task resumes, no human in the loopHosted MCP server
Point any MCP-compatible client at the CaptchaSonic MCP server to give it a solve_captcha tool instantly — no glue code. See the MCP / AI agents docs for setup.
MCP / AI Agent DocsHow the agent loop works
Detect the block
The agent notices a page returned a captcha challenge instead of the expected content.
Call the solve tool
It calls CaptchaSonic (tool or MCP) with the captcha type, page URL and site key, then polls for the token.
Continue the task
The token is injected into the page or request and the agent resumes its original objective.
Give your agent a solve capability
Start free with $0.50 bonus credits. Hosted MCP server plus Python, Node.js and Go SDKs.
Frequently asked questions
It is an API (and, for CaptchaSonic, a hosted MCP server) that an autonomous agent can call as a tool when it hits a captcha. The agent submits the captcha type, page URL and site key, receives a token, injects it, and continues its task instead of stalling.
Yes. Expose CaptchaSonic as a LangChain/CrewAI tool or a Python/Node.js/Go function, or connect the hosted MCP server. browser-use, Playwright, Puppeteer and Selenium agents call the same solve flow inline.
Point any MCP-compatible client at the CaptchaSonic MCP server and it gains a solve_captcha tool with no glue code. The model decides when to call it during a run. Setup is documented in the MCP / AI agents docs.
reCAPTCHA v2/v3, hCaptcha, Cloudflare Turnstile, GeeTest, AWS WAF, TikTok, image/OCR and 30+ more — the same coverage as the rest of the CaptchaSonic API, only charged for successful solves.
Agents browse the live web, so anti-bot systems present the same challenges they show any automation. Without a solve step the agent loses its loop context and the task fails. Adding captcha solving as a callable tool keeps the run going end to end.
Related
- reCAPTCHA Solver
AI bypass for reCAPTCHA v2, v3 and Enterprise.
- hCaptcha Solver
Token solver for hCaptcha and hCaptcha Enterprise.
- API Docs
createTask, getTaskResult, getBalance — full reference.
- GeeTest v3 / v4
Slide, icon, space and gobang puzzles solved.
- MTCaptcha Solver
Token bypass for invisible and visible MTCaptcha.
- AWS WAF Captcha
AWS WAF token solver for the WAF-CAPTCHA challenge.