
Якщо ви займаєтесь веб-скрейпінгом, арбітражем трафіку або SEO-моніторингом, то напевно стикалися з такою ситуацією: мобільні проксі налаштовані ідеально, відбитки браузера в Playwright або антидетект-браузері підмінені й працюють коректно, але цільовий сайт все одно не пускає. Часто причина криється у невидимій reCAPTCHA v3.

На відміну від попередників, ця версія не просить шукати світлофори чи розбирати спотворений текст. Вона працює в тіні, аналізуючи поведінкові фактори та повертаючи власнику сайту ваш Trust Score.
Розберемо, як насправді працює система оцінки Google, чому класичний підхід із проксі тут не завжди допомагає та як правильно використовувати API 2Captcha для гарантованого високого бала.
reCAPTCHA v3 запускається у фоновому режимі з моменту завантаження сторінки. Скрипт збирає масив даних: IP-адресу, історію сесій браузера, рухи миші, кліки та інші поведінкові патерни. На основі цієї інформації Google повертає серверу Score в діапазоні від 0.0 до 1.0.

Які саме сигнали збирає Google? Вбудований скрипт працює через систему Advanced Risk Analysis, безперервно оцінюючи сотні параметрів. Алгоритм зчитує траєкторію руху миші, швидкість і патерни прокрутки сторінки, а також ритм набору тексту на клавіатурі. До цього додаються технічні метрики: репутація IP-адреси, консистентність відбитка браузера та час, проведений на сайті до цільової дії. Якщо ваш скрипт миттєво відкриває сторінку й через мілісекунду натискає «Надіслати», алгоритм одразу присвоює вам статус бота.
Офіційна шкала оцінки виглядає так:

Як сайти реагують на ваш Score? Важливо розуміти: reCAPTCHA сама по собі нікого не блокує, а лише передає сайту вашу оцінку. Серверна логіка цільового ресурсу вирішує, що з вами робити. Зазвичай це працює так: при 0.9 вас пропускають без питань. Якщо бал падає до 0.5, сайт може розгорнути додаткову перевірку, наприклад надіслати SMS-код або попросити підтвердити email. А при 0.1 з'єднання просто скидається або форма видає мовчазну помилку. Тому для успішного збору даних не завжди потрібно гнатися за максимальним балом: достатньо стабільно підтримувати середній показник, якщо ваш скрейпер справляється з проміжними перевірками.
Проблема автоматизації в тому, що навіть із чистим мобільним IP свіжостворена сесія скрипта без історії кукі часто отримує Score нижче 0.3.
Спроби маніпулювати Score програмно — невдячна й дорога справа. Сервіс розпізнавання 2Captcha вирішує цю проблему простіше: він не обманює алгоритми на льоту, а спирається на попереднє профілювання своїх реальних працівників.

Всередині системи кожному працівнику періодично видається тестова капча для виміру його особистого Trust Score. Ці бали записуються в базу даних. Коли ваш скрипт надсилає API-запит з вимогою токена на 0.9, система 2Captcha спрямовує задачу виключно тим працівникам, чий поточний Google-профіль утримує бал 0.9.
Тут криється найпоширеніше хибне уявлення серед розробників скрейперів. Здається логічним: якщо ваш скрипт працює через мобільні проксі, потрібно передати ті самі проксі в API 2Captcha, щоб працівник розв'язував капчу з тієї ж IP-адреси.
Офіційний факт: 2Captcha не підтримує передачу користувацьких проксі для reCAPTCHA V3 та Enterprise V3. API використовує виключно тип задачі RecaptchaV3TaskProxyless.
Чому так? Досвід сервісу показує: використання сторонніх проксі-серверів при розв'язанні v3 різко знижує відсоток успіху. Працівник відкриває цільовий сайт зі своєї реальної IP-адреси та зі своєю природною, накопиченою історією браузера — саме це й дає високий Score. Згенерований токен повертається вашому скрипту через API. Важливо розуміти: IP-адреса клієнта при надсиланні фінальної форми на сайті не повинна збігатися з IP-адресою працівника, що отримав токен.
Для запиту розв'язання необхідно надіслати POST-запит до методу createTask API v2. Ключові параметри в JSON:
RecaptchaV3TaskProxylessdata-sitekey або перехопити в мережевих запитах0.3, 0.7 та 0.9action: 'login'). Якщо він є на сайті, його потрібно передатиgoogle.com, але в деяких регіонах використовується recaptcha.netЩойно API поверне готовий токен (довгий рядок виду 03ADUVZwB7...), вашому скрипту залишиться вставити його в приховане поле g-recaptcha-response або передати в callback-функцію сайту, наприклад window.verifyRecaptcha(token).
Успішне отримання токена з API — лише половина справи. Потрібно ще правильно «згодувати» його сайту. Однак простої заміни значення в прихованому полі часто недостатньо.

У більшості випадків потрібно знайти приховане поле з ID g-recaptcha-response та вставити токен, виконавши JavaScript у контексті сторінки (наприклад, через page.evaluate()). Але сайти часто вимагають ще й виклику callback-функції, що валідує дані та надсилає форму далі. Завжди перевіряйте вихідний код кнопки надсилання, щоб зрозуміти, який саме скрипт очікує ваш токен.
При написанні скрейперів на Python багато хто пропускає критичну деталь: «голий» headless-браузер виявляється миттєво. Якщо ви використовуєте стандартний Playwright, алгоритми безпеки розпізнають автоматизацію ще до надсилання задачі в API 2Captcha. Обов'язково використовуйте пакети маскування, такі як playwright-stealth. Вони приховують маркери автоматизованої поведінки (наприклад, прибирають прапор navigator.webdriver), роблячи ваш браузер невідрізнимим від звичайного Chrome користувача. Без такої підготовки навіть ідеально розв'язану капчу від реального працівника може відхилити параноїдальний сайт, бо ваш власний початковий відбиток браузера вже був скомпрометований.
Важливо розуміти: великі сайти рідко захищені лише однією капчею. Бал від Google часто передається далі — в серйозні WAF-системи (Web Application Firewall) на кшталт Akamai або Imperva. Вони агрегують усі дані воєдино.
Це означає, що сервер не просто перевіряє токен від 2Captcha, а зіставляє його з вашими мережевими відбитками (TLS-handshakes, TCP/IP-параметри). Якщо у вашого скрейпера «брудний» мережевий слід, WAF відхилить запит ще до перевірки капчі. У такій ситуації генерувати токени безглуздо: корінь проблеми глибше, на рівні мережевого підключення.
Окрім стандартної reCAPTCHA V3, деякі платформи використовують просунуту корпоративну версію — reCAPTCHA Enterprise. Вона аналізує шахрайство значно суворіше.
Розпізнати її легко: замість стандартного api.js на сайті завантажується скрипт enterprise.js, а в коді з'являються виклики grecaptcha.enterprise.execute.
Для розв'язання цього типу капчі використовується той самий тип задачі RecaptchaV3TaskProxyless, але в запит потрібно додати булевий параметр "isEnterprise": true. Враховуйте тайминги: звичайна v3 розв'язується працівниками в середньому за ~5 секунд, а Enterprise-версія — приблизно ~13 секунд. Це потрібно закласти в таймаути ваших скриптів.
Не піддавайтесь спокусі завжди запитувати максимальний minScore: 0.9, якщо ви не впевнені, що сайту дійсно потрібен саме такий бал. Правильне налаштування збереже бюджет.
Ціни 2Captcha на v3 залежать від запитаного бала:
minScore <= 0.3 коштують $1.45 за 1 000 розв'язаньminScore > 0.3 (тобто 0.7 або 0.9) коштують $2.99 за 1 000 розв'язаньНайкраща практика з офіційної документації: На етапі тестування та налагодження скрейпера завжди починайте з мінімально допустимого бала 0.3. Підвищуйте вимоги до 0.7 або 0.9, лише якщо цільовий ресурс починає відхиляти понад 50% надісланих токенів.
Багато хто звик розв'язувати прості графічні капчі за допомогою власних скриптів або відкритих OCR-моделей. Для v3 цей підхід абсолютно не працює. Ваша локальна нейромережа фізично нездатна згенерувати токен g-recaptcha-response, бо він криптографічно підписується на закритих серверах Google після оцінки живого профілю. Делегування цієї задачі реальним людям через Proxyless-запити — єдиний технічно робочий шлях.
Поєднання якісних мобільних IP та правильної роботи з API 2Captcha через Proxyless-запити дозволяє вибудувати практично невразливу систему збору даних, якій не страшні жодні невидимі перевірки Trust Score.