Блог / Интеграция решения капчи с no-code и RPA

No-code и RPA: интеграция решения капчи с Zapier, Make, n8n и UiPath

Проверка без капчи

Автоматизацию сегодня строят не только на Python и Node.js. Маркетологи, аналитики и операционные команды собирают сценарии в Zapier, Make и n8n, а корпоративные роботы работают в UiPath, Power Automate и других RPA системах. Такие инструменты называют no-code, low-code и RPA, и у них общая проблема: как только сценарий доходит до страницы с капчей, он останавливается. Человека в цепочке нет, а значит, проверку нужно пройти автоматически.

Решение капчи в Cap.Guru работает через обычный HTTP API, поэтому подключить его можно в любой платформе, где есть модуль HTTP запроса. Не нужны собственные приложения, плагины и драйверы. В этой статье разберём общую схему интеграции, покажем настройку решения капчи в Zapier, Make, n8n и UiPath, а также в других RPA и low-code системах, и расскажем, как сделать сценарий надёжным. Формат запросов и ответов описан в документации Cap.Guru.

Что такое no-code, low-code и RPA и почему в них мешает капча

No-code платформы (Zapier, Make, n8n в режиме визуальных узлов) позволяют связывать сервисы между собой без программирования: сценарий собирается из блоков на схеме. Low-code добавляет к блокам немного кода для нестандартных задач, например, узел Code в n8n. RPA (Robotic Process Automation, UiPath, Power Automate, Automation Anywhere, Blue Prism) имитирует действия человека в приложениях и браузере: открывает страницы, заполняет формы, скачивает отчёты.

Во всех трёх случаях автоматизация упирается в одно и то же место. Сайт показывает проверку «вы не робот», и сценарий не может продолжить: форма не отправляется, отчёт не скачивается, вход в личный кабинет не выполняется. Сервис решения капчи закрывает этот пробел. Ваш сценарий отправляет данные капчи в API, получает ответ и передаёт его странице.

Почему решение капчи по API подходит для no-code и RPA

В визуальных инструментах нельзя написать скрипт, который «кликает по картинкам», зато очень легко отправить HTTP запрос и обработать JSON ответ. API решает капчу на стороне сервиса, а вашему сценарию остаётся два простых действия: создать задачу и забрать результат. Отсюда несколько преимуществ:

Универсальность. Один и тот же подход работает в Zapier, Make, n8n, UiPath, Power Automate и десятках других систем, потому что везде есть HTTP модуль.

Прозрачность. Логика решения капчи видна на схеме сценария. Её легко показать коллеге, изменить без программиста и добавить в готовый процесс.

Масштабируемость. Сценарий можно запускать по расписанию, по событию или параллельно для многих задач, а сервис решает капчи независимо от вашей платформы.

Отсутствие зависимостей. Не нужно устанавливать расширения и настраивать браузерные драйверы на каждой машине робота.

Какие типы капч встречаются в автоматизации

Сервис решает основные виды капч, с которыми сталкиваются no-code и RPA сценарии. Ниже коротко о каждом типе.

Графические капчи. Картинка с искажённым текстом, цифрами или символами. Ответом служит текст, который нужно ввести в поле. Такие капчи встречаются на старых сайтах, в формах обратной связи и на внутренних порталах.

reCAPTCHA v2. Проверка от Google с чекбоксом «Я не робот», иногда с выбором картинок. Есть невидимая версия (Invisible) и корпоративная (Enterprise). Ответом служит токен.

reCAPTCHA v3. Работает незаметно для пользователя и оценивает поведение числом от 0 до 1. Сайт сравнивает оценку с порогом, поэтому при решении важно указать действие и желаемый уровень оценки.

hCaptcha. Популярная альтернатива reCAPTCHA. Обычно показывает задание с выбором объектов на картинках. Ответом служит токен.

FunCaptcha (Arkose Labs). Игровые задания: повернуть объект, выбрать нужную картинку. Часто встречается на крупных платформах. Ответом служит токен.

Cloudflare Turnstile. Современная проверка от Cloudflare, чаще всего невидимая. Ответом служит токен, а время решения заметно выше, чем у остальных типов.

GeeTest. Пазлы и слайдеры. Ответом служит набор значений, которые нужно передать нескольким полям или функции проверки сайта.

TikTok, Binance, Amazon WAF. Собственные капчи крупных платформ и сервисов. Для них есть отдельные методы в API.

