diff --git a/include/libcamera/request.h b/include/libcamera/request.h
index 0188bcab8383..58de6f00a554 100644
--- a/include/libcamera/request.h
+++ b/include/libcamera/request.h
@@ -32,6 +32,7 @@ public:
 	Request(const Request &) = delete;
 	Request &operator=(const Request &) = delete;
 
+	const std::map<Stream *, Buffer *> &buffers() const { return bufferMap_; }
 	int setBuffers(const std::map<Stream *, Buffer *> &streamMap);
 	Buffer *findBuffer(Stream *stream) const;
 
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
index 502048683245..c429d1fb2f8a 100644
--- a/src/libcamera/request.cpp
+++ b/src/libcamera/request.cpp
@@ -51,6 +51,16 @@ Request::Request(Camera *camera)
 {
 }
 
+/**
+ * \fn Request::buffers()
+ * \brief Retrieve the request's streams to buffers map
+ *
+ * Return a reference to the map that associates each Stream part of the
+ * request to the Buffer the Stream output should be directed to.
+ *
+ * \return The map of Stream to Buffer
+ */
+
 /**
  * \brief Set the streams to capture with associated buffers
  * \param[in] streamMap The map of streams to buffers
