diff --git a/horizon.dhall b/horizon.dhall
index cf344ad0c06c75e8e80f3953b991c2d81de13e82..df5b55c4a00df7a9f9882d6ba5932e50aa564af5 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -267,6 +267,7 @@ let otherLibraries =
       , H.callHackage "readable" "0.3.1"
       , H.callHackage "recursion-schemes" "5.2.2.2"
       , H.callHackage "ref-tf" "0.5.0.1"
+      , H.callHackage "servant-openapi3" "2.0.1.5"
       , callCardanoLedger "set-algebra" "libs/set-algebra"
       , H.callHackage "singletons-th" "3.1.1"
       , H.callHackage "size-based" "0.1.3.1"
diff --git a/overlay.nix b/overlay.nix
index bf591a2a236b632124d0c17924d08e97c91a3f34..635f11e63a9e97f0ee9fa0b5156e85d7988f5204 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -243,6 +243,8 @@ final: prev: with pkgs.haskell.lib; {
 
   ref-tf = final.callPackage (./pkgs/ref-tf.nix) { };
 
+  servant-openapi3 = final.callPackage (./pkgs/servant-openapi3.nix) { };
+
   set-algebra = final.callPackage (./pkgs/set-algebra.nix) { };
 
   singletons-th = final.callPackage (./pkgs/singletons-th.nix) { };
diff --git a/pkgs/servant-openapi3.nix b/pkgs/servant-openapi3.nix
new file mode 100644
index 0000000000000000000000000000000000000000..373c10615af9fb7667cfea1a985a8645c50aa5d2
--- /dev/null
+++ b/pkgs/servant-openapi3.nix
@@ -0,0 +1,88 @@
+{ mkDerivation
+, Cabal
+, QuickCheck
+, aeson
+, aeson-pretty
+, base
+, base-compat
+, bytestring
+, cabal-doctest
+, directory
+, doctest
+, filepath
+, hspec
+, hspec-discover
+, http-media
+, insert-ordered-containers
+, lens
+, lens-aeson
+, lib
+, openapi3
+, servant
+, singleton-bool
+, template-haskell
+, text
+, time
+, unordered-containers
+, utf8-string
+, vector
+}:
+mkDerivation {
+  pname = "servant-openapi3";
+  version = "2.0.1.5";
+  sha256 = "5e39a8b5504dddeb8f56f07623366c7fab9df646202033c898be2d48d4c39e7d";
+  revision = "1";
+  editedCabalFile = "0bscnxbw1zd0f7ycjr54kxfdcxzndgbxpamc75r1yzly262xrc1b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal cabal-doctest ];
+  libraryHaskellDepends = [
+    aeson
+    aeson-pretty
+    base
+    base-compat
+    bytestring
+    hspec
+    http-media
+    insert-ordered-containers
+    lens
+    openapi3
+    QuickCheck
+    servant
+    singleton-bool
+    text
+    unordered-containers
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    base-compat
+    directory
+    doctest
+    filepath
+    hspec
+    lens
+    lens-aeson
+    openapi3
+    QuickCheck
+    servant
+    template-haskell
+    text
+    time
+    utf8-string
+    vector
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/biocad/servant-openapi3";
+  description = "Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API.";
+  license = lib.licenses.bsd3;
+  broken = false;
+}