Другие типы. Если нужного типа нет в списке, его можно запросить у поддержки. Сервис регулярно расширяет перечень поддерживаемых капч.

Что нужно подготовить перед настройкой

У всех капч есть общая часть: API ключ из личного кабинета, значение method, которое определяет тип капчи, и адрес страницы pageurl. Остальные параметры зависят от типа. Ниже типовой набор. Точные названия и значения для каждого типа смотрите на его странице в документации.

Тип капчиmethodЧто передатьЧто вернётся
Графическаяbase64 или загрузка файлаИзображениеТекст ответа
reCAPTCHA v2userrecaptchagooglekey, pageurl, при необходимости invisible и enterpriseТокен
reCAPTCHA v3userrecaptchagooglekey, pageurl, version=v3, action, min_scoreТокен
hCaptchahcaptchasitekey, pageurlТокен
FunCaptchafuncaptchapublickey, surl, pageurlТокен
Cloudflare Turnstileturnstilesitekey, pageurlТокен
GeeTestgeetestgt, challenge, api_server, pageurlНабор значений в JSON
TikTok, Binance, Amazon WAFпо документацииПараметры указаны на странице типаТокен или набор значений

Ключи виджетов ищите в исходном коде страницы: обычно это атрибут data-sitekey или похожее свойство в скриптах. Берите ключ и адрес с той страницы, где вы реально проходите проверку. Подробный пример поиска ключа есть в статье про решение Turnstile через API.

Общая схема: четыре шага

Независимо от платформы и типа капчи сценарий состоит из одних и тех же блоков. Меняются только названия модулей и набор параметров.

1. HTTP запрос in.php: создать задачу 2. Пауза Delay, Sleep, Wait 3. HTTP запрос res.php: забрать ответ 4. Ответ на сайт в форму или шаг
Универсальная схема для любой no-code или RPA платформы и любого типа капчи

Шаг 1. GET запрос на http://api.cap.guru/in.php с параметрами key, method, параметрами типа капчи из таблицы выше и json=1. В ответе поле request содержит номер задачи.

Шаг 2. Пауза. Её длина зависит от типа капчи: для большинства хватает 3 или 5 секунд, для Turnstile нужно от 10 до 15.

Шаг 3. POST запрос на http://api.cap.guru/res.php с телом JSON: key, action со значением get, id и json. Если status равен 1, поле request содержит ответ: токен, текст или набор значений. Иначе задача ещё в работе, нужно подождать и повторить запрос.

Шаг 4. Ответ передаётся дальше: в HTTP запрос к сайту, в поле формы в браузере или в другой модуль сценария.

Пример для Cloudflare Turnstile. Создание задачи:

http://api.cap.guru/in.php?key=YOUR_API_KEY&method=turnstile&sitekey=1x00000000000000000000AA&pageurl=https://react-turnstile.vercel.app/basic&json=1

Получение результата (тело POST запроса и ответ):

{
  "key": "YOUR_API_KEY",
  "action": "get",
  "id": "65787087",
  "json": 1
}

{
  "status": 1,
  "request": "03AFY_a8W0B6yEBwfbmzp6OEUr..."
}

Для других типов меняются method и параметры в первом запросе, а второй запрос остаётся тем же. Именно поэтому один сценарий легко превратить в универсальный.

Решение капчи в Zapier

Zapier это облачная платформа для связывания приложений. Сценарии называются Zap и состоят из триггера и цепочки действий. Для запросов к произвольному API в Zapier используется приложение Webhooks by Zapier с действием Custom Request. Отдельная интеграция с Cap.Guru не нужна. Учтите, что доступность Webhooks by Zapier зависит от вашего тарифа.

Схема Zap для решения капчи

ШагПриложение и действиеНастройка
1ТриггерЛюбое событие: расписание, новая строка в таблице, письмо, новая заявка
2Webhooks by Zapier, Custom RequestМетод GET, URL http://api.cap.guru/in.php, параметры key, method, параметры типа капчи, json=1. Значения можно брать из данных триггера
3Delay by Zapier, Delay ForПауза перед запросом результата
4Webhooks by Zapier, Custom RequestМетод POST, URL http://api.cap.guru/res.php, тип данных JSON, поля key, action=get, id из шага 2, json=1
5Filter by ZapierПродолжать, только если status равен 1
6Любое действиеИспользовать поле request из шага 4

Особенности и советы для Zapier

