Skip to content
Get Started
G2G2
4.7/5
Excellent
Trustpilot

What Is a User Agent?

A user agent is the software that makes a web request, and the User-Agent header is the line of text it sends to name itself: browser, version and operating system. Websites use it to serve the right page and to judge whether a request comes from a real browser.

  • Session Control
  • High Speed
  • Privacy First
Best fit for User agentRotating Residential Proxiesfrom$0.63/GB
how it works

How the user agent works

Every HTTP request can carry a User-Agent header, defined in RFC 9110. For example, desktop Chrome on Windows sends a string like this one, with the version number changing at every release: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36. The Mozilla/5.0 and like Gecko parts are historical compatibility tokens; the useful facts are the operating system and the browser version.

Browsers now send less detail than they used to. Chrome reports minor versions as zeros and moves the specifics into User-Agent Client Hints, headers such as Sec-CH-UA and Sec-CH-UA-Platform, which sites can request when they need more.

Scripts and libraries send their own defaults: curl sends curl/ plus its version and Python requests sends python-requests/ plus its version. Sites recognise both at once.

why it matters

Why the user agent matters for proxy users

A proxy changes your IP, not your headers. If the IP looks like a home connection but the User-Agent says python-requests, or claims Chrome on Windows while the client hints say Android, the request stands out. Sites compare the user agent with the TLS handshake, the header order and the browser fingerprint, so a consistent, current string matters more than a rare one.

For public data collection at scale, CleanProxies rotating residential proxies can give each request a new residential IP from a 50M+ pool, as low as $0.63 per GB.

User agent: what it means for you
  • Use a real browser string, copied from a current browser rather than from this page, and update it as browsers release new versions; outdated versions are a common reason for challenges.
  • Keep it consistent with the rest of the request: platform, client hints, Accept-Language and the exit IP location.
  • Check what you actually send with the User-Agent checker.
Set the User-Agent in Python requestsPython
import requests

# Copy the exact string from a current browser
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
    "Accept-Language": "en-US,en;q=0.9",
}
proxies = {"https": "http://USER:PASS@PROXY_HOST:PORT"}

r = requests.get("https://example.com", headers=headers, proxies=proxies, timeout=30)
print(r.status_code)

Rotating residential proxies from $0.63/GB

The CleanProxies proxy that fits best here, with a $4.99 trial to test it first.

Guides from the blog

Setup guides and best practices from the CleanProxies blog.

Get the latest insightsAll Blogs

Related terms

Terms that come up alongside User agent.

All glossary terms

User agent FAQs

Straight answers about User agent.

It is the User-Agent header your browser sends with every request, naming the browser, its version and your operating system. A user agent checker page shows the exact string.

Got more questions?All FAQs