HTTP client and library user agents
cURL, Wget, Postman, Python Requests, Axios, OkHttp, Guzzle, Go, Java and the other clients that show up in server logs.
84 user agents
0 matching user agents ·
| User agent string | Browser | Platform | Device | Actions |
|---|
Not every request comes from a browser
A significant share of production traffic is machine-to-machine: API calls, webhooks, CI pipelines, cron jobs and scraping. These clients send terse, honest user agents that follow a much simpler grammar than a browser's.
curl/8.11.1
python-requests/2.32.3
PostmanRuntime/7.43.0
Go-http-client/2.0
okhttp/4.12.0
axios/1.7.9
The format is almost always product/version with nothing else, which makes these trivially parseable — and also trivially forgeable, so treat them as a hint about intent rather than a control.
Setting a useful user agent
If you operate a client that makes requests at volume, sending a descriptive user agent is basic courtesy and often the difference between being rate-limited and being left alone. A good one names the application, its version and a contact route:
User-Agent: AcmeSync/2.4 (+https://acme.example/bot; ops@acme.example)
Some APIs require it. GitHub's REST API rejects requests without a user agent entirely, and several CDNs apply stricter rate limits to default library strings than to identified ones.
What library strings tell you about your traffic
The client mix in your logs is a useful signal on its own. A surge in python-requests with no Referer usually means scraping. Steady Go-http-client traffic is often a monitoring service or a partner integration. Dalvik means a native Android app is calling you rather than a browser, and CFNetwork with a Darwin token means a native iOS app.
Frequently asked questions
What is the default cURL user agent?
curl/<version> and nothing more — for example curl/8.11.1. Override it with -A or -H "User-Agent: ...". Wget follows the same pattern with Wget/1.24.5.
Why do some APIs reject requests with no user agent?
Mostly abuse control. A missing user agent is a strong signal of an unattended script, and having a name attached gives the operator someone to contact before they resort to blocking. GitHub is the best-known example — its REST API returns a 403 for requests without the header.
What does Dalvik in a user agent mean?
An Android app making an HTTP request outside a WebView — Dalvik is the Android runtime. You will see it in the form Dalvik/2.1.0 (Linux; U; Android 14; SM-S928B Build/...), and unlike Chrome's reduced string it still carries the real Android version and device model.
Other categories
Desktop & Laptop
Chrome, Firefox, Safari, Edge and Opera on Windows, macOS, Linux and Chrome OS.
8,989 user agentsMobile Phones
Android and iOS phones from Samsung, Apple, Google, Xiaomi, OPPO, vivo and more.
15,434 user agentsTablets
iPad, Galaxy Tab, Fire tablets, Lenovo Tab and Windows 2-in-1 devices.
2,680 user agentsSmart TVs & Streaming
Samsung Tizen, LG webOS, Android TV, Roku, Fire TV, Apple TV and Chromecast.
86 user agentsGame Consoles
PlayStation 5 and 4, Xbox Series X|S, Nintendo Switch and Steam Deck.
20 user agentsWearables & XR
Apple Watch, Wear OS smartwatches, Meta Quest, PICO and Apple Vision Pro.
13 user agents