An easy and powerful Rust HTTP Client
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-05-26 17:27:24 +02:00
examples chore: sync dependencies (monorepo) 2026-04-12 09:28:29 +02:00
src fix: use MediaType::param return type (Value::as_str_repr) 2026-05-26 17:27:24 +02:00
tests chore: sync dependencies (monorepo) 2026-03-31 18:34:54 +02:00
.gitignore chore: sync dependencies (monorepo) 2026-03-31 00:04:42 +02:00
Cargo.toml Use vendored form and charset dependencies 2026-05-22 09:25:26 +02:00
LICENSE-APACHE Update license copyright. (#1527) 2022-04-15 10:31:59 -07:00
LICENSE-MIT chore: update copyright year to 2026 (#2943) 2026-01-20 18:46:42 +00:00
README.md Update readme for 0.13 (#2926) 2026-01-02 19:39:12 +00:00

reqwest

crates.io Documentation MIT/Apache-2 licensed CI

An ergonomic, batteries-included HTTP Client for Rust.

  • Async and blocking Clients
  • Plain bodies, JSON, urlencoded, multipart
  • Customizable redirect policy
  • HTTP Proxies
  • HTTPS via rustls (or optionally, system-native TLS)
  • Cookie Store
  • WASM

Example

This asynchronous example uses Tokio and enables some optional features, so your Cargo.toml could look like this:

[dependencies]
reqwest = { version = "0.13", features = ["json"] }
tokio = { version = "1", features = ["full"] }

And then the code:

use std::collections::HashMap;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let resp = reqwest::get("https://httpbin.org/ip")
        .await?
        .json::<HashMap<String, String>>()
        .await?;
    println!("{resp:#?}");
    Ok(())
}

Commercial Support

For private advice, support, reviews, access to the maintainer, and the like, reach out for commercial support.

Requirements

By default, Reqwest uses rustls, but when the native-tls feature is enabled it will use the operating system TLS framework if available, meaning Windows and macOS. On Linux, it will use the available OpenSSL (see https://docs.rs/openssl for supported versions and more details) or fail to build if not found. Alternatively you can enable the native-tls-vendored feature to compile a copy of OpenSSL.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Sponsors

Support this project by becoming a sponsor.