Let your app find its way

Mapzen Turn-by-Turn is a navigation service for the world, based on open data. Add routing to your app and let your users go anywhere on the planet, whether by foot, bike, car, bus, train, or ferry.

The Mapzen Turn-by-Turn API makes it easy to let navigation find its way into your apps, based on road network data from OpenStreetMap and public transit feeds from Transitland. Whether your users need multiple locations, points along a route, custom routing options, or multimodal routing, our API is ready to help.

Sign up for an API key to add routing and navigation to your applications today! See how Mapzen Turn-by-Turn is being used in production by our friends.

Features

Flexible routes and options

Mapzen Turn-by-Turn allows you to customize routes on the fly by embedding road characteristics and connectivity information (graph attribution) into its tiled dataset. Unlike ‘pre-baked’ costing models, your applications can use a wide variety of route types with different costing options.

Bicycle routing is a good example of Mapzen Turn-by-Turn’s flexibility. Bicycle type and cycling speed can be changed, along with user preferences for paved roads, dirt paths and hills. Multimodal routes also have a rich set of options, including setting preferences for bus, rail, transfers, and walking distance.

More information on route types and options is available within the API documentation.

Narrative guidance

Mapzen Turn-by-Turn returns meaningful guidance and narrative directions to assist users during their trip. No more repeated instruction to “continue on [slight variant of road name]” — the narrative is succinct, easy to read, and useful. Redundant maneuvers are collapsed, transitions at complex intersections are simplified, and exit information on highways is clear and timely. If your app is capable of voice guidance, audio-friendly prompts are provided in the results. All these thoughtful features lead to a happier and shorter trip. You can learn more about narrative guidance here.

example of improved narrative guidance

Powered by open-source

Mapzen Turn-by-Turn is powered by Valhalla, an open-source routing and navigation engine. Check out the code base to learn more. Feel free to comment and submit issues and feature requests.

Timely data updates

The data in Mapzen Turn-by-Turn is fresh and up-to-date. We handle the complexity of the daily updates from OpenStreetMap so you don’t have to. Our team works with the wider OSM community to develop tools and methods aimed at improving OSM data quality for routing and guidance.

Get started

Let’s do this

Sign up for an API key to add routing to your project!

Documentation

The Mapzen Turn-by-Turn documentation has step-by-step walkthroughs and technical reference to use the service.

Add navigation to your map

If you’re looking to use Mapzen Turn-by-Turn with a Leaflet web map, check out our plugin for Leaflet Routing Machine (LRM). You’ll be able to start offering Mapzen Turn-by-Turn on your web map in minutes! Our tutorial will get you started in no time.

Harness the power of the API

A Turn-by-Turn API response includes a JSON array of maneuvers including textual and voice directions suitable for navigation and guidance applications. The route path is returned as an encoded polyline which can be decoded and displayed on a map. Many more details are available in the API documentation.

Mapzen is providing Turn-by-Turn as a shared service. API rate limits are generous, but please drop us a line if you encounter them. We also provide companion services that may help you get more out of your API requests.

Companion services from Mapzen

  • The Time Distance Matrix is ideal for planning and logistics apps where analysis of (yes) the time and distance between a set of locations where route shape and narrative guidance are not yet needed. Learn more here.
  • Height and range data can be acquired for points and paths via the Elevation Service rerturns. You can learn more here.
  • When GTFS feeds of transit providers are added to the Transitland Feed Registry, the routes and stops can be integrated into Mapzen Turn-by-Turn and provide multimodal routing.

Community

Mapzen Turn-by-Turn has been out in the wild for quite some time. Check out some of our favorite examples from our friends!

Are you are using Mapzen Turn-by-Turn in a project? Send us a tweet or an email!

Do you know of a public GTFS feed from a transit agency? Submit it to Transitland and enable transit routing in your neighborhood!

Feedback

Mapzen Turn-by-Turn has come a long way in a short time. But we are not done yet! The framework is in place to add new features, add new costing options and methods, expand multimodal routing features and coverage, and to help improve OSM road network quality worldwide. The team at Mapzen is interested in your feedback. Please report any routing issues and suggest new features at hello@mapzen.com.

Documentation

API Reference

A comprehensive reference of parameters and service limits of the Turn-by-Turn routing service.

Architectural Overview and Glossary

Summary of functions and definitions of terms unique to routing and graphs.

Source Code

Source code for Valhalla, the open-source project that powers Turn-by-Turn, on GitHub.