Skip to content

WREQ · PYTHON HTTP CLIENT

HTTP for Python,
powered by Rust.

wreq is a Python HTTP client built on Rust. Use it with async or blocking code, choose a browser profile, or tune TLS and HTTP/2 yourself. You can stream uploads and responses when you don't want the whole body in memory.

pip install wreqPython 3.11+ · Apache-2.0

Make a requestPython
import asyncio
from wreq import Client, Emulation


async def main():
    async with Client(emulation=Emulation.Chrome154) as c:
        async with c.get("https://example.com") as r:
            r.raise_for_status()
            print(await r.text())


asyncio.run(main())

SUPPORTED BY OUR SPONSORS

Byteful LundProxy NodeMaven Scrape.do EzCaptcha Hyper Solutions

Meet our sponsors · Support the project

CLIENT FEATURES

What you can do with wreq

HTTPS BENCHMARKS

See the benchmark results

Choose a body size, protocol and concurrency level to see the results for your workload. We test complete and streamed uploads over HTTP/1.1 and HTTP/2, reading every response to the end. The tested commit, machine details and raw timings are there if you want to check or reproduce a result.

Explore the benchmarks