Пауза. Минимальное значение Delay и лимиты на время выполнения шагов зависят от тарифа, поэтому проверьте актуальные ограничения в вашем аккаунте. Токены большинства капч действуют недолго (например, у Turnstile около пяти минут), поэтому не откладывайте использование ответа.

Повторная проверка. Если после первой проверки статус не равен 1, добавьте ещё одну пару «пауза и запрос», либо используйте ветвление Paths и запускайте повторную проверку отдельным Zap.

Хранение данных между шагами. Если сценарий разбит на два Zap, номер задачи можно сохранить в Storage by Zapier или в таблице, а второй Zap запускать по расписанию или после паузы.

Типичные сценарии. Выгрузка данных из формы, защищённой капчей, в Google Sheets или CRM, регулярная проверка страниц и получение уведомлений в Slack или Telegram, отправка заявок на сайты партнёров.

Решение капчи в Make (Integromat)

Make это облачная платформа с визуальным редактором сценариев. Сценарий состоит из модулей, соединённых линиями, и каждый запуск модуля считается операцией. Для решения капчи хватает стандартных модулей HTTP и Tools, а гибкая маршрутизация помогает построить повторные попытки без кода.

Схема сценария

МодульНастройка
ТриггерРасписание, вебхук, изменение в таблице или CRM
HTTP, Make a requestGET на in.php, параметры в Query String, включите Parse response
Tools, SleepПауза по типу капчи: от 3 до 5 секунд для большинства, около 15 секунд для Turnstile
HTTP, Make a requestPOST на res.php, Body type Raw, Content type JSON, тело {"key":"YOUR_API_KEY","action":"get","id":"{{2.data.request}}","json":1}, включите Parse response
RouterМаршрут 1 с фильтром data.status равно 1 использует ответ. Запасной маршрут делает ещё один Sleep и повторный запрос

Особенности и советы для Make

Маппинг полей. Номер модуля в выражении {{2.data.request}} у вас будет свой, выбирайте поле из ответа первого HTTP модуля через панель маппинга.

Переменные и хранилище. Храните API ключ в переменной сценария или в хранилище данных (Data store), а не в каждом модуле отдельно. Если нужно решать несколько типов капч, вынесите method и параметры в переменные и подставляйте их в Query String.

Обработка ошибок. Make позволяет добавить к модулю обработчик ошибок. Директива Break умеет повторять выполнение через заданный интервал, что удобно для временных сбоев сети или API.

Расход операций. Каждый запуск модуля расходует операции тарифа. Паузу подбирайте так, чтобы не делать лишних опросов, а количество попыток ограничивайте.

Типичные сценарии. Мониторинг цен и наличия на страницах с капчей с записью в Google Sheets, регулярный сбор данных из личных кабинетов, автоматическая отправка форм.

Решение капчи в n8n

n8n это платформа автоматизации с открытым исходным кодом, которую можно запустить у себя на сервере или использовать в облаке. Её любят за гибкость: рядом с визуальными узлами можно писать код на JavaScript. Для решения капчи в n8n есть два способа.

Способ 1: узлы без кода

УзелНастройка
TriggerCron, Webhook или другой источник
HTTP RequestGET на in.php, Query Parameters: key, method, параметры типа капчи, json
WaitПауза 5 секунд
HTTP RequestPOST на res.php, тело JSON: key, action, id из первого узла, json
IFУсловие: status равно 1. Ветка true идёт дальше, ветка false возвращается на узел Wait

Чтобы цикл не работал бесконечно, добавьте счётчик попыток, например в узле Set (Edit Fields), и завершайте сценарий ошибкой после 24 итераций.

Способ 2: один узел Code для любого типа

Если вы не боитесь немного кода, весь цикл ожидания помещается в один узел Code (JavaScript). Он принимает объект params с параметрами нужной капчи и подходит для любого типа. Например, на входе может быть {"method": "hcaptcha", "sitekey": "...", "pageurl": "..."}:

const API_KEY = "YOUR_API_KEY";
const { params, delayMs = 5000 } = $input.first().json;

const created = await this.helpers.httpRequest({
  method: "GET",
  url: "http://api.cap.guru/in.php",
  qs: { key: API_KEY, json: 1, ...params },
  json: true,
});
if (created.status !== 1) {
  throw new Error(`Задача не создана: ${created.request}`);
}

