An easy and powerful Rust HTTP Client (by seanmonstar)


Basic reqwest repo stats
3 days ago

seanmonstar/reqwest is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

Reqwest Alternatives

Similar projects and alternatives to reqwest

  • GitHub repo rust

    Empowering everyone to build reliable and efficient software.

  • GitHub repo Cargo

    The Rust package manager

  • GitHub repo tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

  • GitHub repo hyper

    An HTTP library for Rust (by hyperium)

  • GitHub repo warp

    A super-easy, composable, web server framework for warp speeds.

  • GitHub repo async-std

    Async version of the Rust standard library

  • GitHub repo ureq

    Minimal request library in rust.

  • GitHub repo minos

    Tool to test OpenAPI spec files VS real implementations

  • GitHub repo clido

    A tool for creating and maintaining a todo-list on the command line

  • GitHub repo deno

    A secure JavaScript and TypeScript runtime

  • GitHub repo Rustlings

    :crab: Small exercises to get you used to reading and writing Rust code!

  • GitHub repo clap-rs

    A full featured, fast Command Line Argument Parser for Rust

  • GitHub repo serde

    Serialization framework for Rust

  • GitHub repo sqlx

    🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL. (by launchbadge)

  • GitHub repo rust-blog

    Educational blog posts for Rust beginners

  • GitHub repo smol

    A small and fast async runtime for Rust

  • GitHub repo flume

    A safe and fast multi-producer, multi-consumer channel. (by zesterer)

  • GitHub repo rio

    pure rust io_uring library, built on libc, thread & async friendly, misuse resistant (by spacejam)

  • GitHub repo stylus

    Lightweight status page for home infrastructure (by mmastrac)

  • GitHub repo async-std-hyper

    How to run Hyper on async-std

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better reqwest alternative or higher similarity.


Posts where reqwest has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-03-23.
  • Linus Torvalds on where Rust will fit into Linux
    No ? I just googled "how to make http request in rust" , it got me to use this package. I tried the first example there. It had to compile 115 dependencies and obviously the crate itself. The matter of the fact is that rust's std lib is anemic, for reasons ..., and it shows on the amount of dependencies.
    Only five required dependencies. The rest are for supporting different configurations the user of the library might want to use:
  • What’s everyone working on this week (12/2021)? | 2021-03-22
    reqwest for making http requests
  • Why asynchronous Rust doesn't work | 2021-03-09
    It's impossible that a beginner attempting to use the language to do anything related to networking won't be guided into the async nightmare before they have even come to grips with the borrow checker.


  • Creating an AWS Lambda with Rust | 2021-03-03
    However, perhaps a better route is to use rustls when available. The reqwest crate uses the native-tls crate by default, but it has a rustls-tls feature one can use instead. While this escapes the external dependency on a musl build of openssl, it does require still a musl toolchain because rustls depends on the ring crate, which needs to build some platform code with a C toolchain.
  • Hey Rustaceans! Got an easy question? Ask here (6/2021)! | 2021-02-08
    Using the tower crate's rate-limiting middleware as suggested by this issue. I think would work fine if I cloned and passed the wrapper around. But I had type-checking issues trying to stash the rate-limited reqwest Client in a global variable, as the type contains a closure: RateLimit>>.
  • Best terminology for async versus non-async interfaces | 2021-01-25
    reqwest calls the feature and the submodule containing non-future API blocking.
  • Zero To Production In Rust, Part 7.0: How To Write A REST Client In Rust Using reqwest And wiremock | 2021-01-17
    On the timeout: what annotation are you using for the test? If you notice, we are using the multithreaded executor for that test due to
  • reqwest 0.11 released, updated for tokio 1.0 | 2021-01-05
  • Tokio, the async runtime for Rust, hits 1.0 | 2020-12-23
    I'm hopeful that this leads to some focus on the ergonomics of "waiting for async things from sync code". Lots of "handlers" in the universe have synchronous interfaces, so if you want to implement them you end up needing to poll/wait on async from a regular function. I swear that every time I poke at Rust, I seem to find some way to cut my fingers...

    My specific example is writing a fuse handler (now with cberner/fuser formerly zargony/rust-fuse) for GCS/S3. If you want to use make any async requests (like via hyper), you currently have to roll your own poller, like reqwest does in blocking mode [1].

    The rust async/.await primer [2] offers the reader the seemingly helpful futures::executor::block_on, but basically no two executors can interact (and for good reason!). As others highlight, the ecosystem seems like it's going to end up standardizing on tokio (and/or some flavor thereof) and that hopefully now that it's 1.0, we can have stable enough deps for a while :).