Skip to content

Random User Agent Generator library for Python, JS, TS, Rust, Go. Generate realistic browser user agents for web scraping, Selenium, Puppeteer automation. Chrome, Firefox, Safari on Android, iOS, Windows, Linux.

License

Notifications You must be signed in to change notification settings

Aero25x/random-user-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Random User Agent Generator - Python, JavaScript, Rust, TypeScript, Go

Join our Telegram GitHub Twitter YouTube Reddit GitHub Stars License: MIT

Generate realistic random user agents for web scraping, browser automation, and testing. Supports Chrome, Firefox, Safari on Android, iOS, Windows, macOS, Linux, and Ubuntu devices.

🌐 Try Online Generator | πŸ“š Documentation | 🀝 Contributing

πŸš€ Why Random User Agent Generator?

Random User Agent Generator is a lightweight, cross-platform library for generating authentic browser user agent strings. Perfect for:

  • πŸ•·οΈ Web Scraping - Rotate user agents to avoid detection and blocking
  • πŸ€– Browser Automation - Selenium, Puppeteer, Playwright testing with realistic agents
  • πŸ§ͺ API Testing - Test endpoints with different client configurations
  • πŸ”’ Privacy Tools - Mask browser fingerprints and enhance anonymity
  • πŸ“Š Analytics Testing - Simulate traffic from various devices and browsers

✨ Key Features

βœ… Multi-language support - Python, JavaScript, TypeScript, Rust, Go
βœ… Realistic user agents - Based on real browser version distributions
βœ… Device targeting - Android, iOS, Windows, macOS, Linux, Ubuntu
βœ… Browser selection - Chrome, Firefox, Safari, Edge support
βœ… Zero dependencies - Lightweight and fast
βœ… MIT License - Free for commercial use
βœ… Actively maintained - Regular updates with latest browser versions

πŸ“¦ Installation

Python (pip)

git clonse https://github.com/Aero25x/random-user-agents.git
from random_user_agents import generate_random_user_agent

# Generate random user agent
user_agent = generate_random_user_agent()
print(user_agent)

# Specific device and browser
android_chrome = generate_random_user_agent(device_type='android', browser_type='chrome')
ios_safari = generate_random_user_agent(device_type='ios', browser_type='safari')

JavaScript / Node.js (npm)

git clonse https://github.com/Aero25x/random-user-agents.git
const { generateRandomUserAgent } = require('random-user-agents');

// Random user agent
console.log(generateRandomUserAgent());

// Chrome on Windows
console.log(generateRandomUserAgent('windows', 'chrome'));

// Firefox on Linux
console.log(generateRandomUserAgent('linux', 'firefox'));

TypeScript

git clonse https://github.com/Aero25x/random-user-agents.git
import { generateRandomUserAgent } from 'random-user-agents';

const userAgent: string = generateRandomUserAgent('android', 'chrome');
console.log(userAgent);

Rust (Cargo)

git clonse https://github.com/Aero25x/random-user-agents.git
use random_user_agents::generate_random_user_agent;

fn main() {
    let user_agent = generate_random_user_agent(None, None);
    println!("{}", user_agent);
    
    // Android Chrome
    let android_ua = generate_random_user_agent(Some("android"), Some("chrome"));
    println!("{}", android_ua);
}

Go (Golang)

go get github.com/Aero25x/random-user-agents
package main

import (
    "fmt"
    rua "github.com/Aero25x/random-user-agents"
)

func main() {
    // Random user agent
    userAgent := rua.GenerateRandomUserAgent(nil, nil, nil, nil)
    fmt.Println(userAgent)
    
    // Android Chrome with version range
    deviceType := "android"
    browserType := "chrome"
    chromeVersions := []int{120, 130}
    
    ua := rua.GenerateRandomUserAgent(&deviceType, &browserType, chromeVersions, nil)
    fmt.Println(ua)
}

Manual Installation (Git Clone)

git clone https://github.com/Aero25x/random-user-agents.git
cd random-user-agents

πŸ’‘ Usage Examples

Web Scraping with Python (Requests)

import requests
from random_user_agents import generate_random_user_agent

headers = {
    'User-Agent': generate_random_user_agent()
}

response = requests.get('https://example.com', headers=headers)
print(response.status_code)

Selenium Browser Automation

from selenium import webdriver
from random_user_agents import generate_random_user_agent

