Solve CAPTCHA Challenges Automatically for Web Scraping

Handle Google reCAPTCHA, hCaptcha, and Cloudflare Turnstile challenges while scraping with A-Parser. Connect CAPTCHA-solving services to built-in or custom JS scrapers.

For Any Website

Built-In Cloudflare Bypass in Net::HTTP

A-Parser's built-in Net::HTTP scraper collects data from websites and supports automatic bypass of Cloudflare challenges using Chrome.

JA3, JA3N, JA4, JA4H, and Akamai Fingerprints

Some websites analyze connection and request parameters to distinguish scrapers from regular browsers. A-Parser's built-in HTTP client reproduces the TLS and HTTP/2 fingerprints of Chrome for Windows and Android.

  • JA3, JA3N, and JA4. Reflect TLS client parameters during connection establishment.
  • JA4H. Describes the HTTP request: its method, protocol version, and headers.
  • Akamai. Reflects HTTP/2 connection settings and pseudo-header order.

This makes A-Parser requests look like Chrome requests in terms of connection parameters, helping avoid blocks during data collection.

Net::HTTP Scraper Documentation

How It Works

Choose How to Handle CAPTCHAs

Bypassing CAPTCHA challenges during web scraping: connect a compatible solving service or use an automatic method if your scraper supports it.
Connect a CAPTCHA-Solving Service

Choose a compatible service, enter your key, and save the settings to a preset. Then use it in a built-in or custom JS scraper.

Use Automatic Methods

Cloudflare Turnstile can be solved without a CAPTCHA-solving service: in Auto mode, A-Parser uses a browser. This method is available in scrapers that support Util::Turnstile. Automatic bypass of Yandex SmartCaptcha is also available in Wordstat scrapers.

Utility Scrapers

CAPTCHA-Solving Scrapers

A-Parser includes utility scrapers for different types of CAPTCHAs. Connect them to built-in scrapers that support CAPTCHA handling, or use them in your own JS scrapers. Service compatibility depends on the CAPTCHA type.
Cloudflare Turnstile
Util::Turnstile

Bypass Cloudflare Turnstile using a CAPTCHA-solving service or automatically using a browser.

Google reCAPTCHA v2
Util::ReCaptcha2

Sends Google reCAPTCHA v2 to a solving service and receives a token for the scraper to use.

Google reCAPTCHA v3
Util::ReCaptcha3

Automatically solve Google reCAPTCHA v3 while scraping using CAPTCHA-solving services. The scraper receives a token in response.

hCaptcha
Util::hCaptcha

Solve hCaptcha through a CAPTCHA-solving service: the scraper sends the CAPTCHA data and receives a token.

Image CAPTCHA solving
Util::AntiGate

Solves text-based image CAPTCHAs using AntiGate-compatible services and software.

Image rotation CAPTCHA solving
Util::RotateCaptcha

Gets the image rotation angle from RuCaptcha or 2Captcha. Suitable for custom JS scrapers.

CAPTCHA solving using Yandex Translate
Util::YandexRecognize

Solves simple image CAPTCHAs for free using Yandex Translate, but with low accuracy.

Services and Software

CAPTCHA-Solving Services and Software

Choose an online CAPTCHA solver or a software tool and enter its settings in a preset. Support depends on the CAPTCHA type, the scraper, and the service's capabilities—check the documentation for compatibility.

Online Services

CAPTCHA-solving services. Other AntiGate-compatible services can also be used with Util::AntiGate.

Software

You can also use XEvil and CapMonster to solve CAPTCHAs.

For Custom JS Scrapers

Add CAPTCHA Solving to Your Scraper

Call a utility scraper from your code. For example, for reCAPTCHA v2, you can pass a configured preset, the site key, and the page URL to Util::ReCaptcha2.

Working with CAPTCHAs in JS Scrapers
await this.parser.request(
  'Util::ReCaptcha2',
  this.conf.Util_ReCaptcha2_preset,
  {},
  siteKey + ' ' + endPoint
);

Built-In Scrapers

Which Scrapers Support CAPTCHA Handling

A-Parser's built-in scrapers use different methods to handle website challenges. Depending on the scraper, you can connect a CAPTCHA-solving scraper or use an available automatic bypass method.

Yandex Market

Connect AntiGate to handle CAPTCHAs, or enable Auto-Solve ClickCaptcha to solve click CAPTCHAs automatically without a service.

Majestic

To handle the Turnstile challenge on the verify page, use a Util::Turnstile preset configured with a CAPTCHA-solving service or Auto mode.

General-Purpose Scraper

Net::HTTP retrieves data by URL and can automatically bypass Cloudflare challenges using Chrome.