GraphHopper Directions API
"Route Planning For Your Application" [1]
GraphHopper Directions API is a routing and logistics platform built for developers who need turn-by-turn navigation, delivery optimization, isochrone analysis, map matching, and geocoding over worldwide OpenStreetMap coverage supplemented by TomTom data in 150+ countries. It offers self-serve subscription plans with published pricing, a free tier capped at 500 credits per day for non-commercial use, and an enterprise option backed by a published SLA. The REST API uses API key authentication and ships official SDKs for JavaScript and Java, with customers including GLS, DB Systel, and Posten.
Best for / Avoid if
Best for: Prototypes and side projects - free to start, no sales call; Teams needing broad API coverage out of the box
Avoid if: You have strict compliance requirements
Scores
- 30 / 100Agent friendliness
- 75 / 100Pricing transparency
- 80 / 100Setup speed
- 35 / 100Docs quality
- 90 / 100Procurement ease
- 35 / 100Trust readiness
Pricing & procurement
- Pricing model
- Subscription [2]
- Published pricing
- ✓ Yes [3]
- Free tier
- ✓ Yes [4]
- Free tier details
- Free plan at €0/month with 500 daily credits, max 5 locations per request, max 1 vehicle. Non-commercial use only (commercial allowed during development phase; production requires inquiry). Forum support only, no rate limit guarantees. [5]
- Self-serve signup
- ✓ Yes [6]
- Requires sales call
- ✗ No
- Enterprise plan
- ✓ Yes [7]
| Plan | Item | Per | Amount | Source |
|---|---|---|---|---|
| Free | monthly subscription — 500 daily credits, max 5 locations, max 1 vehicle | month | $0 | source |
| Basic | monthly subscription — 5,000 daily credits, max 30 locations, max 2 vehicles | month | $79.83 | source |
| Standard | monthly subscription — 15,000 daily credits, max 80 locations, max 10 vehicles | month | $230.24 | source |
| Premium | monthly subscription — 50,000 daily credits, max 200 locations, max 20 vehicles | month | $555.08 | source |
| Custom / Enterprise | monthly subscription — custom daily credits, up to 10,000 locations, up to 200 vehicles | month | - | source |
| All paid plans | attribution (co-branding) discount — 20% off plan price when showing GraphHopper attribution | month | 20% | source |
| All plans | Routing API request (2–10 locations, standard) | 1 credit per request | - | source |
| All plans | Routing API request (>10 locations) | num_locations / 10 credits per request | - | source |
| All plans | Routing API request with alternative routes (2–10 locations) | 2 credits per request | - | source |
| All plans | Routing API round-trip request | 2 credits per request | - | source |
| All plans | Routing API TSP optimization (optimize=true, 2–10 locations) | 10 credits per request | - | source |
| All plans | Matrix API request | min(origins*destinations/2, max(origins,destinations)*10) credits per request | - | source |
| All plans | Route Optimization API job (VRP) | vehicles * locations credits per job (min 10, max 10*locations) | - | source |
| All plans | Route Optimization API — GET solution fetch | 0.3 credits per request | - | source |
| All plans | Geocoding API request (default/Gisgraphy provider) | 0.3 credits per request | - | source |
| All plans | Geocoding API request (Nominatim/NetToolkit/OpenCageData provider) | 0.9 credits per request | - | source |
| All plans | Map Matching API request | input_locations / 50 credits per request (min 1) | - | source |
| All plans | Isochrone API request | 2 credits per minute explored (min 10) per request | - | source |
| All plans | Cluster API request (standard profile) | 10 credits per customer (min 10) per request | - | source |
| All plans | Cluster API request (as-the-crow-flies profile) | 1 credit per customer (min 1) per request | - | source |
Capabilities
- Supported actions
- directions, route, distance_matrix, route_optimization, vehicle_routing, isochrone, map_matching, geocoding, reverse_geocoding, clustering, custom_profiles, waypoint_optimization [8]
- Regions
- Worldwide coverage via OpenStreetMap, TomTom MultiNet: 150+ countries and 30 territories, Travel modes: car, truck, bike (including cargo bike), foot, scooter, motorcycle, Custom vehicle profiles supported, Historical traffic (TomTom) - live traffic not supported, Public transit routing via OSM and GTFS data [9]
- Languages
- 49 languages supported for turn-by-turn instructions (locale parameter, e.g. de, pt_PT, pt_BR)
- Input types
- origin/destination coordinates (lat/lng pairs), waypoints (multiple points), addresses (for geocoding), GPS tracks (GPX files for map matching), vehicle profiles (car, truck, bike, foot, scooter, custom), time windows (Unix timestamps), vehicle capacity and skills constraints, custom model JSON for routing customization, departure time for time-dependent routing
- Output types
- route geometry/polyline, distance, duration, turn-by-turn instructions, elevation, GeoJSON, JSON, matrix of travel times and distances, isochrone polygon, optimization solution with stop assignments, clustering solution, map-matched GPS trace
- Webhooks
- ✗ No
- Sandbox / test mode
- ✗ No [10]
- SDK languages
- JavaScript, Java [11]
- MCP server
- ✗ No [12]
Trust & compliance
- SOC 2
- – Unknown [13]
- HIPAA
- ✗ No [14]
- GDPR
- ✓ Yes [15]
- ISO 27001
- – Unknown
- PCI DSS
- ✗ No [16]
- Published SLA
- ✓ Yes [17]
- Rate limits
- Free: no guarantee; Basic: 1 req/s, 100 credits/min; Standard: 2 req/s, 400 credits/min; Premium: 10 req/s, 1,000 credits/min [18]
- Known restrictions
- Free tier is non-commercial use only (commercial use in development phase tolerated; production commercial use requires inquiry), Free tier limited to 1 vehicle and 5 locations per request, Attribution required: 'Powered by GraphHopper API' link on all free-plan apps and non-white-label paid plans, OpenStreetMap attribution always required regardless of plan, Mass downloading and scraping prohibited unless package explicitly permits, Temporary client-side caching permitted; no persistent storage of routes, Free tier disables flexible mode (ch.disable=true) and restricts vehicle profiles, Only one free package per user, TomTom Add-on uses historical traffic only - live traffic not supported, Custom profiles geographic coverage is restricted, Max locations per request: 5 (Free), 30 (Basic), 80 (Standard), 200 (Premium), up to 10,000 (Custom), Max vehicles: 1 (Free), 2 (Basic), 10 (Standard), 20 (Premium), up to 200 (Custom) [19]
Developer surface
Integration
Adoption & maturity
- Launched
- 2012-01-01
- GA
- 2020-05-25
- Notable customers
- GLS, DB Systel, Bumbal, Posten, Nordsense, Washmen
Other Routing APIs
Azure Maps Route
"Use to get the best route between an origin and destination for automobile, commercial trucks and walking routes."
Route4Me
"Industrial Grade Route Planning And Route Optimization Software" that "automates and integrates mission-critical last mile workflows, empowering route planners, dispatchers, drivers, and managers to take your business to the next level."
HERE Routing API
"Plan stress-free journeys" with routing solutions "for various modes of transport" enabling last-mile delivery, fleet management, and freight logistics.
Radar Geocoding API
"Use Radar's geocoding APIs to convert addresses to latitude and longitude coordinates, or vice versa."
Routific
"Delivery management for growing businesses"
Google Routes API
"Compute Routes returns the ideal route between two locations, and Compute Route Matrix returns distances and travel times for a matrix of routes between different origin and destination locations."
References
- ↑Description: graphhopper.com
- ↑Pricing model: support.graphhopper.com · graphhopper.com
- ↑Published pricing: graphhopper.com
- ↑Free tier: graphhopper.com · graphhopper.com
- ↑Free tier details: graphhopper.com · graphhopper.com
- ↑Self-serve signup: graphhopper.com
- ↑Enterprise plan: graphhopper.com · support.graphhopper.com
- ↑Supported actions: graphhopper.com · docs.graphhopper.com
- ↑Regions: graphhopper.com · docs.graphhopper.com
- ↑Sandbox: docs.graphhopper.com
- ↑SDK languages: github.com · github.com
- ↑MCP server: composio.dev
- ↑SOC 2: graphhopper.com
- ↑HIPAA: graphhopper.com · graphhopper.com
- ↑GDPR: graphhopper.com · graphhopper.com
- ↑PCI DSS: graphhopper.com
- ↑Published SLA: graphhopper.com · graphhopper.com
- ↑Rate limits: graphhopper.com
- ↑Known restrictions: graphhopper.com · graphhopper.com · support.graphhopper.com
Change history
- 2026-06-15 Score Agent Friendliness: 10 → 30
- 2026-06-15 Score Docs Quality: 15 → 35
- 2026-06-14 Has Structured Data: (none) → Yes
- 2026-06-14 API Reference URL: (none) → https://docs.graphhopper.com/
- 2026-06-14 Robots Allows Agents: (none) → Yes
- 2026-06-14 Capabilities: {} → {"truck":true,"traffic":true,"transit":true,"isochrones":true,"map_matching":tr…
- 2026-06-14 Summary Md: (none) → GraphHopper Directions API is a routing and logistics platform built for develo…
- 2026-06-14 Avoid If: (none) → You have strict compliance requirements
- 2026-06-14 Scoring Methodology: (none) → Scores are computed deterministically from this profile's published, sourced fi…
- 2026-06-14 Best For: (none) → Prototypes and side projects - free to start, no sales call, Teams needing broa…
- 2026-06-14 Score Agent Friendliness: (none) → 10
- 2026-06-14 Score Pricing Transparency: (none) → 75
- 2026-06-14 Score Setup Speed: (none) → 80
- 2026-06-14 Score Docs Quality: (none) → 15
- 2026-06-14 Score Procurement Friction: (none) → 90
- 2026-06-14 Score Trust Readiness: (none) → 35
- 2026-06-14 Llms Txt Present: (none) → No
- 2026-06-14 Docs URL: (none) → https://www.graphhopper.com/docs
- 2026-06-14 Status Page URL: (none) → https://status.graphhopper.com
- 2026-06-14 Rendering: (none) → static
- 2026-06-14 Self Serve Signup: set to Yes
- 2026-06-14 Requires Sales Call: set to No
- 2026-06-14 Enterprise Plan Available: set to Yes
- 2026-06-14 HIPAA: set to No
- 2026-06-14 GDPR: set to Yes
- 2026-06-14 PCI DSS: set to No
- 2026-06-14 SLA Published: set to Yes
- 2026-06-14 SLA URL: set to https://www.graphhopper.com/terms/
- 2026-06-14 Data Retention Policy URL: set to https://www.graphhopper.com/privacy/
- 2026-06-14 Documented Rate Limits: set to Free: no guarantee; Basic: 1 req/s, 100 credits/min; Standard: 2 req/s, 400 cre…
- 2026-06-14 Known Restrictions: set to Free tier is non-commercial use only (commercial use in development phase toler…
- 2026-06-14 Auth Methods: set to api_key
- 2026-06-14 Auth Docs URL: set to https://docs.graphhopper.com/openapi/section/authentication
- 2026-06-14 API Style: set to rest
- 2026-06-14 Base URL: set to https://graphhopper.com/api/1
- 2026-06-14 API Version: set to 1.0.0
- 2026-06-14 Versioning Scheme: set to url
- 2026-06-14 Stability: set to ga
- 2026-06-14 Quickstart URL: set to https://www.graphhopper.com/developers/
- 2026-06-14 Idempotency Supported: set to No
- 2026-06-14 Error Format: set to vendor-specific JSON ({message, hints[]})
- 2026-06-14 Requires Verification: set to No
- 2026-06-14 Price Basis: set to month
- 2026-06-14 Free Tier Limit: set to 500 credits/day, non-commercial use only
- 2026-06-14 Launched At: set to 2012-01-01
- 2026-06-14 Slug: set to graphhopper
- 2026-06-14 Notable Customers: set to GLS, DB Systel, Bumbal, Posten, Nordsense, Washmen
- 2026-06-14 Fields Not Found: set to soc2 (no mention in privacy policy, terms, or any findable trust page), iso_270…
- 2026-06-14 Source Confidence: set to high
- 2026-06-14 Extractor: set to claude-subagent:sonnet
Suggest an edit / leave a review
Leave a review or comment
curl -X POST https://apio.sh/api/feedback/graphhopper \
-H 'Content-Type: application/json' \
-d '{"kind":"review","rating":5,"body":"Your experience with this API…"}'Suggest a correction to a field (cite a source)
curl -X POST https://apio.sh/api/suggest/graphhopper/FIELD \
-H 'Content-Type: application/json' \
-d '{"value":"corrected value","citations":[{"url":"https://source.example/page","excerpt":"supporting quote"}],"note":"what changed and why"}'