On this page
Overview
reqwest is a high-level HTTP client for Rust. It provides asynchronous and blocking clients plus JSON, forms, multipart bodies, redirect policies, HTTP proxies, TLS, cookies, and WASM support for application-level HTTP requests.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Build HTTP requests with async or blocking clients
reqwest supports asynchronous and blocking Clients as well as plain, JSON, URL-encoded, and multipart bodies. Convenience functions are available, while reusable Client instances are recommended for repeated requests.
Best fit
Fits external REST APIs and service-to-service HTTP calls
It is suited to backend applications that need JSON APIs, multipart uploads, authentication headers, proxy-aware networking, and other application-level HTTP behavior without managing connections at Hyper's lower abstraction level.
Sources: [2]
Before adoption
Check Rust 1.85+, TLS, proxy, and DNS behavior during upgrades
Version 0.13.5 requires Rust 1.85.0 and adds DNS error classification, an HTTP/1 response-header limit, TLS-version reporting, and proxy credential fixes. Network-policy-sensitive applications should review patch releases as well as minor upgrades.
Official sources
- [1]seanmonstar/reqwest — GitHub repository(2026-10-06)
- [2]reqwest 0.13.5 — README(2026-10-06)
- [3]reqwest 0.13.5 — simple example(2026-10-06)
- [4]reqwest 0.13.5 — Cargo.toml(2026-10-06)
- [5]reqwest 0.13.5 release(2026-10-06)
Supplemental curator note
reqwest is the application-level choice when a higher-level HTTP client is more useful than Hyper's lower-level primitives. Reuse Client instances and validate TLS, proxy, timeout, and DNS behavior under production network conditions.
Try it in 3 steps
- 1
Clone the reviewed reqwest release
Clone the reviewed reqwest 0.13.5 tag. Rust 1.85 or newer is required.
git clone --depth 1 --branch v0.13.5 https://github.com/seanmonstar/reqwest.git - 2
Enter the repository
Move to the repository root containing the official simple example.
cd reqwest - 3
Run the simple HTTP client
Run the official simple example over HTTPS and inspect the status, headers, and response body.
cargo run --example simple -- https://httpbin.org/ip
Growth
Growth trends · Last 30 days
11,864 Stars
Trend data is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- http
- http-client
- rust
- Stars
- 11,864
- Forks
- 1,423
- Watchers
- 85
- Open issues
- 473
- Contributors
- 391
- Owner type
- User
- Primary language
- Rust
- License
- Apache-2.0
- Repository last updated
- Oct 2, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- redis-rs4,258 Stars
2 shared tag(s) · 2 shared category(s) · Same language
connect Rust applications to Redis and Valkey with synchronous or asynchronous clients
Rust - Axios109,303 Stars
2 shared tag(s) · 2 shared category(s)
Share interceptors, adapters, timeouts, and cancellation across browser and Node.js HTTP requests
JavaScript - LiteLLM60,179 Stars
2 shared tag(s) · 2 shared category(s)
unify 100+ LLM providers behind OpenAI-compatible interfaces and centralize routing, cost controls, guardrails, and logging in an AI gateway
Python - gRPC45,365 Stars
2 shared tag(s) · 2 shared category(s)
define service contracts with Protocol Buffers and implement high-performance RPC over HTTP/2 across languages
C++ - Alamofire42,405 Stars
2 shared tag(s) · 2 shared category(s)
build Swift HTTP networking on URLSession with concise requests, retries, uploads, downloads, and TLS pinning
Swift - gRPC-Go23,092 Stars
2 shared tag(s) · 2 shared category(s)
implement typed Go service RPCs over HTTP/2 with the gRPC runtime
Go
Report incorrect information
Tell us if any listing information is incorrect or outdated.