Skip to content

Google Maps Text Search Reader

This notebook demonstrates how to use the GoogleMapsTextSearchReader from the llama_index library to load and query data from the Google Maps Places API.

If you’re opening this Notebook on colab, you will need to install the llama-index library.

!pip install llama-index llama-index-readers-google

We will import the necessary libraries including the GoogleMapsTextSearchReader from llama_index and other utility libraries.

import logging
import sys
from llama_index.readers.google import GoogleMapsTextSearchReader
from llama_index.core import VectorStoreIndex
from IPython.display import Markdown, display
import os
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))

Make sure you have your Google Maps API key ready. You can set it directly in the code or store it in an environment variable named GOOGLE_MAPS_API_KEY.

# Set your API key here if not using environment variable
os.environ["GOOGLE_MAPS_API_KEY"] = api_key

Using the GoogleMapsTextSearchReader, we will load data for a search query. In this example, we search for quality Turkish food in Istanbul.

loader = GoogleMapsTextSearchReader()
documents = loader.load_data(
text="I want to eat quality Turkish food in Istanbul",
number_of_results=160,
)
# Displaying the first document to understand its structure
print(documents[0])

We will now create a VectorStoreIndex from the loaded documents. This index will allow us to perform efficient queries on the data.

index = VectorStoreIndex.from_documents(documents)

Finally, we will query the index to find the Turkish restaurant with the best reviews.

response = index.query("Which Turkish restaurant has the best reviews?")
display(Markdown(f"<b>{response}</b>"))

In this notebook, we demonstrated how to use the GoogleMapsTextSearchReader to load data from Google Maps, index it using the VectorStoreIndex, and perform a query to find the best-reviewed Turkish restaurant in Istanbul.

Note for AI agents: this documentation is built for programmatic access. - Overview of all docs: https://developers.llamaindex.ai/llms.txt - Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md - Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters. - A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/python/shared/mcp/