# Routing The Routing API calculates the best path connecting two or more points, where the meaning of ''best'' depends on the vehicle profile and use case. Besides path coordinates it can return turn-by-turn instructions, elevation, [path details](https://www.graphhopper.com/blog/2019/11/28/routing-api-using-path-details/) and other useful information about the route. Use our [API Explorer](https://explorer.graphhopper.com/) to explore the Routing API. ## Calculate a route - [GET /route](https://docs.graphhopper.com/openapi/routing/getroute.md): For the GET request you specify the parameters in the URL and can try it directly in every browser. However, it has some disadvantages when using many points (URL length limit) and the custom_model Feature cannot be used. Therefore, our recommended endpoint is the POST route endpoint. ## Calculate a route - [POST /route](https://docs.graphhopper.com/openapi/routing/postroute.md): To do a request you send JSON data. See the GET endpoint for an alternative query method which is slightly simpler to get started but has some disadvantages. Please note that in contrast to the GET endpoint, points are specified in the order of [longitude, latitude] and some parameter names use the plural. For example the string point=10,11&point=20,22 will be converted to the points array (plural): json { "points": [[11,10], [22,20]] } So this points array uses a format similar to GeoJson. Example: bash curl -X POST -H "Content-Type: application/json" "https://graphhopper.com/api/1/route?key=[YOUR_KEY]" -d '{"elevation":false,"points":[[-0.087891,51.534377],[-0.090637,51.467697]],"profile":"car"}'