Does Open Street Map have a driving directions API?

Can I get driving directions from one place to another in OSM? If so, is there an API for it?

OSM does not have such an API, but routing services based on OSM do, e.g. YOURS

An API call like this:

http://yournavigation.org/api/1.0/gosmore.php?instructions=1&lang=pt&format=kml&flat=52.212805495146135&flon=5.948099290893541&tlat=52.22731826068133&tlon=5.957283174560605&v=motorcar&fast=1

Returns this:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
  <Document>
    <name>KML Samples</name>
    <open>1</open>
    <distance>2.232464</distance>
    <traveltime>319</traveltime>
    <description>Prossiga em Prinses Beatrixlaan. Siga a estrada para a 175 m.<br>
Prossiga em Koning Lodewijklaan. Siga a estrada para a 90 m.<br>
Curva à direita para Sprengenweg. Siga a estrada para a 450 m.<br>
Curva ligeira à direita em Badhuisweg. Siga a estrada para a 100 m.<br>
Curva ligeira à esquerda em Vosselmanstraat. Siga a estrada para a 250 m.<br>
Prossiga em Loolaan. Siga a estrada para a 350 m.<br>
Curva ligeira à direita em Daendelsweg. Siga a estrada para a 100 m.<br>
Curva à direita para Emmalaan. Siga a estrada para a 100 m.<br>
Curva à esquerda para Koninginnelaan. Siga a estrada para a 100 m.<br>
Prossiga em Loseweg. Siga a estrada para a 10 m.<br>
Prossiga em Koninginnelaan. Siga a estrada para a 500 m.<br>
Curva à esquerda para Langeweg. Siga a estrada para a 10 m.<br>
Prossiga em fini.<br>
</description>
    <Folder>
      <name>Paths</name>
      <visibility>0</visibility>
      <description>Examples of paths.</description>
      <Placemark>
        <name>Tessellated</name>
        <visibility>0</visibility>
        <description><![CDATA[If the <tessellate> tag has a value of 1, the line will contour to the underlying terrain]]></description>
        <LineString>
          <tessellate>1</tessellate>
          <coordinates> 5.948064,52.212801
5.94805,52.21284
5.94793,52.21314
5.94751,52.21429
5.94719,52.21505
5.947301,52.215097
5.94748,52.21517
5.94792,52.21536
5.94866,52.21567
5.94889,52.21578
5.949499,52.21604
5.94983,52.21618
5.94999,52.21623
5.95055,52.216496
5.950758,52.216606
5.951739,52.216908
5.952486,52.217153
5.952709,52.217135
5.953806,52.216864
5.953889,52.216844
5.953984,52.216824
5.954093,52.21695
5.954219,52.217041
5.955353,52.217388
5.9557,52.21752
5.95577,52.217561
5.955902,52.217749
5.95587,52.21785
5.95583,52.21794
5.95577,52.21801
5.955471,52.21823
5.95536,52.21836
5.955341,52.218394
5.95529,52.218484
5.95513,52.21885
5.95495,52.21938
5.95491,52.21947
5.954785,52.219804
5.95473,52.21997
5.954664,52.220165
5.95447,52.22068
5.95432,52.22102
5.9541,52.22131
5.95399,52.22141
5.954037,52.221451
5.95488,52.22215
5.95507,52.22211
5.956383,52.222047
5.956397,52.222301
5.956324,52.222518
5.956162,52.222799
5.95608,52.222896
5.956043,52.222976
5.956016,52.223087
5.956033,52.223213
5.956076,52.223392
5.95634,52.22427
5.956546,52.224913
5.95702,52.2261
5.957522,52.227357
5.957344,52.227404
          </coordinates>
        </LineString>
      </Placemark>
    </Folder>
  </Document>
</kml>

OpenRouteService and Cloudmade do have an similar Interface.

As does OSRM. The OSM ecosystem offers plenty of choices! :slight_smile: