Skip to content

📦 top-user-agents drop in replacement with zero dependencies. Always mirrors the latest version. Only kept around for the sake of compatibility, instead of this you should be using the more accurate: https://github.com/EIGHTFINITE/top-user-agents-1

License

Notifications You must be signed in to change notification settings

EIGHTFINITE/top-user-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

microlink logo microlink logo

top-user-agents

Last version NPM Status

An always up-to-date list of the top 100 HTTP user-agent strings most used over the Internet.

Highlights

  • Always fresh: Auto-updated weekly from real-world traffic data
  • Battle-tested: Based on +300M monthly requests from microlink.io
  • Flexible: Get all user-agents, or filter by desktop/mobile
  • Zero dependencies: Lightweight and fast
  • TypeScript ready: Includes type definitions

Download: All · Desktop · Mobile

Why top-user-agents?

When performing HTTP requests that need to look like real browser traffic (web scraping, testing, automation), you need accurate and current user-agent strings.

User agent statistics showing browser distribution

Most user-agent lists on the Internet are outdated or unmaintained. This list is different:

  • Collected from real traffic at microlink.io (+300M requests/month)
  • Automatically updated via CI/CD pipeline
  • Covers Chrome, Firefox, Safari, Edge, and more

Install

npm install top-user-agents

Usage

Get a random user-agent

const uniqueRandomArray = require('unique-random-array')
const userAgents = require('top-user-agents')

const randomUserAgent = uniqueRandomArray(userAgents)

console.log(randomUserAgent())
// => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'

Filter by device type

// Desktop browsers only
const desktopAgents = require('top-user-agents/desktop')

// Mobile browsers only
const mobileAgents = require('top-user-agents/mobile')

Use with fetch/HTTP requests

const userAgents = require('top-user-agents')

const response = await fetch('https://example.com', {
  headers: {
    'User-Agent': userAgents[0]
  }
})

About Privacy

The information exposed to the user-agent only relies on coarse details.

In practice, anyone can put whatever they want in the user-agent string, and send it to the web server.

Because that, The user-agent cannot be sufficient condition to identify or reproduce the original request.

Related

  • https-tls – Setup TLS fingerprints to match user-agent strings.
  • @microlink/ua – Redis primitives for tracking and ranking user-agents.

License

top-user-agents © microlink.io, released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.

microlink.io · GitHub microlink.io · X @microlinkhq

About

📦 top-user-agents drop in replacement with zero dependencies. Always mirrors the latest version. Only kept around for the sake of compatibility, instead of this you should be using the more accurate: https://github.com/EIGHTFINITE/top-user-agents-1

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •