deedy5/primp

HTTP client that can impersonate web browsers

Rust

615

113 commits

updated Sep 13, 2026

See the code

README

🪞 PRIMP 🦀🐍

HTTP client that can impersonate web browsers

Quick Start

🦀 Rust → /crates/primp

[dependencies]
primp = "2"
use primp::{Client, Impersonate};

#[tokio::main]
async fn main() -> Result<(), primp::Error> {
    let client = Client::builder()
        .impersonate(Impersonate::ChromeV146)
        .build()?;
    let resp = client.get("https://tls.peet.ws/api/all").send().await?;
    println!("Body: {}", resp.text().await?);
    Ok(())
}

🐍 Python → /crates/primp-python

pip install primp
import primp

client = primp.Client(impersonate="chrome_146")
resp = client.get("https://tls.peet.ws/api/all")
print(resp.text)

Browser profiles

BrowserProfiles
Chromechrome_144, chrome_145, chrome_146, chrome_147, chrome_148, chrome_149, chrome_150, chrome_151, chrome_152, chrome_153, chrome
Safarisafari_18.5, safari_26, safari_26.3, safari_26.4, safari
Edgeedge_144, edge_145, edge_146, edge_147, edge_148, edge_149, edge_150, edge_151, edge_152, edge_153, edge
Firefoxfirefox_140, firefox_146, firefox_147, firefox_148, firefox_149, firefox_150, firefox_151, firefox
Operaopera_126, opera_127, opera_128, opera_129, opera_130, opera_131, opera_132, opera_133, opera_134, opera_135, opera
Randomrandom

OS: android, ios, linux, macos, windows, random


Disclaimer

This tool is for educational purposes only. Use it at your own risk.

akamai
akamai-fingerprint
curl
fingerprint
http
http2-fingerprint
http-client
https
impersonate
ja3
ja3-fingerprint
ja4
ja4-fingerprint
python
requests
tls
tls-client
tls-fingerprint
web-scraping

deedy5/primp

HTTP client that can impersonate web browsers

Rust

615

113 commits

updated Sep 13, 2026

See the code

README

🪞 PRIMP 🦀🐍

HTTP client that can impersonate web browsers

Quick Start

🦀 Rust → /crates/primp

[dependencies]
primp = "2"
use primp::{Client, Impersonate};

#[tokio::main]
async fn main() -> Result<(), primp::Error> {
    let client = Client::builder()
        .impersonate(Impersonate::ChromeV146)
        .build()?;
    let resp = client.get("https://tls.peet.ws/api/all").send().await?;
    println!("Body: {}", resp.text().await?);
    Ok(())
}

🐍 Python → /crates/primp-python

pip install primp
import primp

client = primp.Client(impersonate="chrome_146")
resp = client.get("https://tls.peet.ws/api/all")
print(resp.text)

Browser profiles

BrowserProfiles
Chromechrome_144, chrome_145, chrome_146, chrome_147, chrome_148, chrome_149, chrome_150, chrome_151, chrome_152, chrome_153, chrome
Safarisafari_18.5, safari_26, safari_26.3, safari_26.4, safari
Edgeedge_144, edge_145, edge_146, edge_147, edge_148, edge_149, edge_150, edge_151, edge_152, edge_153, edge
Firefoxfirefox_140, firefox_146, firefox_147, firefox_148, firefox_149, firefox_150, firefox_151, firefox
Operaopera_126, opera_127, opera_128, opera_129, opera_130, opera_131, opera_132, opera_133, opera_134, opera_135, opera
Randomrandom

OS: android, ios, linux, macos, windows, random


Disclaimer

This tool is for educational purposes only. Use it at your own risk.

akamai
akamai-fingerprint
curl
fingerprint
http
http2-fingerprint
http-client
https
impersonate
ja3
ja3-fingerprint
ja4
ja4-fingerprint
python
requests
tls
tls-client
tls-fingerprint
web-scraping

Project health

PyPI

Latest release

2.0.1 · Sep 13, 2026

Releases this year

10

Significant stargazers

Joren Hammudoglu

189 followers · starred Apr 2025

Jangwon Park

873 followers · starred Apr 2026

Maximilian Hils

856 followers · starred Jun 2024

Ali Karbassi

181 followers · starred Feb 2026