# OpenRouteServiceTools grounds agents in real routes and travel times

> New OpenRouteServiceTools swaps an LLM's distance guesses for a real routing engine. Pass plain place names and an agent gets back accurate distances, real drive times, and turn-by-turn routes from live map data.

- Published: 2026-08-05
- Author: Agno Team
- Categories: Changelog
- Canonical: https://www.agno.com/articles/openrouteservicetools-grounds-agents-in-real-routes-and-travel-times
- Markdown: https://www.agno.com/articles/openrouteservicetools-grounds-agents-in-real-routes-and-travel-times.md

LLMs guess at distances. They estimate from training data instead of measuring roads, and the number is confidently wrong often enough to break anything that depends on it.

Our new `OpenRouteServiceTools` swaps the guess for a real routing engine. You pass plain place names and the toolkit handles geocoding, so an agent gets back accurate distances, real drive times, and turn-by-turn routes from live map data.

```python
from agno.agent import Agent
from agno.tools.openrouteservice import OpenRouteServiceTools

agent = Agent(tools=[OpenRouteServiceTools()], markdown=True)
agent.print_response("How long is the drive from Chicago to St. Louis, and what's the route?")
```

Three tools ship with it: geocode a place name, get directions with real distance and time between two points, and build a distance matrix across many stops for comparing locations at once. Switch the profile to walking or cycling when you need it. Setup is one line plus a free `ORS_API_KEY` from HeiGIT, no credit card.

See [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/91_tools/openrouteservice_tools.py) for reference.
