# Get Driving Directions

> Get Driving Directions is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Returns turn-by-turn driving directions with multiple route options, distances, and durations between an origin and destination.

## Facts

- Endpoint: GET https://agents.openwebninja.com/driving-directions/get-directions?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-get-driving-directions-b8c397a6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8qMtT9LnhGMAipWeSfWXe

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-openwebninja-com-get-driving-directions-b8c397a6
```

Example prompt: Can you get me driving directions from Church St & 29th St in San Francisco to 145 5th Ave in New York, avoiding tolls and ferries, with distances shown in miles?

## When to prefer this

Choose this endpoint when you need structured driving directions with turn-by-turn instructions, multi-route options, and time/distance calculations between two arbitrary locations. It supports both free-text addresses and lat/lng coordinates, route avoidance preferences, and localized distance units, making it ideal for navigation, logistics, and trip-planning agents. Prefer it over generic mapping lookups when you need full route details including step-by-step instructions and timestamps.

## Known failure modes

- Unresolvable origin or destination address returns an error or empty result
- Invalid Unix timestamps for departure/arrival time may cause unexpected behavior
- Unsupported country or language codes may fall back to defaults or return errors
- Network or upstream API failures may produce 5xx responses
- Overly vague location queries may resolve to incorrect or ambiguous locations

## How this service works

Get driving directions from an origin to a destination.

## Output

Returns an object containing resolved origin and destination details (name, address, coordinates, Google Places ID), and an array of best routes each with a route name, total distance (in meters and human-readable label), total duration (in seconds and human-readable label), departure and arrival timestamps, and route parts broken down into individual segments with summaries, distance, duration, and turn-by-turn instructions.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "origin",
  "destination"
 ],
 "properties": {
  "origin": {
   "type": "string",
   "description": "Directions origin / starting point - specified as free-text location query or latitude, longitude pair.  \n\n  **Examples:**  \n  `Church St & 29th St, San-Francisco, CA, USA`  \n  `37.743292, -122.420437`"
  },
  "country": {
   "type": "string",
   "default": "US",
   "description": "The country/region to use for the query, specified as a 2-letter country code - see `ISO 3166-1 alpha-2`."
  },
  "language": {
   "type": "string",
   "default": "EN",
   "description": "The language to use for the query, specified as a 2-letter language code - see `ISO 639-1 alpha-2`."
  },
  "destination": {
   "type": "string",
   "description": "Directions destination - specified as free-text location query or latitude, longitude pair.  \n\n  **Examples:**  \n  `145 5th Ave, New York, NY, USA`  \n  `40.649238, -73.974229`"
  },
  "arrival_time": {
   "type": "number",
   "default": 0,
   "description": "Arrival time - specified as a Unix-Timestamp in destination local time.  \n\n  **Example:** `1665752460`"
  },
  "avoid_routes": {
   "type": "string",
   "description": "Route types to avoid - specified as a comma delimited list of the following values: `tolls`, `highways`, `ferries`.  \n\n  **Examples:**  \n  `ferries,tolls`  \n  `highways`"
  },
  "departure_time": {
   "type": "number",
   "default": 0,
   "description": "Departure time - specified as a Unix-Timestamp in origin local time.  \n\n  **Example:** `1665785617`"
  },
  "distance_units": {
   "enum": [
    "auto",
    "km",
    "mi"
   ],
   "type": "string",
   "default": "auto",
   "description": "Set the distance units in the response to Kilometers or Miles.  \n  The default auto value will use the common distance units used in origin/destination (e.g. Miles in the US, Kilometers in Germany)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "object",
   "properties": {
    "origin": {
     "type": "object",
     "properties": {
      "name": {
       "type": "string",
       "description": "Name of the origin location"
      },
      "address": {
       "type": "string",
       "description": "Short address of the origin"
      },
      "latitude": {
       "type": "number",
       "description": "Latitude coordinate of the origin"
      },
      "google_id": {
       "type": "string",
       "description": "Google Places ID for the origin"
      },
      "longitude": {
       "type": "number",
       "description": "Longitude coordinate of the origin"
      },
      "full_address": {
       "type": "string",
       "description": "Complete address of the origin"
      }
     }
    },
    "best_routes": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "route_name": {
        "type": "string",
        "description": "Name or identifier of the route"
       },
       "route_parts": {
        "type": "array",
        "items": {
         "type": "object",
         "properties": {
          "summary": {
           "type": "string",
           "description": "Brief description of the route part"
          },
          "instructions": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "photo_url": {
              "type": "string",
              "description": "URL of an instructional photo"
             }
            }
           }
          },
          "distance_label": {
           "type": "string",
           "description": "Human-readable distance for this part"
          },
          "duration_label": {
           "type": "string",
           "description": "Human-readable duration for this part"
          },
          "distance_meters": {
           "type": "integer",
           "description": "Distance of this route part in meters"
          },
          "duration_seconds": {
           "type": "integer",
           "description": "Duration of this route part in seconds"
          }
         }
        }
       },
       "distance_label": {
        "type": "string",
        "description": "Human-readable distance description"
       },
       "duration_label": {
        "type": "string",
        "description": "Human-readable duration description"
       },
       "distance_meters": {
        "type": "integer",
       
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-get-driving-directions-b8c397a6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
