diff --git a/docs/source/api.rst b/docs/source/api.rst
index 740a5373d..3e7628380 100644
--- a/docs/source/api.rst
+++ b/docs/source/api.rst
@@ -42,6 +42,21 @@ HybridCypherRetriever
    :members:
 
 
+
+*******************
+External Retrievers
+*******************
+
+This section includes retrievers that integrate with databases external to Neo4j.
+
+
+WeaviateNeo4jRetriever
+======================
+
+.. autoclass:: neo4j_genai.retrievers.external.weaviate.WeaviateNeo4jRetriever
+   :members:
+
+
 ******
 Errors
 ******
diff --git a/src/neo4j_genai/__init__.py b/src/neo4j_genai/__init__.py
index c76408f17..ec7ef24c7 100644
--- a/src/neo4j_genai/__init__.py
+++ b/src/neo4j_genai/__init__.py
@@ -16,6 +16,7 @@
 from .retrievers.hybrid import HybridCypherRetriever, HybridRetriever
 from .retrievers.text2cypher import Text2CypherRetriever
 from .retrievers.vector import VectorCypherRetriever, VectorRetriever
+from .retrievers.external.weaviate import WeaviateNeo4jRetriever
 
 __all__ = [
     "VectorRetriever",
@@ -23,4 +24,5 @@
     "HybridRetriever",
     "HybridCypherRetriever",
     "Text2CypherRetriever",
+    "WeaviateNeo4jRetriever",
 ]
diff --git a/src/neo4j_genai/retrievers/external/weaviate/weaviate.py b/src/neo4j_genai/retrievers/external/weaviate/weaviate.py
index 93d3b2589..4bd47ca9d 100644
--- a/src/neo4j_genai/retrievers/external/weaviate/weaviate.py
+++ b/src/neo4j_genai/retrievers/external/weaviate/weaviate.py
@@ -95,14 +95,37 @@ def _get_search_results(
         If no embedder is provided, then it will assume that the vectorizer is used in Weaviate.
 
         See the following documentation for more details:
-        - [Query a vector index](https://neo4j.com/docs/cypher-manual/current/indexes-for-vector-search/#indexes-vector-query)
-        - [db.index.vector.queryNodes()](https://neo4j.com/docs/operations-manual/5/reference/procedures/#procedure_db_index_vector_queryNodes)
-        - [db.index.fulltext.queryNodes()](https://neo4j.com/docs/operations-manual/5/reference/procedures/#procedure_db_index_fulltext_querynodes)
+        - `Query a vector index <https://neo4j.com/docs/cypher-manual/current/indexes-for-vector-search/#indexes-vector-query>`_
+        - `db.index.vector.queryNodes() <https://neo4j.com/docs/operations-manual/5/reference/procedures/#procedure_db_index_vector_queryNodes>`_
+        - `db.index.fulltext.queryNodes() <https://neo4j.com/docs/operations-manual/5/reference/procedures/#procedure_db_index_fulltext_querynodes>`_
+
+
+        Example:
+
+        .. code-block:: python
+
+          import neo4j
+          from neo4j_genai.retrievers import WeaviateNeo4jRetriever
+
+          driver = neo4j.GraphDatabase.driver(URI, auth=AUTH)
+
+          retriever = WeaviateNeo4jRetriever(
+              driver=driver,
+              client=weaviate_client,
+              collection="Jeopardy",
+              id_property_external="neo4j_id",
+              id_property_neo4j="id",
+          )
+
+          biology_embedding = ...
+          retriever.search(query_vector=biology_embedding, top_k=2)
+
+
         Args:
-            query_text (str): The text to get the closest neighbors of.
-            query_vector (Optional[list[float]], optional): The vector embeddings to get the closest neighbors of. Defaults to None.
-            top_k (int, optional): The number of neighbors to return. Defaults to 5.
-            weaviate_filters (Optional[_Filters], optional): The filters to apply to the search query in Weaviate. Defaults to None.
+            query_text (Optional[str]): The text to get the closest neighbors of.
+            query_vector (Optional[list[float]]): The vector embeddings to get the closest neighbors of. Defaults to None.
+            top_k (int): The number of neighbors to return. Defaults to 5.
+            weaviate_filters (Optional[_Filters]): The filters to apply to the search query in Weaviate. Defaults to None.
         Raises:
             SearchValidationError: If validation of the input arguments fail.
         Returns:
diff --git a/tests/e2e/weaviate_e2e/test_weaviate_e2e.py b/tests/e2e/weaviate_e2e/test_weaviate_e2e.py
index 894fd9127..03123c280 100644
--- a/tests/e2e/weaviate_e2e/test_weaviate_e2e.py
+++ b/tests/e2e/weaviate_e2e/test_weaviate_e2e.py
@@ -16,7 +16,7 @@
 import re
 import pytest
 import weaviate
-from neo4j_genai.retrievers.external.weaviate import WeaviateNeo4jRetriever
+from neo4j_genai import WeaviateNeo4jRetriever
 from langchain_community.embeddings import HuggingFaceEmbeddings
 
 from neo4j_genai.types import RetrieverResult, RetrieverResultItem