diff --git a/sdbusplus.hpp b/sdbusplus.hpp
index 73af8b0..94db9dd 100644
--- a/sdbusplus.hpp
+++ b/sdbusplus.hpp
@@ -198,6 +198,27 @@
                                           "GetSubTree"s, path, depth, intfs);
     }
 
+    /** @brief Get subtree from the mapper without checking response,
+     * (multiple interfaces version). */
+    static auto getSubTreeRaw(sdbusplus::bus::bus& bus, const std::string& path,
+                              const std::vector<std::string>& intfs,
+                              int32_t depth)
+    {
+        using namespace std::literals::string_literals;
+
+        using Path = std::string;
+        using Intf = std::string;
+        using Serv = std::string;
+        using Intfs = std::vector<Intf>;
+        using Objects = std::map<Path, std::map<Serv, Intfs>>;
+
+        return callMethodAndRead<Objects>(bus,
+                                          "xyz.openbmc_project.ObjectMapper"s,
+                                          "/xyz/openbmc_project/object_mapper"s,
+                                          "xyz.openbmc_project.ObjectMapper"s,
+                                          "GetSubTree"s, path, depth, intfs);
+    }
+
     /** @brief Get subtree from the mapper. */
     static auto getSubTree(sdbusplus::bus::bus& bus, const std::string& path,
                            const std::string& interface, int32_t depth)