options = webdriver.ChromeOptions()
options.add_argument(f'user-agent={generate_random_user_agent("windows", "chrome")}')

driver = webdriver.Chrome(options=options)
driver.get('https://example.com')

Puppeteer with JavaScript

const puppeteer = require('puppeteer');
const { generateRandomUserAgent } = require('random-user-agents');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    
    await page.setUserAgent(generateRandomUserAgent('windows', 'chrome'));
    await page.goto('https://example.com');
    
    await browser.close();
})();

Axios HTTP Client

const axios = require('axios');
const { generateRandomUserAgent } = require('random-user-agents');

axios.get('https://api.example.com', {
    headers: {
        'User-Agent': generateRandomUserAgent()
    }
}).then(response => {
    console.log(response.data);
});

Fetch API (Browser/Node.js)

fetch('https://api.example.com', {
    headers: {
        'User-Agent': generateRandomUserAgent('windows', 'firefox')
    }
})
.then(response => response.json())
.then(data => console.log(data));

🎯 Supported Configurations

Device Types

  • android - Android smartphones and tablets
  • ios - iPhone and iPad devices
  • windows - Windows desktop (7, 10, 11)
  • macos - macOS desktop
  • linux - Linux distributions
  • ubuntu - Ubuntu Linux

Browser Types

  • chrome - Google Chrome (80-130)
  • firefox - Mozilla Firefox (90-125)
  • safari - Apple Safari (iOS and macOS)
  • edge - Microsoft Edge

Example Output

Mozilla/5.0 (Linux; Android 13; SM-S908B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36

Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0

πŸ”§ Advanced Usage

Custom Version Ranges (Go)

chromeVersions := []int{115, 120}  // Chrome 115 to 120
firefoxVersions := []int{100, 110} // Firefox 100 to 110

userAgent := GenerateRandomUserAgent(nil, nil, chromeVersions, firefoxVersions)

Batch Generation (Python)

from random_user_agents import generate_random_user_agent

# Generate 100 unique user agents
user_agents = [generate_random_user_agent() for _ in range(100)]

# Generate mobile-only user agents
mobile_agents = [
    generate_random_user_agent(device_type=device) 
    for device in ['android', 'ios'] * 50
]

Rate Limiting Protection

import time
import random
from random_user_agents import generate_random_user_agent

for url in urls:
    headers = {'User-Agent': generate_random_user_agent()}
    response = requests.get(url, headers=headers)
    
    # Random delay between requests
    time.sleep(random.uniform(1, 3))

πŸ› οΈ Useful Tools & Resources

Tool Description Link
🌐 User Agent Generator Online generator with copy function Open Tool
🧬 Base64 Converter Encode/decode Base64 strings Open Tool
πŸ” RegEx Validator Test and validate Regular Expressions Open Tool
πŸ” JWT Decoder Decode and verify JSON Web Tokens Open Tool
⏱️ Timestamp Converter Convert Unix timestamps Open Tool
🌎 Time Zone Converter World time zone conversion Open Tool

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/AmazingFeature)
  3. βœ… Commit your changes (git commit -m 'Add some AmazingFeature')
  4. πŸ“€ Push to the branch (git push origin feature/AmazingFeature)
  5. πŸŽ‰ Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/Aero25x/random-user-agents.git
cd random-user-agents

# Install dependencies
pip install -r requirements.txt  # Python
npm install                       # JavaScript/TypeScript
cargo build                       # Rust
go mod download                   # Go

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

Free for personal and commercial use, modification, and distribution.

🌟 Star History

If this project helped you, please consider giving it a ⭐️ on GitHub!

Star History Chart

πŸ“ž Support & Contact

πŸ”— Related Projects

πŸ“Š Statistics

GitHub repo size GitHub language count GitHub top language GitHub last commit GitHub issues GitHub pull requests


Made with ❀️ by Aero25x

Keywords: user agent generator, random user agent, fake user agent, web scraping, browser automation, selenium user agent, puppeteer user agent, playwright, http headers, user agent string, mobile user agent, desktop user agent, chrome user agent, firefox user agent, safari user agent, android user agent, ios user agent, windows user agent, linux user agent, python user agent, javascript user agent, rust user agent, golang user agent, typescript user agent, web crawler, bot detection bypass, anti bot, scraping tool, automation testing