JA3 Fingerprint
A hash that identifies a client based on how it sets up an encrypted TLS connection. Servers use it to recognise and block automated tools even when IP addresses change.

Full Definition
JA3 is a TLS client fingerprinting method that hashes together values from the TLS ClientHello message: TLS version, cipher suites, extensions, elliptic curves, and elliptic curve point formats. Each HTTP client library — Python requests, Go's net/http, Chrome, Firefox — produces a distinct JA3 hash because they support different cipher suites and extensions in different order. Anti-bot systems maintain databases of known-bad JA3 hashes (associated with scrapers and bots) and block them even when the IP is clean. The solution is to use a TLS library that can impersonate a real browser's TLS ClientHello — like curl-impersonate or browser-based HTTP clients.





