Go-http-client user agent
Programs built with Go's standard net/http client send a default user agent of the form Go-http-client/x.y. Seeing it means a Go application made the request — common for backend services, CLIs, and integrations. It is honest automation, not a browser, and the default can be overridden. This page covers the pattern.
The Go-http-client default token
Go's standard library net/http client, when used without a custom User-Agent header, sends a default of the form Go-http-client/x.y, where x.y reflects the HTTP version. This honest default names the client and makes no browser claim.
Because Go is widely used for backend services, command-line tools, and integrations, this token appears often in server logs as routine machine-to-machine traffic.
- Default form: Go-http-client/x.y
- Comes from Go's standard net/http client
- Names the client; makes no browser claim
Common and overridable
Go-http-client traffic is normal: backend integrations, internal services, and CLIs frequently use it. The token alone implies nothing about intent — assess by request rate, paths, and rule compliance rather than the string.
Like any client, a Go program can set a custom user agent, so the default token can be absent even for Go traffic, and its presence is not a sign of misbehaviour by itself.
How it appears in analytics and logs
A user agent of the form Go-http-client/x.y is the Go standard library's default — a Go program, not a browser. Its acceptability depends on behaviour, not the string.
Diagnostic use case
Recognise Go programs by the Go-http-client default token so backend and integration traffic is counted as automation, not browser visits.
What WebmasterID can help detect
WebmasterID recognises the Go-http-client default token server-side and classifies it as automation, separate from human analytics, with unknown clients kept in an honest bucket.
Common mistakes
- Treating every Go-http-client hit as hostile.
- Counting Go backend requests as human browser visits.
- Assuming Go traffic always keeps the default token.
Privacy and accuracy notes
The Go-http-client user agent names a standard library, not a person. WebmasterID records such requests as bot events, never as human profiles.
Related pages
- python-requests user agent
The popular Python requests library sends a default user agent in the form python-requests/x.y. Seeing it means a Python script made the request — for an integration, a scraper, a webhook, or your own code. It is honest automation, not a browser, though the default can be overridden. This page covers the pattern.
- curl, wget and script user agents
Command-line and library HTTP clients send a default user agent that names the tool: curl/x.y, Wget, python-requests, Go-http-client, and similar. These are scripts, not browsers, and seeing them is normal. This page explains the patterns and how to treat them without over- or under-reacting.
- Bot vs human traffic
Separate scripted and library clients from real browser visits.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.