Open Directions API

The Open Directions API is similar to our MapQuest Directions API -- providing a simple interface to get routes between two or more points -- but instead relies solely on data contributed to OpenStreetMap.

If you have questions or comments while going through this guide, please visit our Support Forums.


The Open Directions API is designed to accept and return a variety of formats. The input format supplied to the Route Service is not required to be the same format returned from the Route Service.

The Open Directions API does allow for multipoint routes, up to 50 locations and under 8000 miles (See the Specifying Lat/Lng Locations section for details).


The core and most basic function of our Directions API. Route provides information on how to get from point A to point B, or points C, D and E. Quite simply, it shows you and your users how to get where they are going.

Optimized Route

The Optimized Route function allows users to customize their route experience to their preferences, including the quickest drive time, the shortest drive distance, or even how long it would take to walk instead of driving. The origin and destination locations remain fixed, but the route is ordered to find the optimal path.

Route Matrix

The Route Matrix function enables the user to see the times and distance between locations. Want to know how many miles it is between Denver and Chicago? Need to know how long it will take to drive from your home/office to a store? Route matrix provides this information.

Alternate Routes

The Alternate Routes function allows users to request multiple potential routes between two locations.

Route Shape

The Route Shape function provides a visual indicator (a shape) of a previously requested route between any number of points. Generally, this is a line leading from location to location.

Drag Route

The Drag Route function allows users to adjust their route "on the fly," by dragging the route to add new location or a new road.

Path from Route

The Path from Route function provides the times/distances needed to reach a set of locations from an existing route.

Supporting Documentation