diff --git a/store.hpp b/store.hpp
index 9da07f4..6b7f328 100644
--- a/store.hpp
+++ b/store.hpp
@@ -48,6 +48,20 @@
         template<Record R, record::Keyword K>
         inline const std::string& get() const;
 
+        /** @brief Checks if VPD exists in store
+         *
+         *  @tparam R - VPD record
+         *  @tparam K - VPD keyword
+         *  @returns true if {R,K} exists
+         */
+        template<Record R, record::Keyword K>
+        bool exists() const
+        {
+            static const std::string record = getRecord<R>();
+            static const std::string keyword = record::getKeyword<K>();
+            return vpd.count(record) && vpd.at(record).count(keyword);
+        }
+
     private:
         /** @brief The store for parsed VPD */
         Parsed vpd;
