diff --git a/Cargo.lock b/Cargo.lock
index 52e271a9ac958608c805eafadf032ed4eb7d0750..347a6d3e49c5b0ffdfaf1423f1417082ec55c77d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -830,8 +830,7 @@ dependencies = [
 [[package]]
 name = "prometheus-http-query"
 version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0de773a6ba25c9164ed9d86d653a92fac759a6f0e683fd141d56bb96e80fd8b"
+source = "git+https://github.com/VoltaireNoir/prometheus-http-query/#d2c90243b017f77b8149fba39c165a7e28e4ad95"
 dependencies = [
  "enum-as-inner",
  "mime",
diff --git a/Cargo.toml b/Cargo.toml
index 696fc51a9b0b5202cfa030d4d540dcbc5c748c90..5a74b63aacb1d7700362969bf397445b4671abfc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
 
 [dependencies]
 enum-as-inner = "0.6.0"
-prometheus-http-query = "0.8.1"
+prometheus-http-query = { git = "https://github.com/VoltaireNoir/prometheus-http-query/"}
 reqwest = "0.11.22"
 url = "2.5.0"
 serde = { version = "1.0.193", optional = true }
@@ -22,6 +22,7 @@ utils = ["dep:serde", "dep:serde_json", "dep:rayon"]
 metricsql = []
 macros = ["dep:mquery-macros"]
 multi = ["dep:tokio"]
+serde = ["dep:serde"]
 
 [dev-dependencies]
 tokio = { version = "1.34.0", default-features = false, features = ["macros", "rt-multi-thread"]}
diff --git a/src/result.rs b/src/result.rs
index 684933342a7d35c4dc7e53d1a9fe1e5ce5a7c69f..e7d949e24f461e565719dd54b13ee03014524857 100644
--- a/src/result.rs
+++ b/src/result.rs
@@ -10,6 +10,9 @@ use enum_as_inner::EnumAsInner;
 use prometheus_http_query::{error, response};
 use std::fmt::{self, Display};
 
+#[cfg(feature = "serde")]
+use serde::{Deserialize, Serialize};
+
 pub type QryResult = std::result::Result<Data, Error>;
 pub type RawResult = std::result::Result<reqwest::Response, Error>;
 
@@ -34,6 +37,7 @@ impl IntoResult for Result<reqwest::Response, error::Error> {
 }
 
 /// A wrapper for possible result types of expression queries
+#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
 #[derive(Clone, Debug, EnumAsInner)]
 pub enum Data {
     Vector(Vec<response::InstantVector>),