Documentation
From zero to first route in under 5 minutes. No SDK required — standard HTTP with any language.
Getting Started
Get your API Key
Sign up for free to get your gr_ API key. 10,000 requests/month included — no credit card required.
Authenticate
Pass your key via any of these methods:
Header: X-API-Key: gr_xxx
Header: Authorization: Bearer gr_xxx
Query: ?api_key=gr_xxx
Make your first request
Choose your language:
curl -X POST https://api.georavity.com/v1/route \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"locations": [
{"lat": 52.52, "lon": 13.405},
{"lat": 48.856, "lon": 2.352}
],
"costing": "auto"
}'const res = await fetch("https://api.georavity.com/v1/route", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
locations: [
{ lat: 52.52, lon: 13.405 },
{ lat: 48.856, lon: 2.352 },
],
costing: "auto",
}),
});
const data = await res.json();
console.log(data.trip.summary);import requests
response = requests.post(
"https://api.georavity.com/v1/route",
headers={
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"locations": [
{"lat": 52.52, "lon": 13.405},
{"lat": 48.856, "lon": 2.352},
],
"costing": "auto",
},
)
data = response.json()
print(data["trip"]["summary"])package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
body, _ := json.Marshal(map[string]any{
"locations": []map[string]float64{
{"lat": 52.52, "lon": 13.405},
{"lat": 48.856, "lon": 2.352},
},
"costing": "auto",
})
req, _ := http.NewRequest("POST",
"https://api.georavity.com/v1/route",
bytes.NewBuffer(body))
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var result map[string]any
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["trip"])
}API Endpoints
Route
Turn-by-turn routing between locations
Isochrone
Reachability areas from a point in time or distance
Matrix
Many-to-many time/distance matrix
Optimized Route
Traveling salesman — optimal waypoint ordering
Map Match
Snap GPS traces to road network
Elevation
Elevation data for coordinates
Locate
Find nearest road segment to coordinates
Expansion
Routing algorithm expansion visualization
Geocode
Convert address text to coordinates
Reverse Geocode
Convert coordinates to an address
Autocomplete
Search-as-you-type address suggestions
Rate Limits & Headers
Every authenticated response includes rate limit headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1
X-Request-ID: af6981a8185ad158
When rate-limited, you'll receive a 429 Too Many Requests with a Retry-After header.