Ruby and Faraday user agents
Ruby applications make HTTP requests through the standard net/http library and popular wrappers like Faraday. These send library-style default user agents — for example a Ruby token from net/http or a Faraday token — that identify server-side Ruby automation rather than a human browser. Defaults are commonly customised.
What this means
Ruby's standard library includes net/http, and many applications use higher-level HTTP clients such as Faraday, which wraps various adapters. By default these send a user agent identifying the library — for instance a Ruby token from net/http or a Faraday product token with a version.
These are server-side clients with no rendering engine. A request carrying one of these tokens is a Ruby program, not a person browsing your site.
How they identify themselves
Look for a Ruby token (from net/http) or a Faraday token where defaults are unchanged. Because Faraday wraps multiple adapters, the exact default can vary by adapter and version, and gem authors frequently set a descriptive custom user agent for their tool.
Match on the library token where present, but lean on behaviour too: no Accept-Language, no Client Hints, no sub-resource fetches, and a steady, non-interactive request pattern all indicate a script.
- net/http: a Ruby default token
- Faraday: a Faraday token (adapter- and version-dependent)
- Often replaced with a custom application user agent
Allow, rate-limit, or block
For your own Ruby integrations, set a descriptive custom user agent and authenticate where possible so the traffic is clearly first-party. For unwanted automation reusing raw defaults, prefer rate-limiting by token plus behaviour over blocking a single string.
The user agent is easily changed, so it is one signal among several, never an access-control mechanism on its own.
How it appears in analytics and logs
A user agent containing a Ruby or Faraday token indicates a Ruby program making HTTP requests — automation, not a human visit. Many Ruby apps set a custom application user agent, so absence of these tokens does not rule out a Ruby client.
Diagnostic use case
Identify server-to-server traffic from Ruby applications and gems, and distinguish legitimate Ruby integrations from scrapers reusing default tokens.
What WebmasterID can help detect
WebmasterID classifies Ruby and Faraday traffic as scripted automation, so Ruby API integrations and gem-based scrapers appear in bot-intelligence rather than inflating human page-view counts.
Common mistakes
- Assuming Faraday always sends one fixed default — it depends on the adapter.
- Counting Ruby net/http or Faraday requests as human visits.
- Blocking by exact token only, which scrapers change trivially.
Privacy and accuracy notes
These libraries are identified from the user-agent token alone — a script, not a person. WebmasterID records the requests as automation, separate from human analytics.
Related pages
- node-fetch and axios user agents
node-fetch and axios are widely used HTTP client libraries for Node.js. By default they send library-style user-agent tokens (node-fetch sets one automatically; axios may send a default or none depending on version and environment). Requests from these libraries are scripts or servers, not human browsers.
- Java and OkHttp user agents
JVM HTTP clients send recognisable default user agents: Java's built-in URL connection uses a Java/version token, and the widely used OkHttp library uses an okhttp/version token. Both mark scripted or app traffic from the Java ecosystem, including many Android apps. This page covers the two patterns.
- API client user agents (Postman, etc.)
Developers exercise APIs with tools like Postman, Insomnia, and HTTPie, each of which sends a recognisable default user agent (for example a PostmanRuntime token). Seeing these means someone is testing or scripting against your API, not browsing your pages. This page covers the patterns and how to read them.
- Bot intelligence
Categorise Ruby HTTP clients separately from human browsers.
Sources and verification notes
- Ruby — net/http standard library documentation
- Faraday — project siteDefault UA depends on the configured adapter and version.
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.