diff --git a/README.md b/README.md
index 03480b8dfb67d82ba5bf21fe475c68640cf77a56..74209411a24ca70c48e131a5095a1faaf1749298 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,6 @@
 
 Semantic Router is a superfast decision-making layer for your LLMs and agents. Rather than waiting for slow LLM generations to make tool-use decisions, we use the magic of semantic vector space to make those decisions — _routing_ our requests using _semantic_ meaning.
 
-
 ---
 
 ## Quickstart
@@ -117,6 +116,12 @@ rl("I'm interested in learning about llama 2").name
 
 In this case, no decision could be made as we had no matches — so our route layer returned `None`!
 
+## Integrations
+
+The _encoders_ of semantic router include easy-to-use integrations with [Cohere](https://github.com/aurelio-labs/semantic-router/blob/main/semantic_router/encoders/cohere.py), [OpenAI](https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/openai-embed-3.ipynb), [Hugging Face](https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/huggingface.ipynb), [FastEmbed](https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/fastembed.ipynb), and [more](https://github.com/aurelio-labs/semantic-router/tree/main/semantic_router/encoders) — we even support [multi-modality](https://github.com/aurelio-labs/semantic-router/blob/main/docs/07-multi-modal.ipynb)!.
+
+Our utterance vector space also integrates with [Pinecone](https://github.com/aurelio-labs/semantic-router/blob/main/docs/indexes/pinecone.ipynb) and [Qdrant](https://github.com/aurelio-labs/semantic-router/blob/main/docs/indexes/qdrant.ipynb)!
+
 ---
 
 ## 📚 Resources
diff --git a/semantic_router/index/pinecone.py b/semantic_router/index/pinecone.py
index 07d519f0c17bfc6aec45d6b501bd6197cf4a57a4..a14bad59033658e289c7dc4c94bb3c66d9b78ecf 100644
--- a/semantic_router/index/pinecone.py
+++ b/semantic_router/index/pinecone.py
@@ -68,7 +68,7 @@ class PineconeIndex(BaseIndex):
         api_key = api_key or os.getenv("PINECONE_API_KEY")
         if api_key is None:
             raise ValueError("Pinecone API key is required.")
-        return Pinecone(api_key=api_key)
+        return Pinecone(api_key=api_key, source_tag="semantic-router")
 
     def _init_index(self, force_create: bool = False) -> Union[Any, None]:
         index_exists = self.index_name in self.client.list_indexes().names()