for (let i = 0; i < 24; i++) {
  await new Promise((resolve) => setTimeout(resolve, delayMs));
  const result = await this.helpers.httpRequest({
    method: "POST",
    url: "http://api.cap.guru/res.php",
    body: { key: API_KEY, action: "get", id: created.request, json: 1 },
    json: true,
  });
  if (result.status === 1) {
    return [{ json: { answer: result.request } }];
  }
  if (!String(result.request).includes("NOT_READY")) {
    throw new Error(`Ошибка получения ответа: ${result.request}`);
  }
}
throw new Error("Ответ не получен за отведённое время");

Проверка на NOT_READY написана по аналогии с совместимыми API, поэтому сверьте точные тексты ответов со списком ошибок в документации Cap.Guru.

Особенности и советы для n8n

Учётные данные. Храните ключ в Credentials, а не в коде и не в открытых полях узлов.

Отдельный сценарий для решения капчи. Оформите решение как самостоятельный workflow и вызывайте его из других сценариев узлом Execute Workflow. Тогда логика ожидания и обработки ошибок живёт в одном месте, а все остальные сценарии просто передают тип капчи и параметры.

Обработка ошибок. Настройте отдельный сценарий с узлом Error Trigger, который будет присылать уведомление в мессенджер или почту при неудаче.

Самостоятельный хостинг. Если n8n установлен у вас, нет лимитов на количество операций тарифа, но нужно следить за нагрузкой и временем выполнения длинных циклов ожидания.

Решение капчи в UiPath

UiPath это одна из самых известных RPA платформ. Роботы UiPath работают как в вашем браузере и настольных приложениях, так и на серверах (unattended роботы под управлением Orchestrator). В UiPath запросы к API отправляют активности HTTP Request (в старых проектах Web API, а в облачных сценариях бывает и коннектор в Integration Service), а цикл ожидания собирают из Delay и Do While. Названия активностей могут отличаться в зависимости от версии Studio.

Пошаговая настройка

  1. Переменные. Создайте apiKey, captchaMethod, параметры типа капчи, taskId, answer и счётчик attempt. Ключ берите из Orchestrator (Credential или Asset), а не записывайте в текст сценария.
  2. Создание задачи. HTTP Request с методом GET и адресом http://api.cap.guru/in.php, параметры key, method, параметры капчи и json=1. Ответ разберите активностью Deserialize JSON и сохраните request в taskId.
  3. Цикл ожидания. Do While, пока answer пуст и attempt меньше 24. Внутри цикла: Delay на 5 секунд, HTTP Request с методом POST на res.php и телом JSON, Deserialize JSON, условие If: если status равен 1, сохраните request в answer. Увеличивайте attempt на каждой итерации.
  4. Проверка результата. После цикла проверьте, что answer не пуст. Иначе выбросьте исключение, чтобы его обработал Try Catch или Retry Scope.
  5. Использование ответа. Если работа идёт в браузере, подставьте ответ в нужное поле формы активностью Inject JS Script или введите текст в поле активностью Type Into, а затем отправьте форму.

Пример JavaScript для активности Inject JS Script. Имя поля зависит от типа капчи, в примере reCAPTCHA:

function setAnswer(answer) {
  var field = document.querySelector('[name="g-recaptcha-response"]');
  if (field) field.value = answer;
}

Особенности и советы для UiPath

Вынесите решение в отдельный файл. Сохраните цикл создания задачи и ожидания как отдельный workflow (.xaml) с входными аргументами (метод и параметры) и выходным аргументом (ответ). Вызывайте его активностью Invoke Workflow File из любых процессов. Так решение капчи подключается в новый процесс за минуту.

Учётные данные. Храните API ключ в Orchestrator Assets или Credentials и получайте его активностями Get Asset и Get Credential.

Надёжность. Оберните запросы в Retry Scope, а весь блок в Try Catch. Если вы используете REFramework, исключения при получении ответа удобно передавать как бизнес исключения или системные с повтором транзакции.

Логирование. Пишите в лог активностью Log Message номер задачи и статус, но не выводите ключ и ответ целиком.

Очереди. Если капчи нужно решать для множества записей, используйте очереди Orchestrator и несколько роботов, каждый из которых берёт транзакцию, решает капчу и обрабатывает страницу.

Типичные сценарии. Выгрузка отчётов из личных кабинетов поставщиков и маркетплейсов, заполнение форм на порталах, сверка данных с внешними системами.

Power Automate, Automation Anywhere, Blue Prism и другие платформы

Логика одинакова везде, где есть действие HTTP запроса. Ниже соответствие блоков в популярных RPA и low-code системах:

