Launch Citymapper for Directions

The easiest way for your users to Get Directions

Let's say that you have an app or website with a database of places. But for your users, finding out how to get to those places is a pain. So we've worked on tools that make it easy for you to launch Citymapper for directions straight from your app. Getting directions, one tap. Done.

Let's see some examples...

 

 

 

 

How it works 

Your code can generate a Citymapper directions link like this:

https://citymapper.com/directions?endcoord=51.537060%2C-0.079179&endname=The%20Proud%20Archivist&endaddress=2-10%20Hertford%20Road%2C%20London%2C%20N1%205ET

Let's break down the parameters:


endcoord=51.537060%2C-0.079179
The end coordinate is the only absolutely necessary part of the link; without it Citymapper doesn't know where you want to go. In this case, we're encoding the latitude 51.537060 and the longitude -0.079179. (The %2C in the middle is a URL-encoded comma.)

endname=The%20Proud%20Archivist
This is the business name or nickname of the destination. It's optional, but it will make the directions look much nicer if you can include it. In this case it's just a URL-encoded version of The Proud Archivist.

endaddress=2-10%20Hertford%20Road%2C%20London%2C%20N1%205ET
This is the street address of the destination. This is also optional, but if you provide it, it will be displayed to the user at the end of the trip to help them find the right door. In this case, it's a URL-encoded version of the street address 2-10 Hertford Road, London, N1 5ET.

Advanced Options

Arrival Time
If your destination is an event, you can include the date & time in the link to get directions that will arrive in time.

arrival_time=2016-08-06T21%3A00%2B01%3A00
In this case, we're encoding the arrival date/time of August 6, 2016, at 9:00pm in the British Summer Time timezone, encoded in ISO-8601 format (2016-08-06T21:00+01:00), then URL-encoded.

We have previously supported the use of arriveby as a paramater in the url. We still do so but this is being deprecated so we recommend that you use arrival_time instead.

Start Point
If you want the directions to have a specific start point (rather than using the user's current location), you can specify it using the startcoord, startname, and startaddress parameters, which work like the endcoord, endname, and endaddress parameters, respectively.

Native Link Scheme
If you want to support older versions of iOS, or to force the directions to open in the native app in all cases, you can simply replace the web domain with citymapper://, for example: 

citymapper://directions?endcoord=51.537060%2C-0.079179&endname=The%20Proud%20Archivist&endaddress=2-10%20Hertford%20Road%2C%20London%2C%20N1%205ET

Back to app links for iOS 7 & 8
To ensure that your users can easily get back on iOS 7 & 8, we also support the x-callback-url scheme. This will add a banner to Citymapper that looks like this:



To use this, change the prefix of the url to:
citymapper://x-callback-url/directions

and provide x-source (the user-visible name of your app) and x-success (the deep link back into your app) parameters. For example:

citymapper://x-callback-url/directions?endcoord=51.537060%2C-0.079179&endname=The%20Proud%20Archivist&endaddress=2-10%20Hertford%20Road%2C%20London%2C%20N1%205ET&x-source=My%20App%20Name&x-success=myappscheme%3A%2F%2F

NOTE: Android and iOS 9 automatically allow you to get back to the previous app when deep-linking, so no need for this on these platforms.

 

All together now...

Putting it all together, here's a summary of the Citymapper directions link scheme:

https://citymapper.com/directions?startcoord=<lat>,<lon>&startname=<name>&startaddress=<address>&endcoord=<lat>,<lon>&endname=<name>&endaddress=<address>&arrival_time=<ISO-8601 datetime>

 

 

 

Want more?

Check out our clever web widgets...

- Get Directions Links
- Get Directions Button
- Get Directions Box


Want even more?

Check out our other tools for developers


Want even even more?

Tell us what you'd like. Get in touch