diff --git a/horizon.dhall b/horizon.dhall
index ef8e3f86c3174d2510489213d207d43147b99f0f..469e423a3e540258229b2e807ac68e1aaa9318ec 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -692,6 +692,7 @@ let packages =
       , regex-pcre-builtin = H.callHackage "regex-pcre-builtin" "0.95.2.3.8.44"
       , relude = H.callHackage "relude" "1.2.0.0"
       , replace-megaparsec = H.callHackage "replace-megaparsec" "1.4.5.0"
+      , req = H.callHackage "req" "3.13.0"
       , rerebase = H.callHackage "rerebase" "1.20"
       , resolv = H.callHackage "resolv" "0.1.2.0"
       , resource-pool = H.callHackage "resource-pool" "0.4.0.0"
diff --git a/horizon.lock b/horizon.lock
index a3ef0bc49bf78f9e4a8f68f36415317d39fabb01..d21df4fab90a0a4a49eb83cdae5ddd1dd5fff98b 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -2194,6 +2194,10 @@
   , mapValue =
       "58b2c50f7edcb4558fda2ba9f998fe02c8603162fa4dec33c4e1c52b24a894ea"
   }
+, { mapKey = "req"
+  , mapValue =
+      "d7b0091c81d1109198bdde4453f040b74433537496f0530c8b61b25922838f4d"
+  }
 , { mapKey = "rerebase"
   , mapValue =
       "3925810a6dca635d614b0bd3c76c17c0fda9faf605e130f3726bebcf2b55ae65"
diff --git a/overlay.nix b/overlay.nix
index addf9b9b272b2657233a32c3650ea82c9c70e009..3a2045111026bbcdb7d0a44d67f2df0fb9490ad3 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1099,6 +1099,8 @@ final: prev: with pkgs.haskell.lib; {
 
   replace-megaparsec = final.callPackage (./pkgs/replace-megaparsec.nix) { };
 
+  req = final.callPackage (./pkgs/req.nix) { };
+
   rerebase = final.callPackage (./pkgs/rerebase.nix) { };
 
   resolv = final.callPackage (./pkgs/resolv.nix) { };
diff --git a/pkgs/req.nix b/pkgs/req.nix
new file mode 100644
index 0000000000000000000000000000000000000000..675ba44c51c92fc91639d2e4bceca67d8e4d0448
--- /dev/null
+++ b/pkgs/req.nix
@@ -0,0 +1,41 @@
+{ mkDerivation, QuickCheck, aeson, authenticate-oauth, base
+, blaze-builder, bytestring, case-insensitive, connection
+, containers, exceptions, hspec, hspec-core, hspec-discover
+, http-api-data, http-client, http-client-tls, http-types, lib
+, modern-uri, monad-control, mtl, retry, template-haskell, text
+, time, transformers, transformers-base, unliftio-core
+}:
+mkDerivation {
+  pname = "req";
+  version = "3.13.0";
+  sha256 = "6432d95d6e6750b199b97c3d7147260dcf6f683127c87eb90b7a9f225739fac5";
+  revision = "1";
+  editedCabalFile = "0izg1pj2jbpdlg9i9g30i5h4rcshkawh5zdhlkq1n9xfgc6jqv2v";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [
+    aeson authenticate-oauth base blaze-builder bytestring
+    case-insensitive connection containers exceptions http-api-data
+    http-client http-client-tls http-types modern-uri monad-control mtl
+    retry template-haskell text time transformers transformers-base
+    unliftio-core
+  ];
+  testHaskellDepends = [
+    aeson base blaze-builder bytestring case-insensitive hspec
+    hspec-core http-api-data http-client http-types modern-uri
+    monad-control mtl QuickCheck retry template-haskell text time
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mrkkrp/req";
+  description = "HTTP client library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
\ No newline at end of file