ПлатформаЗапрос к APIПауза и цикл
Microsoft Power AutomateДействие HTTP (может требовать премиальную лицензию), Parse JSONDelay и Do until со сравнением status с 1
Power Automate DesktopInvoke web service, Convert JSON to custom objectWait и Loop с условием выхода
Automation AnywhereREST Web ServiceDelay и Loop
Blue PrismWeb API ServiceWait stage и цикл через Choice
Robot Framework, RobocorpRequestsLibrary, ключевое слово POST On SessionSleep и Wait Until Keyword Succeeds
Node-RED, Pipedream, ActivepiecesHTTP request узлы или шаги с кодомDelay и цикл или код с ожиданием

Какую платформу выбрать

Выбор зависит от задачи и команды. Сравнение ниже поможет сориентироваться:

ПлатформаТипКак строится ожиданиеДля чего подходит
ZapierОблако, no-codeПары «Delay и запрос», PathsПростые связки сервисов, быстрый старт
MakeОблако, no-codeSleep, Router, обработчики ошибокСложные ветвящиеся сценарии с визуальной логикой
n8nОблако или свой сервер, low-codeЦикл на узлах Wait и IF или код в узле CodeГибкость, контроль над данными, повторно используемые workflow
UiPathRPA, десктоп и серверDo While и DelayКорпоративные роботы, работа в браузере и приложениях

Как передать ответ странице

Ответ зависит от типа капчи. Токенные капчи (reCAPTCHA, hCaptcha, FunCaptcha, Turnstile) возвращают строку, которую виджет обычно кладёт в скрытое поле формы. Графические капчи возвращают текст, который нужно ввести в поле. GeeTest возвращает набор значений, которые передаются нескольким полям.

Тип капчиКуда подставить ответ
ГрафическаяТекстовое поле ввода капчи
reCAPTCHA v2 и v3Поле g-recaptcha-response или callback виджета
hCaptchaПоле h-captcha-response (часто и g-recaptcha-response)
FunCaptchaСкрытое поле fc-token или callback
Cloudflare TurnstileПоле cf-turnstile-response
GeeTestПоля geetest_challenge, geetest_validate, geetest_seccode или функция проверки сайта
TikTok, Binance, Amazon WAFСпособ описан на странице типа в документации

В облачных сценариях (Zapier, Make, n8n) ответ обычно уходит в следующий HTTP запрос вместе с остальными данными формы. В RPA с браузером его записывают в поле скриптом и отправляют форму. Точные имена полей зависят от конкретного сайта, их видно в исходном коде страницы. Получайте ответ непосредственно перед отправкой формы, потому что токены живут недолго и подходят для одной проверки.

Примеры готовых сценариев

Тестирование форм по расписанию (n8n). Раз в час workflow открывает тестовую страницу с формой, получает токен через API, отправляет форму и проверяет ответ сервера. При ошибке приходит уведомление в мессенджер. Так команда QA узнаёт о поломке формы раньше пользователей.

Мониторинг цен и наличия (Make). Сценарий по расписанию проходит по списку страниц из Google Sheets, решает капчу там, где она появляется, забирает цену и записывает результат в таблицу. Если цена изменилась, приходит уведомление.

Выгрузка отчётов из личного кабинета (UiPath). Unattended робот входит в кабинет поставщика, решает капчу на форме входа, скачивает отчёт и загружает его во внутреннюю систему. Ключ и пароль хранятся в Orchestrator.

Обработка заявок (Zapier). Новая заявка из формы попадает в Zap, который отправляет данные на партнёрский сайт с капчей, получает токен и фиксирует результат в CRM.

Рекомендации по надёжности и безопасности

Храните ключ безопасно. Используйте Credentials в n8n, переменные сценария в Make, Orchestrator Assets в UiPath. Не выводите ключ и ответы целиком в логи и не отправляйте их в чаты.

Ограничивайте ожидание. Заложите максимум около двух минут и понятную ошибку по истечении времени. Бесконечные циклы блокируют слоты выполнения и стоят вам денег на платформе.

Не опрашивайте слишком часто. Пауза от 5 до 10 секунд между запросами результата оптимальна. Опрос каждую секунду только создаёт лишнюю нагрузку.

Учитывайте лимиты платформы. Во многих облачных сервисах каждый шаг и каждая итерация цикла считаются операциями тарифа. Цикл из 24 опросов может израсходовать заметную часть лимита, поэтому подбирайте паузу под среднее время решения типа капчи.

