diff --git a/include/opendht/callbacks.h b/include/opendht/callbacks.h
index c5d062b65ac66aab3c94d4ab1e8cf64a407f19c3..5ae7d670ce736136b353af96a8b444f9a6ffd7b3 100644
--- a/include/opendht/callbacks.h
+++ b/include/opendht/callbacks.h
@@ -82,6 +82,8 @@ struct OPENDHT_PUBLIC NodeInfo {
     NodeStats ipv4 {};
     NodeStats ipv6 {};
     size_t ongoing_ops {0};
+    size_t storage_values {0};
+    size_t storage_size {0};
     in_port_t bound4 {0};
     in_port_t bound6 {0};
 
diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp
index 62b290afb88f661b8f9e077eb18d7dc3da6a69c4..ded8baca92a7995f0b359cfa2229d98a432627ac 100644
--- a/src/dhtrunner.cpp
+++ b/src/dhtrunner.cpp
@@ -572,6 +572,7 @@ DhtRunner::getNodeInfo(std::function<void(std::shared_ptr<NodeInfo>)> cb)
         info.node_id = dht.getNodeId();
         info.ipv4 = dht.getNodesStats(AF_INET);
         info.ipv6 = dht.getNodesStats(AF_INET6);
+        std::tie(info.storage_size, info.storage_values) = dht.getStoreSize();
         if (auto sock = dht.getSocket()) {
             info.bound4 = sock->getBoundRef(AF_INET).getPort();
             info.bound6 = sock->getBoundRef(AF_INET6).getPort();