Skip to content
Glossary

CAPTCHA

A challenge intended to separate humans from automation, and usually a symptom rather than the problem itself.

A CAPTCHA is a test presented when a system is uncertain whether a visitor is human. Modern implementations mostly score behaviour silently and only show a visible puzzle when the score is poor.

#Treat it as a symptom

By the time a challenge appears, something earlier already looked wrong: the network, the TLS fingerprint, the request rate, or the browser fingerprint. Solving the challenge without addressing the cause means solving one on every request, which is slow and expensive.

#The order that actually works

  1. Find out which signal is triggering suspicion.
  2. Fix that — often the client stack rather than the proxy.
  3. Reduce request rate and make timing less mechanical.
  4. Only then consider solving services, and only for the residual cases.

#Note on legality

Automated circumvention of access controls is restricted in some jurisdictions and prohibited by many sites’ terms. Whether you may do it is a separate question from whether you can.

#What triggered it, and in what order to look

A challenge is the output of a decision, so treat it as a symptom. Work through the causes in order of how cheaply you can test them.

Check How to test it
Address class Repeat from a different category of address
TLS handshake Repeat with a real browser on the same connection
Header set Compare your headers with a browser’s, in order
Rate Slow down and reduce concurrency
Missing cookies Fetch the entry page first, then the target

If a real browser on your own connection is also challenged, the address is not the problem and no proxy will fix it.

#Why solving is the wrong first move

Paying to solve challenges treats the output rather than the cause. It costs per request, it fails at scale, and it leaves the underlying signal untouched, so the challenge rate usually rises. Fixing the signal removes the challenge instead of paying for it repeatedly.

There is also a boundary worth naming. Systems that solve challenges on your behalf sit in a contested legal and contractual area. Read the target’s terms before adopting one, and treat the question as a real one rather than a formality.

Frequently asked questions

Why am I getting CAPTCHAs on every request?
Something about the connection is being scored as automated. Address class, TLS handshake, header set, request rate and missing cookies are the usual causes. Test the cheapest first by repeating the request from a different address, then with a real browser.
Will better proxies remove the CAPTCHAs?
Only if the address was the trigger. Confirm it by loading the same page in a real browser on your own connection. If that is challenged too, the address is not the cause and changing it will not help.
Is using a CAPTCHA-solving service legal?
It depends on the jurisdiction and on the target's terms, and it is genuinely contested rather than settled. Read the terms of the site you are accessing and take the question seriously before adopting one.

Sources

  1. RFC 9110: HTTP Semantics, the 403 status code

Related terms