Добавьте повтор и оповещение. Если ответ не получен или сайт отклонил его, повторите весь цикл один раз, а при повторной неудаче отправьте уведомление ответственному.

Следите за балансом. Если на счёте закончились средства, API вернёт ошибку. Настройте оповещение о низком балансе, чтобы сценарии не останавливались неожиданно.

Тестируйте на демонстрационной странице. Отладьте сценарий на тестовой странице капчи, а уже потом переносите на рабочие процессы. Некоторые разделы документации помечены как BETA, поэтому заложите время на проверку.

Частые проблемы и как их решить

СимптомВозможная причинаЧто сделать
Задача не создаётсяНеверный ключ, не хватает параметров, недостаточно средствПроверьте ключ, набор параметров для типа капчи и баланс, сверьтесь со списком ошибок
Статус не становится равным 1Капча ещё решается или слишком короткое ожиданиеУвеличьте паузу и число попыток, для Turnstile закладывайте больше времени
Сайт отклоняет ответКлюч и адрес взяты с разных страниц, ответ устарелВозьмите sitekey и pageurl со страницы с капчей, используйте ответ сразу после получения
Сценарий обрывается по времениЛимит платформы на длительность шагаРазбейте ожидание на несколько шагов или запускайте проверку отдельным сценарием
Быстро расходуются операцииСлишком частый опросУвеличьте паузу до 5 или 10 секунд

Для каких задач это подходит

Типичные сценарии: автоматическое тестирование собственных форм (QA), плановый мониторинг доступности страниц и цен, выгрузка отчётов из личных кабинетов поставщиков и партнёров, RPA роботы для внутренних и разрешённых внешних систем. Используйте сервис в рамках закона, правил площадок и условий использования. Массовый спам, обход защиты чужих сервисов без разрешения и мошенничество недопустимы.

Частые вопросы

Нужна ли отдельная интеграция Cap.Guru в Zapier, Make или n8n?

Нет. Достаточно стандартных модулей HTTP запросов. Ваш сценарий вызывает два адреса API и обрабатывает JSON ответ.

Можно ли обойтись без кода?

Да. В Zapier, Make, Power Automate и UiPath всё собирается из готовых блоков. Код нужен только в необязательном варианте n8n с одним узлом Code.

Какие типы капч можно решать в no-code сценариях?

Все, которые поддерживает API: reCAPTCHA v2 и v3, hCaptcha, FunCaptcha, Cloudflare Turnstile, GeeTest, TikTok, Amazon WAF и графические капчи. Если нужного типа нет в списке, напишите в поддержку, и его можно добавить.

Как долго ждать результат?

Зависит от типа. Графические капчи решаются примерно за 2 секунды, большинство остальных за 3 секунды, Turnstile от 10 до 15 секунд. Опрашивайте сервер с паузой 5 секунд и ограничьте общее время ожидания.

Как решать несколько типов капч одним сценарием?

Вынесите method и параметры капчи в отдельные переменные или в объект на входе сценария, а цикл ожидания оставьте общим. Тогда один и тот же блок обслуживает любой тип.

Работает ли решение капчи в UiPath на серверных роботах?

Да. Запросы к API отправляются по сети, поэтому подходят и для attended роботов на рабочих станциях, и для unattended роботов на серверах. Ключ хранится в Orchestrator.

Чем n8n отличается от Zapier и Make для этой задачи?

n8n можно запустить на своём сервере и писать логику ожидания одним узлом Code, а в Zapier и Make цикл ожидания собирается из блоков и паузы. Для простых случаев подойдут все три платформы.

Где хранить API ключ?

В защищённом хранилище платформы: Credentials в n8n, переменные и подключения в Make, Orchestrator Assets в UiPath. Не записывайте ключ в тексты сценариев и не публикуйте их с ключом.

Заключение

Подключить решение капчи в no-code и RPA несложно: создайте задачу запросом к in.php, подождите, заберите ответ запросом к res.php и передайте его нужному шагу. Zapier, Make, n8n, UiPath, Power Automate и другие платформы отличаются только названиями блоков. Для reCAPTCHA, hCaptcha, FunCaptcha, Turnstile, GeeTest и остальных типов меняются лишь method и параметры первого запроса. Ограничьте время ожидания, храните ключ в защищённом хранилище и тестируйте сценарий на тестовой странице перед запуском в работу.

Подробнее о типах капч читайте на страницах решения reCAPTCHA и решения Cloudflare Turnstile. Если вы работаете с кодом, посмотрите статью об API для решения капчи на Python.