Hi everyone,
In some n8n workflows, especially those interacting with browser based services, login protected dashboards, or web portals, captcha challenges can appear as usage scales. This usually comes up in cases where flows rely on custom code nodes or HTTP requests to automate interactions that are not purely API driven.
Since n8n does not include built in captcha handling, users typically solve this by integrating an external captcha solving API inside a Code node or as part of a custom request flow.
A common pattern looks like this:
-
A workflow reaches a step where a captcha challenge is encountered
-
A Code node or HTTP Request node sends the captcha data to a third party captcha solving API
-
The API returns a token or solution
-
The workflow continues using that token in the next request
One aspect that often becomes noticeable at scale is cost. Many captcha solving services price per request, which can make costs grow quickly when workflows include retries, monitoring, or test environments.
One example service that some teams use in this situation is CaptchaAI. It is a standalone captcha solving API that supports common captcha types such as reCAPTCHA v2, reCAPTCHA v3, invisible reCAPTCHA, Cloudflare Turnstile, Geetest and image captchas.
It is typically used as a drop in replacement for other captcha solving APIs, with a fixed monthly low pricing model instead of per request billing which drains thousands of dollars a month.
In addition, there is no limitation as CaptchaAI provides unlimited captcha solving per month through any subscription.
API Documentation and integration details can be found here:
For anyone who wants to test this approach in a real n8n workflow, a short trial is available.
Sending code SARAH10 to CaptchaAI team provides access to 10 threads for 3 days, which should be enough to evaluate basic integration and cost behavior in a test flow.
Sharing this mainly as a reference point for how captcha solving can be approached in n8n today. Happy to answer technical questions or clarify how this fits into Code node or HTTP Request based workflows.