--- id: impit version: "0.13.2" license: unclear license_treatment: permissive maintenance: active --- # impit — A library for making HTTP requests through browser impersonation License: permissive · Maintenance: active · Downloads: 2.4M/mo ## What it is and what it does Impit is a Python HTTP client that mimics browser behavior by spoofing TLS fingerprints and HTTP headers, making requests appear to come from real browsers rather than automated tools. It wraps the underlying impit library (written in Rust) and exposes an AsyncClient with an API modeled on httpx, so you can often use it as a drop-in replacement. The package is in Beta and ships with prebuilt wheels for most platforms, though some configurations (Linux arm64 with glibc) still require building from source. The main use case is circumventing detection systems that block or throttle requests from non-browser clients. Since it maintains httpx compatibility, you can integrate it into existing codebases with minimal refactoring. The implementation is partial—not all httpx features are supported yet—so you may need to check the documentation to confirm your specific use case works. Use it for: - Web scraping sites that block non-browser user agents or detect automated requests via TLS fingerprinting - Testing web applications that enforce browser-specific behavior or security checks - Integrating browser-like HTTP clients into data collection pipelines without rewriting existing httpx code - Bypassing basic bot detection in APIs that rely on TLS fingerprint or header analysis ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Impit provides Python bindings to make HTTP requests with browser-like TLS fingerprints and headers, using an API compatible with httpx or requests. Yes, if you need browser impersonation for HTTP requests and can target Python 3.10+. Active maintenance, no known vulnerabilities, permissive license, and broad platform support make it low-risk. The partial httpx compatibility means you should verify your specific features work before committing to production, but the recent release cadence and repository activity suggest ongoing development. ## Install pip install impit uv add impit poetry add impit ## Installing impit Before you install: Medium install friction due to compiled bindings, but prebuilt wheels cover most common platforms (Linux x86_64 glibc/musl, macOS x86_64/arm64, Windows x86_64). Active maintenance with recent release (9 days old) and 569 repository stars. License in practice: Permissive license (Apache Software License per classifiers) means you can use this in commercial and proprietary projects without copyleft obligations. Quickstart: pip install impit import asyncio from impit import AsyncClient async def main(): client = AsyncClient(http3=True, browser='firefox') response = await client.get('https://example.com') print(response.status_code) asyncio.run(main()) Requires Python 3.10 or later; Linux arm64 with glibc requires building from source (prebuilt wheels not yet available on PyPI). Verify before relying: - Which specific TLS fingerprints and browser profiles are supported beyond 'firefox' - Whether all httpx features are implemented or only a subset - Performance overhead compared to plain httpx or requests - Whether HTTP/2 and HTTP/3 are both fully supported ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 2.4M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags browser impersonation http, tls fingerprint spoofing, httpx compatible client, bypass http detection, browser-like requests library, browser-impersonation, tls-fingerprint, web-scraping [View on SkillFed](https://skillfed.io/packages/impit) · [View on PyPI](https://pypi.org/project/impit/)