OSS TanbouSign in with GitHub

use async or blocking Rust HTTP clients with JSON, TLS, proxies, and multipart support

OSS scale score 280.8OSS health 100
About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
11,864
Primary language
Rust
License
Apache-2.0
Repository last updated
Oct 2, 2026
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.

Sources: [2][3]

Centralize redirect, proxy, TLS, and cookie behavior

ClientBuilder can configure redirect policy, proxies, cookies, and TLS behavior. rustls is the default TLS backend, while native-tls can introduce platform-specific TLS library requirements.

Sources: [2][4]

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.

Sources: [4][5]

Official sources

  1. [1]seanmonstar/reqwest — GitHub repository(2026-10-06)
  2. [2]reqwest 0.13.5 — README(2026-10-06)
  3. [3]reqwest 0.13.5 — simple example(2026-10-06)
  4. [4]reqwest 0.13.5 — Cargo.toml(2026-10-06)
  5. [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. 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. 2

    Enter the repository

    Move to the repository root containing the official simple example.

    cd reqwest
  3. 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
Check the official README

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
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?