User Agents of Visitors

This page demonstrates showing query result from database.

Below list of user agents are collected from the visitor's HTTP header.

stats ready

User AgentCount
curl25323
MacOS9456
Windows8852
Bots7052
Other4339
Linux1749
Android864
iPhone422
ChromeOS49
iPad33
Links6
Lynx2
Bot AgentCount
CensysInspect3604
PythonRequests1087
InternetMeasurement1065
PaloBot1039
BingBot177
NetcraftSurveyAgent53
Nmap11
GoogleBot7
FacebookBot3
YandexBot3
TelegramBot2
DuckDuckGoBot1
Other AgentCount
Go-http-client/1.11050
python-httpx/0.28.1986
iaudit/0.1559
Mozilla/5.0318
Go-http-client/2.0218
Mozilla/5.0 (l9scan/2.0.934323e2631313e2430313e2237313; +https://leakix.net)130
Mozilla/5.0 (compatible)109
Mozilla/5.0 zgrab/0.x108
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)98
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)89
'Mozilla/5.0 (compatible; GenomeCrawlerd/1.0; +https://www.nokia.com/networks/ip-networks/deepfield/genome/)'81
'Cloud mapping experiment. Contact research@pdrlabs.net'63
fasthttp44
Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)37
Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)33
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)32
'Mozilla/5.0 (compatible; GenomeCrawlerd/1.0; +https://www.nokia.com/genomecrawler)'18
Mozilla/5.0 (compatible; wpbot/1.4; +https://forms.gle/ajBaxygz9jSR8p8G9)18
Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)17
Python/3.10 aiohttp/3.13.316
Apache/2.4.34 (Ubuntu) OpenSSL/1.1.1 (internal dummy connection)14
Mozilla/5.0 (compatible; ModatScanner/1.0; +https://modat.io/)14
Mozilla/5.0 (compatible; SBIntuitionsBot/0.1; +https://www.sbintuitions.co.jp/bot/)12
axios/1.7.710
Mozilla/5.0 (compatible; NetScope-DomainScanner/1.0; security research scanner)9
Mozilla/5.0 (compatible; wpbot/1.1; +https://forms.gle/ajBaxygz9jSR8p8G9)8
python-httpx/0.27.28
ct‑git‑scanner/0.48
RootEvidence/1.07
Mozilla/5.0 (compatible; wpbot/1.2; +https://forms.gle/ajBaxygz9jSR8p8G9)6
Mozilla/5.0 (compatible; wpbot/1.3; +https://forms.gle/ajBaxygz9jSR8p8G9)6
Mozilla/5.0 (compatible; SecurityScanner/1.0)6
req/v3 (https://github.com/imroc/req)5
Scrapy/2.13.4 (+https://scrapy.org)5
Mozilla/5.0 researchscan.comsys.rwth-aachen.de4
Gulper Web Bot 0.2.4 (www.ecsl.cs.sunysb.edu/~maxim/cgi-bin/Link/GulperBot)4
httpx - Open-source project (github.com/Cloudsek-Engineering/fdf-httpx)4
ShellBot 2.04
RecordedFuture Global Inventory Crawler4
Mozilla/5.0 (X11; OpenBSD amd64; rv:28.0) Gecko/20100101 Firefox/28.03
BaiduSpider3
Mozilla/5.0 (X11; U; FreeBSD i386; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.207.0 Safari/532.03
Mozilla/5.0 (X11; OpenBSD amd64; rv:30.0) Gecko/20100101 Firefox/30.03
firefox3
Apache-HttpClient/4.5.6 (Java/1.8.0_422)3
Mozilla/5.0 (compatible; MistralBot/1.0; +https://mistral.ai)3
Mozilla/5.0 (OS/2; Warp 4.5; rv:10.0.12) Gecko/20100101 Firefox/10.0.122
python-httpx/0.25.12
Python/3.11 aiohttp/3.9.12
MOT-L7v/08.B7.5DR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.02
Mozilla/5.0 (X11; U; FreeBSD i386; de-CH; rv:1.9.2.8) Gecko/20100729 Firefox/3.6.82
WDG_Validator/1.6.22
Apache-HttpClient/4.5.6 (Java/1.8.0_412)2
BlackBerry9700/5.0.0.351 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/1232
SonyEricssonS500i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.12
SonyEricssonT100/R1012
facebookscraper/1.0( http://www.facebook.com/sharescraper_help.php)2
Opera/9.80 (X11; FreeBSD 8.1-RELEASE i386; Edition Next) Presto/2.12.388 Version/12.102
Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.1.0.2342 Mobile Safari/537.10+2
grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org)2
axios/1.7.22
BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/1052
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/a141e2f warc/v0.8.622
WanScannerBot/1.02
Scrapy/2.11.2 (+https://scrapy.org)2
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/93f6658 warc/v0.8.732
Scrapy/2.12.0 (+https://scrapy.org)2
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/107.0 Safari/537.362
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/113.0 Safari/537.362
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/123.0 Safari/537.362
Python-urllib/3.102
Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)2
Mozilla/5.0 (compatible; Bytespider; spider-feedback@bytedance.com)2
Mozilla/5.0 (compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)2
Mozilla/5.0 (compatible; YouBot/1.0; +https://about.you.com/youbot/)2
Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)2
Mozilla/5.0 (compatible; CohereBot/1.0; +https://cohere.com/bot)2
Mozilla/5.0 (compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)2
Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.361
RepoLookoutBot/v1.1.0-260-g718bf6a (abuse reports to abuse@repo-lookout.org)1
Python/3.11 aiohttp/3.8.51
w3m/0.5.11
node-fetch/1.0 (+https://github.com/bitinn/node-fetch)1
Python/3.11 aiohttp/3.8.61
Python/3.9 aiohttp/3.9.11
Python/3.10 aiohttp/3.9.01
nook browser/1.01
FeedFetcher-Google; ( http://www.google.com/feedfetcher.html)1
Mozilla/5.0 (OS/2; U; OS/2; en-US) AppleWebKit/533.3 (KHTML, like Gecko) Arora/0.11.0 Safari/533.31
BlackBerry8320/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/1001
Mozilla/5.0 (webOS/1.3; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Desktop/1.01
Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20100101 Firefox/5.01
Mozilla/5.0 (compatible; Konqueror/3.5; NetBSD 4.0_RC3; X11) KHTML/3.5.7 (like Gecko)1
okhttp/3.14.91
Mozilla/5.0 (BlackBerry; U; BlackBerry 9930; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.267 Mobile Safari/534.11+1
WebCopier v4.61
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/ae4878c warc/v0.8.391
Mozilla/5.0 (X11; U; FreeBSD x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.161
cc1
Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.16823/1428; U; en) Presto/2.2.01
Mozilla/3.0 (compatible; NetPositive/2.1.1; BeOS)1
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/6417bfd warc/v0.8.431
BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/5.0.3.3 UP.Link/5.1.2.12 (Google WAP Proxy/1.0)1
Mozilla/5.0 (compatible; Domains Project/1.3.7; +https://domainsproject.org)1
SEC-SGHX210/1.0 UP.Link/6.3.1.13.01
Mozilla/5.0 (SymbianOS/9.1; U; de) AppleWebKit/413 (KHTML, like Gecko) Safari/4131
Mozilla/5.0 (X11; U; OpenBSD i386; en-US) AppleWebKit/533.3 (KHTML, like Gecko) Chrome/5.0.359.0 Safari/533.31
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/6d48952 warc/v0.8.531
Python-urllib/2.51
libwww-perl/5.8201
Mozilla/3.01Gold (Win95; I)1
SEC-SGHX820/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.11
INTWATCH1
Mozilla/5.0 (OS/2; Warp 4.5; rv:10.0.12) Gecko/20130108 Firefox/10.0.12 SeaMonkey/2.7.21
POLARIS/6.01 (BREW 3.1.5; U; en-us; LG; LX265; POLARIS/6.01/WAP) MMP/2.0 profile/MIDP-2.1 Configuration/CLDC-1.11
Opera/9.60 (J2ME/MIDP; Opera Mini/4.1.11320/608; U; en) Presto/2.2.01
SEC-SGHE900/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1378; nl; U; ssr)1
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/76f39f7 warc/v0.8.531
SonyEricssonT68/R201A1
DoCoMo/2.0 SH901iC(c100;TB;W24H12)1
python-httpx/0.28.01
Mozilla/5.0 (X11; U; SunOS sun4m; en-US; rv:1.4b) Gecko/20030517 Mozilla Firebird/0.61
Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.361
Mozilla/5.0 (compatible; Exabot/3.0; http://www.exabot.com/go/robot)1
Go 1.1 package http1
Mozilla/4.0 (PDA; PalmOS/sony/model prmr/Revision:1.1.54 (en)) NetFront/3.01
Fuzz Faster U Fool v2.1.0-dev1
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/e752ac5 warc/v0.8.601
SonyEricssonW810i/R4EA Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.01
Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es701
Avant Browser/1.2.789rel1 (http://www.avantbrowser.com)1
EmailWolf 1.001
Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)1
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/3fae3c8 warc/v0.8.681
Fuzz Faster U Fool v2.1.01
Mozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/a8e8486 warc/v0.8.731
msnbot/1.1 ( http://search.msn.com/msnbot.htm)1
Offline Explorer/2.51
Vodafone/1.0/V802SE/SEJ001 Browser/SEMC-Browser/4.11
Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)1
msnbot-media/1.1 ( http://search.msn.com/msnbot.htm)1
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/103.0 Safari/537.361
Mozilla/5.0 (X11; NetBSD amd64; rv:30.0) Gecko/20100101 Firefox/30.01
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/108.0 Safari/537.361
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Edge/117.0 Safari/537.361
Mozilla/5.0 (Mac OS X 13_2) AppleWebKit/537.36 (KHTML, like Gecko) Safari/125.0 Safari/537.361
Python/3.11 aiohttp/3.13.31
Mozilla/5.0 (compatible; Detektor/1.0; +https://github.com/detektor)1
Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot)1
Twitterbot/1.01
gFnwtJmHhv7B1
lf0nC1T4N1
eGDPgDGmXo1
Mozilla/5.0 (compatible; Googlebot/2.1; +https://www.google.com/bot.html)1
Telegram/32487 CFNetwork/3860.300.31 Darwin/25.2.01
Moz111a/5.0 (1Pad; CPU 0S 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.11
Mozilla/5.0 (compatible; zern.io/1.0; +https://zern.io/scan)1
Mozilla/5.0 (PLAYSTATION 3; 1.10)1
subjs1
InternalSiteScanner/1.01
Mozilla/5.0 (compatible; Google-CloudVertexBot; +https://cloud.google.com/vertex-ai-bot)1
Mozilla/5.0 (compatible; Applebot/0.1; +http://www.apple.com/go/applebot)1
Mozilla/5.0 (compatible; GoogleOther; +https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)1
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ChatGPT-User/1.0; +https://openai.com/bot)1
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-SearchBot/1.0; +searchbot@anthropic.com)1
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)1
Mozilla/5.0 (compatible; Meta-ExternalAgent/1.1; +https://developers.facebook.com/docs/sharing/webmasters/crawler)1
W3C_Validator/1.305.2.12 libwww-perl/5.641
pathscan/0.1.01
P3P Validator1
Source Code of user-agents.tsx
(import statements omitted for simplicity, click to expand)
import { proxy } from '../../../db/proxy.js'
import {
  getOtherUserAgents,
  getUAStatsProgress,
} from '../../../db/user-agent.js'
import SourceCode from '../components/source-code.js'
import Style from '../components/style.js'
import { o } from '../jsx/jsx.js'
function agentTable(title: string, rows: [name: string, count: number][]) {
  if (rows.length === 0) return
  rows.sort((a, b) => b[1] - a[1])
  return (
    <table>
      <thead>
        <tr>
          <th>{title}</th>
          <th>Count</th>
        </tr>
      </thead>
      <tbody>
        {[
          rows.map(([name, count]) => (
            <tr>
              <td>{name}</td>
              <td>{count}</td>
            </tr>
          )),
        ]}
      </tbody>
    </table>
  )
}

function Tables() {
  return (
    <>
      <p>{getUAStatsProgress()}</p>
      {agentTable(
        'User Agent',
        proxy.ua_type.map(row => [row.name, row.count]),
      )}
      {agentTable(
        'Bot Agent',
        proxy.ua_bot.map(row => [row.name, row.count]),
      )}
      {agentTable(
        'Other Agent',
        getOtherUserAgents().map(row => [row.user_agent, row.count]),
      )}
    </>
  )
}

let UserAgents = (
  <div id="user-agents">
    <h1>User Agents of Visitors</h1>
    {Style(/* css */ `
#user-agents table {
  border-collapse: collapse;
  margin: 1rem;
  display: inline;
}
#user-agents th,
#user-agents td {
  border: 1px solid var(--text-color, black);
  padding: 0.25rem 0.5rem;
  max-width: calc(90vw - 8rem);
  word-break: break-word;
}
`)}
    <p>This page demonstrates showing query result from database.</p>
    <p>
      Below list of user agents are collected from the visitor's HTTP header.
    </p>
    <Tables />
    <SourceCode page="user-agents.tsx" />
  </div>
)

export default UserAgents