> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-5e9cc07a-preview-toolre-1772123259-dfebfdb.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Google routes integration

> Integrate with the Google routes tool using LangChain JavaScript.

The Google Routes Tool allows your agent to utilize the Google Routes API in order to find a route between
two or more destinations. You can get a route by walk, transit, car, motorcycle and bicycle.

## Setup

You will need to get an API key from [Google here](https://developers.google.com/maps/documentation/places/web-service/overview)
and [enable the Routes API](https://console.cloud.google.com/apis/library/routes.googleapis.com). Then, set your API key
as `process.env.GOOGLE_ROUTES_API_KEY` or pass it in as an `apiKey` constructor argument.

## Usage

<Tip>
  See [this section for general instructions on installing LangChain packages](/oss/javascript/langchain/install).
</Tip>

```bash npm theme={null}
npm install @langchain/openai @langchain/community @langchain/core
```

```typescript theme={null}
import { GoogleRoutesAPI } from "@langchain/community/tools/google_routes";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { ChatOpenAI } from "@langchain/openai";
import { AgentExecutor, createToolCallingAgent } from "@langchain/classic/agents";

export async function run() {
  const tools = [new GoogleRoutesAPI()];

  const llm = new ChatOpenAI({
    model: "gpt-3.5-turbo-0125",
  });

  const prompt = ChatPromptTemplate.fromMessages([
    ["system", "You are a helpful assistant"],
    ["placeholder", "{chat_history}"],
    ["human", "{input}"],
    ["placeholder", "{agent_scratchpad}"],
  ]);

  const agent = await createToolCallingAgent({
    llm,
    tools,
    prompt,
  });

  const agentExecutor = new AgentExecutor({
    agent,
    tools,
  });

  const result = await agentExecutor.invoke({
    input: "How to go from the Eiffel Tower to the Louvre Museum by transit?",
  });

  console.log(result);

  /* {
    input: 'How to go from the Eiffel Tower to the Louvre Museum by transit?',
    output: 'To travel from the Eiffel Tower to the Louvre Museum by transit, here is the route information:\n' +
      '\n' +
      '- Departure: Eiffel Tower\n' +
      '- Arrival: Louvre Museum\n' +
      '- Distance: 4.1 km\n' +
      '- Duration: 18 minutes\n' +
      '- Transit Fare: €2.15\n' +
      '\n' +
      'Travel Instructions:\n' +
      "1. Walk to Pont d'Iéna\n" +
      '2. Take bus 72 towards Gare de Lyon - Maison de La RATP\n' +
      '3. Walk to your destination\n' +
      '\n' +
      'Departure Time: 22:03\n' +
      'Arrival Time: 22:15\n' +
      '\n' +
      'Please follow these instructions to reach the Louvre Museum from the Eiffel Tower.'
  } */
}
```

## Related

* Tool [conceptual guide](/oss/javascript/langchain/tools)
* Tool [how-to guides](/oss/javascript/langchain/tools)

***

<Callout icon="edit">
  [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/oss/javascript/integrations/tools/google_routes.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
</Callout>

<Callout icon="terminal-2">
  [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
</Callout>
