Skip to content

Challenge and CAPTCHA support ​

TRAWL detects supported walls, chooses the matching browser flow and checks whether the wall remains before returning content. Embedded widgets use response-token or verified-state checks. These are supported solving paths, not a guarantee that every deployment will accept the result.

Challenge / CAPTCHABuilt-in handlingOptional 2Captcha handling
Cloudflare interstitialBrowser challenge execution, Turnstile interaction and clearance recoveryAutomatic fallback for captured Turnstile Challenge Pages
Standalone TurnstileShadow-DOM/frame interaction; checks the response tokenAutomatic fallback for a supported declarative widget
reCAPTCHA v2Checkbox and audio solvingAutomatic fallback for a supported declarative widget
reCAPTCHA v2 EnterpriseNo dedicated Enterprise solverAutomatic fallback for a supported declarative widget
reCAPTCHA v3No built-in score solverSite profile required
hCaptchaCheckbox auto-pass and audio where offered; no image-grid solverNot included in the current external task catalogue
GeeTestSlide puzzle matching and verified-state checksSite profile required
ALTCHANative proof-of-work widgetSite profile required
Friendly Captcha v1/v2Native widget execution and response checksSite profile required
CAPNative proof of work; verifies every visible widgetNo catalogue entry
AnubisNative JavaScript proof of work and metarefresh handlingNo catalogue entry
Akamai Bot ManagerSupported sensor and press-and-hold flowsNo dedicated catalogue entry
Imperva / IncapsulaSupported sensor challenges; no built-in solver for its own interactive CAPTCHASite profile required
DDoS-GuardJavaScript challenge execution and cookie checksNo dedicated catalogue entry
AWS WAFJavaScript token challenges; detects interactive CAPTCHA separatelySite profile required for CAPTCHA
DataDomeDevice Check through the opt-in headful pool; detects slider CAPTCHA and hard blocksSite profile required for slider CAPTCHA
DuckDuckGo anomaly wallDetected and reported as requiring CAPTCHA; no built-in image-puzzle solverNo dedicated catalogue entry

DataDome browser handling requires BROWSER_HEADFUL_POOL_SIZE=1, which adds another browser pool. IP hard blocks may require a different egress IP. Google Search /sorry/ redirects and supported bot-wall pages are also detected; detection alone does not mean a puzzle can be solved.

External task catalogue ​

2Captcha is disabled by default. Enable it with CAPTCHA_SOLVER=2captcha and TWOCAPTCHA_API_KEY. Automatic fallback supports one declarative reCAPTCHA v2/Enterprise or standalone Turnstile widget per provider on a page, subject to the adapter's callback, CSP and task-budget checks.

Supported Cloudflare Challenge Pages also work without a profile: TRAWL captures the dynamic Turnstile render parameters before initialization, tries local resolution first and delivers the external answer to the original callback. Navigation, replaced parameters or a different provider user agent invalidate the answer. A token or clearance cookie alone does not prove that the target page is accessible.

Other task types require an exact-hostname profile with task inputs, response delivery and target verification. Recognized SDK markers can produce diagnostic candidates; they do not automatically create paid tasks.

Additional task types supported through site profiles
  • Provider tasks: Arkose/FunCaptcha, Capy, KeyCaptcha, Lemin, CyberSiara, MTCaptcha, CutCaptcha, ATB, Tencent, Prosopo, CaptchaFox, VK, Yidun, Binance, Hunt, TSPD, Basilisk, Alibaba and Yandex SmartCaptcha, alongside the profile-based providers in the table above.
  • Puzzle and media tasks: image-to-text, text questions, audio, rotation, coordinates, grids, draw-around, bounding boxes, drag-and-drop, Temu images, SmartCaptcha images, Pazl puzzles and VK images. Generic images and audio are not automatically classified as CAPTCHA.

External integration is tested with local provider and widget fixtures. Real paid-service acceptance remains unverified. A widget token is not proof that a site's server accepted a form submission, and TRAWL does not submit surrounding forms automatically.

See browser challenge flows and external solver configuration for setup and limits.