For Agents
Calculate routes, optimize multi-stop tours, build matrices, cluster delivery stops, and geocode addresses through the full GraphHopper Directions surface.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the GraphHopper Directions API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with GraphHopper Directions API.
Calculate point-to-point and multi-waypoint routes for car, bike, foot, and other profiles via /route
Submit a clustering problem to /cluster and poll /cluster/solution/{jobId} for grouped stops
Compute reachable area polygons from a starting point via /isochrone
GET STARTED
Use for: Calculate driving directions for a multi-stop tour, Cluster 200 delivery stops into groups of similar drive time, Build a matrix of drive times between 30 stores, Geocode an address into latitude and longitude
Not supported: Does not host interactive map tiles, provide live traffic on the OSM layer, or manage user accounts — use for routing, optimization, matrices, isochrones, geocoding, map matching, and clustering only.
Jentic publishes the only available OpenAPI specification for GraphHopper Directions API, keeping it validated and agent-ready. This spec covers the full Directions API surface — Routing, Route Optimization, Isochrone, Map Matching, Matrix, Geocoding, and Cluster — across 16 endpoints, with both synchronous and async job-style calls. Authentication is a single api key passed as a query parameter, and OpenStreetMap is the default data layer with optional TomTom traffic add-ons available for the Route Optimization API.
Build many-to-many distance and time matrices via /matrix and /matrix/calculate
Geocode and reverse geocode addresses against OpenStreetMap data via /geocode
Optimize a vehicle routing problem with time windows via the Route Optimization endpoints
Patterns agents use GraphHopper Directions API for, with concrete tasks.
★ Fleet Dispatch with Clustering and Optimization
Logistics operators submit large stop lists to /cluster to group nearby orders, then feed each cluster into the Route Optimization API for per-vehicle sequencing. The two-stage flow shortens optimization time and produces realistic per-driver routes for next-day dispatch.
Submit 200 stops to /cluster/calculate with 5 clusters, then send each cluster to the route optimization endpoints and return the per-vehicle stop order
Service-Area Mapping for Field Teams
Field-service businesses use /isochrone to draw the area their technicians can reach within a service-level-agreement window from each branch. Combined with /matrix, the same data supports branch-to-branch coverage analysis and SLA verification.
Call /isochrone for each of 10 branch coordinates with time_limit=2700 seconds and return a feature collection of reachable polygons
Geocoding Pipelines for Address Onboarding
Customer onboarding pipelines use /geocode to normalize free-text addresses to coordinates and return a canonical address string, with reverse geocoding available for cases where a user pins a map point. The endpoint is hosted on the same key as routing, simplifying credential management.
Geocode a list of 500 addresses by calling /geocode with q for each and storing the top result with confidence score
Agent-Driven Operations Assistant via Jentic
An AI ops assistant uses Jentic to discover the right GraphHopper operation for instructions like 'cluster these stops' or 'find a route'. Jentic injects the api_key from the vault and the agent works with the structured response without writing GraphHopper-specific HTTP code.
Search Jentic for 'cluster delivery stops', load the schema for /cluster/calculate, and execute it with the user's stop list
16 endpoints — jentic publishes the only available openapi specification for graphhopper directions api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/route
Calculate a route between waypoints
/cluster/calculate
Submit a clustering problem
/cluster/solution/{jobId}
Fetch a clustering solution
/matrix/calculate
Submit an async matrix problem
/isochrone
Compute reachable area polygons
/geocode
Forward and reverse geocode
/match
Snap a GPS trace to the road network
/route
Calculate a route between waypoints
/cluster/calculate
Submit a clustering problem
/cluster/solution/{jobId}
Fetch a clustering solution
/matrix/calculate
Submit an async matrix problem
/isochrone
Compute reachable area polygons
Three things that make agents converge on Jentic-routed access.
Credential isolation
GraphHopper api keys are stored encrypted in the Jentic vault and injected as the api_key query parameter at execution time. Agents only ever see the response, never the raw secret.
Intent-based discovery
Agents search Jentic by intent (e.g., 'cluster delivery stops') and Jentic returns the matching GraphHopper operation with its JSON schema, so the agent can call /cluster/calculate or /vrp directly.
Time to first call
Direct GraphHopper integration: 2-3 days to wire routing, optimization, and async clustering with retries. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
GraphHopper Directions API (core)
Same vendor, smaller 9-endpoint spec without the Cluster API
Choose when the agent only needs core routing, isochrones, geocoding, or matrix calls without clustering
LocationIQ
OSM-based geocoding on a separate quota
Use alongside when bulk geocoding before routing exceeds the GraphHopper credit budget
Specific to using GraphHopper Directions API through Jentic.
Why is there no official OpenAPI spec for GraphHopper Directions API?
GraphHopper does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call GraphHopper Directions API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the GraphHopper Directions API use?
Every endpoint expects an api_key query parameter. Through Jentic the api_key is held in the encrypted vault and injected on each call so the agent prompt never contains the raw key.
What is the difference between /matrix and /matrix/calculate?
/matrix is the synchronous endpoint and returns the distance/time table directly for small problems. /matrix/calculate is the asynchronous variant that returns a jobId for larger problems, with the result fetched from the jobs endpoints. Use the async path when sources or targets exceed the synchronous size limit on your subscription.
What are the rate limits for the GraphHopper Directions API?
Limits depend on the GraphHopper plan. The free tier provides a small daily credit budget and one request per second; paid plans scale credits and concurrency upward. The response carries remaining credits in headers and returns HTTP 429 when exceeded.
How do I cluster delivery stops through Jentic?
Search Jentic for 'cluster delivery stops', load the operation that maps to POST /cluster/calculate, and execute with your stop list and the desired number of clusters. Poll GET /cluster/solution/{jobId} until the solution status is finished, then read the assigned cluster index for each stop.
Can I integrate live traffic data?
Live traffic is not included on the OpenStreetMap layer. GraphHopper offers a TomTom add-on for the Route Optimization API that uses TomTom road network and historical traffic; live traffic is not yet considered. Contact GraphHopper to enable the add-on on your account.
/geocode
Forward and reverse geocode
/match
Snap a GPS trace to the road network