{
  "name": "GraphHopper Directions API",
  "slug": "graphhopper",
  "website_url": "https://www.graphhopper.com/",
  "vendor_description": "\"Route Planning For Your Application\"",
  "categories": [
    "routing"
  ],
  "summary": "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.",
  "capabilities": {
    "supported_actions": [
      "directions",
      "route",
      "distance_matrix",
      "route_optimization",
      "vehicle_routing",
      "isochrone",
      "map_matching",
      "geocoding",
      "reverse_geocoding",
      "clustering",
      "custom_profiles",
      "waypoint_optimization"
    ],
    "supported_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"
    ],
    "supported_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_supported": false,
    "sandbox_available": false,
    "sdk_languages": [
      "JavaScript",
      "Java"
    ],
    "mcp_server_available": false
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://graphhopper.com/api/1",
    "api_version": "1.0.0",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": null,
    "auth_methods": [
      "api_key"
    ],
    "auth_docs_url": "https://docs.graphhopper.com/openapi/section/authentication",
    "idempotency_supported": false,
    "error_format": "vendor-specific JSON ({message, hints[]})",
    "webhook_signing": null,
    "webhook_events_url": null,
    "rate_limit_requests": null,
    "rate_limit_window": null,
    "sdk_packages": [
      {
        "package": "@graphhopper/directions-api-js-client",
        "language": "JavaScript",
        "official": true,
        "repo_url": "https://github.com/graphhopper/directions-api-js-client"
      },
      {
        "package": null,
        "language": "Java",
        "official": true,
        "repo_url": "https://github.com/graphhopper/directions-api-java-client"
      }
    ],
    "mcp_url": null,
    "quickstart_url": "https://www.graphhopper.com/developers/"
  },
  "pricing": {
    "pricing_model": "subscription",
    "has_published_pricing": true,
    "starting_price_usd": null,
    "price_basis": "month",
    "free_tier_available": true,
    "free_tier_limit": "500 credits/day, non-commercial use only",
    "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.",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Free",
        "item": "monthly subscription — 500 daily credits, max 5 locations, max 1 vehicle",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.graphhopper.com/pricing/"
      },
      {
        "plan": "Basic",
        "item": "monthly subscription — 5,000 daily credits, max 30 locations, max 2 vehicles",
        "amount_usd": "79.8300",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.graphhopper.com/pricing/"
      },
      {
        "plan": "Standard",
        "item": "monthly subscription — 15,000 daily credits, max 80 locations, max 10 vehicles",
        "amount_usd": "230.2400",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.graphhopper.com/pricing/"
      },
      {
        "plan": "Premium",
        "item": "monthly subscription — 50,000 daily credits, max 200 locations, max 20 vehicles",
        "amount_usd": "555.0800",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.graphhopper.com/pricing/"
      },
      {
        "plan": "Custom / Enterprise",
        "item": "monthly subscription — custom daily credits, up to 10,000 locations, up to 200 vehicles",
        "amount_usd": null,
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.graphhopper.com/pricing/"
      },
      {
        "plan": "All paid plans",
        "item": "attribution (co-branding) discount — 20% off plan price when showing GraphHopper attribution",
        "amount_usd": null,
        "amount_percent": "20.0000",
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.graphhopper.com/pricing/"
      },
      {
        "plan": "All plans",
        "item": "Routing API request (2–10 locations, standard)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "1 credit per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Routing API request (>10 locations)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "num_locations / 10 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Routing API request with alternative routes (2–10 locations)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "2 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Routing API round-trip request",
        "amount_usd": null,
        "amount_percent": null,
        "per": "2 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Routing API TSP optimization (optimize=true, 2–10 locations)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "10 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Matrix API request",
        "amount_usd": null,
        "amount_percent": null,
        "per": "min(origins*destinations/2, max(origins,destinations)*10) credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Route Optimization API job (VRP)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "vehicles * locations credits per job (min 10, max 10*locations)",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Route Optimization API — GET solution fetch",
        "amount_usd": null,
        "amount_percent": null,
        "per": "0.3 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Geocoding API request (default/Gisgraphy provider)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "0.3 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Geocoding API request (Nominatim/NetToolkit/OpenCageData provider)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "0.9 credits per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Map Matching API request",
        "amount_usd": null,
        "amount_percent": null,
        "per": "input_locations / 50 credits per request (min 1)",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Isochrone API request",
        "amount_usd": null,
        "amount_percent": null,
        "per": "2 credits per minute explored (min 10) per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Cluster API request (standard profile)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "10 credits per customer (min 10) per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      },
      {
        "plan": "All plans",
        "item": "Cluster API request (as-the-crow-flies profile)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "1 credit per customer (min 1) per request",
        "currency": "USD",
        "source_url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-"
      }
    ]
  },
  "compliance": {
    "soc2": null,
    "hipaa": false,
    "gdpr": true,
    "iso_27001": null,
    "pci_dss": false,
    "sla_published": true,
    "sla_url": "https://www.graphhopper.com/terms/",
    "data_retention_policy_url": "https://www.graphhopper.com/privacy/",
    "documented_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",
    "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)"
    ]
  },
  "developer": {
    "docs_url": "https://www.graphhopper.com/docs",
    "api_reference_url": "https://docs.graphhopper.com/",
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": "https://status.graphhopper.com",
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2012-01-01",
    "ga_date": "2020-05-25",
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "GLS",
      "DB Systel",
      "Bumbal",
      "Posten",
      "Nordsense",
      "Washmen"
    ]
  },
  "scores": {
    "agent_friendliness": 30,
    "pricing_transparency": 75,
    "setup_speed": 80,
    "docs_quality": 35,
    "procurement_friction": 90,
    "trust_readiness": 35,
    "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"
    ]
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://www.graphhopper.com/",
      "excerpt": "Route Planning For Your Application",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Free Plan: €0/month, 500 daily credits, max 5 locations per request, max 1 vehicle. Non-commercial use only. Forum support only, no rate limit guarantees.",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Free: 500 per day — non-commercial use only — limited credit count per minute — limited set of vehicle profiles — cannot use flexible mode",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Basic €69/month, Standard €199/month, Premium €479/month. All tiers list daily credits, max locations, max vehicles, and rate limits.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://support.graphhopper.com/support/solutions/articles/44000718221-how-much-does-your-service-cost-",
      "excerpt": "GraphHopper offers a subscription based service. If you commit to us for a longer period and sign an annual contract, you will get a discount.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.graphhopper.com/terms/",
      "excerpt": "The Service Level Agreement (SLA) is 99.5% availability within every month. If less than 99.5% availability (but more than 99%) is reached then a discount of 10% is provided. If less than 99% is reached a 50% discount is provided.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.graphhopper.com/privacy/",
      "excerpt": "API requests are processed on servers from Hetzner hosted in Germany. GraphHopper has signed an agreement with Hetzner for data processing. Request data retained for a maximum of 5 weeks.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.graphhopper.com/privacy/",
      "excerpt": "No mention of HIPAA compliance in privacy policy, terms of service, or any findable trust page.",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://www.graphhopper.com/privacy/",
      "excerpt": "Credit card data not retained; processed only through payment providers (Stripe, Unzer, Billwerk). No PCI-DSS certification claimed.",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Custom Plan: Bulk discount pricing, daily credits custom, max locations up to 10,000, max vehicles up to 200, dedicated support available.",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://www.graphhopper.com/products/",
      "excerpt": "While we don't provide map imagery ourselves, we work seamlessly with popular map providers. Their business focuses on routing and optimization APIs, not mapping infrastructure.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Start Free: Launch today with our free plan. No credit card required.",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://www.graphhopper.com/terms/",
      "excerpt": "The Free package allows commercial use in the development phase and for the production phase on inquiry.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Four named subscription tiers (Free, Basic, Standard, Premium) with flat monthly prices in EUR plus a Custom plan with bulk discount pricing.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Premium: 10 requests/second, 1,000 credits/minute; Standard: 2 requests/second, 400 credits/minute; Basic: 1 request/second, 100 credits/minute; Free: No guarantees specified.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "SLA: 99.5% availability (paid plans only).",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://www.graphhopper.com/privacy/",
      "excerpt": "We do not collect, store, or share any personally identifiable user data, except what you voluntarily give to us.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.graphhopper.com/terms/",
      "excerpt": "Governed by Bavarian law; disputes litigated in Munich courts. No HIPAA, GDPR-specific clauses, or international compliance certifications documented.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://www.graphhopper.com/privacy/",
      "excerpt": "The document references security practices (HTTPS, PFS, secure datacenters) but does not cite SOC2, ISO 27001, HIPAA, or PCI DSS certifications.",
      "confidence": "medium"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://support.graphhopper.com/support/solutions/articles/44000718221-how-much-does-your-service-cost-",
      "excerpt": "For requirements not met by standard subscriptions, the company offers a custom-tailored enterprise solution through their contact form.",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://docs.graphhopper.com/openapi/section/authentication",
      "excerpt": "Authenticate to the API by passing your key as a query parameter in every request. No sandbox or separate test environment is mentioned; an API Explorer exists at explorer.graphhopper.com for manual testing without registration.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "All paid tiers include Routing, Route Optimization, Geocoding, Map Matching, Isochrone, and Matrix APIs.",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://composio.dev/toolkits/graphhopper/framework/claude-code",
      "excerpt": "This is a third-party Composio integration, not an official GraphHopper MCP server. Composio maintains this integration as part of their broader platform for connecting AI agents to external services.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://docs.graphhopper.com/openapi/directions-api/",
      "excerpt": "POST /vrp (synchronous VRP), POST /vrp/optimize (async), GET /vrp/solution/{jobId}, POST /route, GET /route, POST /matrix, GET /matrix, POST /matrix/calculate, GET /matrix/solution/{jobId}, GET /geocode, GET /isochrone, POST /match, POST /cluster, POST /cluster/calculate, GET /cluster/solution/{jobId}, POST /profiles",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.graphhopper.com/terms/",
      "excerpt": "Prohibits 'Scraping or any mass download' without explicit package authorization. The Free package allows commercial use in the development phase and for the production phase on inquiry.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Max Locations: 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).",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://github.com/graphhopper/directions-api-java-client",
      "excerpt": "Deprecated Repo for the Java and Android client for the GraphHopper Directions API",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.graphhopper.com/",
      "excerpt": "Services leverage OpenStreetMap data to provide entire world routing and geocoding coverage.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.graphhopper.com/openapi/section/authentication",
      "excerpt": "Authenticate to the API by passing your key as a query parameter in every request.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://docs.graphhopper.com/openapi/route-optimization-api/solvevrp",
      "excerpt": "Base URL: https://graphhopper.com/api/1",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://docs.graphhopper.com/openapi/route-optimization-api/solvevrp",
      "excerpt": "API Version: 1.0.0",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://docs.graphhopper.com/openapi/route-optimization-api/solvevrp",
      "excerpt": "Base URL: https://graphhopper.com/api/1 — version encoded as path segment /1",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Start Free: Launch today with our free plan. No credit card required.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "While the pricing tool mentions EUR (€) USD ($) as an option, the actual plan prices shown are only in EUR. The Basic plan displays 69€/month with no USD equivalent listed.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages (JavaScript)",
      "url": "https://docs.graphhopper.com/openapi.md",
      "excerpt": "JavaScript client (npm: @graphhopper/directions-api-js-client)",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://composio.dev/toolkits/graphhopper/framework/claude-code",
      "excerpt": "This is a third-party integration. Composio maintains this integration. The page does not reference an official GraphHopper-maintained MCP server.",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://github.com/graphhopper/graphhopper/blob/master/docs/web/api-doc.md",
      "excerpt": "JSON path/attribute: message — Not intended to be displayed to the user as it is not translated; hints — An optional list of details regarding the error message e.g. [{\"message\": \"first error message in hints\"}]",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://www.graphhopper.com/privacy/",
      "excerpt": "The company retains API request data (request body, headers, IP address, and timestamp) for a maximum of 5 weeks.",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://www.graphhopper.com/blog/2017/04/01/graphhopper-routing-engine-turns-5-years-today/",
      "excerpt": "The routing engine was started on 'a sunny Sunday' in 2012. Based on the article's reference to its '5th birthday' on April 1, 2017, the engine launched around April 2012.",
      "confidence": "high"
    },
    {
      "field": "ga_date",
      "url": "https://blog.openstreetmap.org/2020/06/01/osmf-and-graphhopper-joint-press-release-graphhopper-routing-engine-1-0-released/",
      "excerpt": "GraphHopper Routing Engine version 1.0 was announced on May 25, 2020.",
      "confidence": "medium"
    },
    {
      "field": "requires_verification",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Start Free: Launch today with our free plan. No credit card required.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://support.graphhopper.com/support/solutions/articles/44000718211-what-is-one-credit-",
      "excerpt": "Free: 500 per day — non-commercial use only — limited credit count per minute — limited set of vehicle profiles — cannot use flexible mode",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://github.com/graphhopper/directions-api-js-client",
      "excerpt": "Install the lib with npm: npm install @graphhopper/directions-api-js-client --save",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Start Free: Launch today with our free plan. No credit card required.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://docs.graphhopper.com/openapi/map-data-and-routing-profiles/tomtom-multinet",
      "excerpt": "TomTom MultiNet is a global map covering more than 150 countries and 30 territories.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.graphhopper.com/openapi/section/openstreetmap/standard-routing-profiles",
      "excerpt": "The service requires passing your key as a query parameter named `key` in every request.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://github.com/graphhopper/directions-api-clients/blob/master/java/src/main/java/com/graphhopper/directions/api/client/ApiClient.java",
      "excerpt": "The base path can be set to a URL like `https://graphhopper.com/api/1`.",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://docs.graphhopper.com/openapi/section/openstreetmap/standard-routing-profiles",
      "excerpt": "GraphHopper Directions API (1.0.0)",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Free: 500 per day — non-commercial use only — limited credit count per minute — limited set of vehicle profiles — cannot use flexible mode",
      "confidence": "high"
    },
    {
      "field": "price_basis",
      "url": "https://www.graphhopper.com/pricing/",
      "excerpt": "Basic: 69€/month — Standard: 199€/month — Premium: 479€/month",
      "confidence": "high"
    },
    {
      "field": "sdk_packages (JavaScript)",
      "url": "https://github.com/graphhopper/directions-api-js-client",
      "excerpt": "Install the lib with npm: `npm install @graphhopper/directions-api-js-client --save` — Note the different package name in the @graphhopper organization since 15th September 2025.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages (Java)",
      "url": "https://github.com/graphhopper/directions-api-java-client",
      "excerpt": "Deprecated Repo for the Java and Android client for the GraphHopper Directions API",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://docs.graphhopper.com/openapi/route-optimization-api/solvevrp",
      "excerpt": "Webhook Support: Not mentioned in the documentation. The API exclusively uses polling-based status checks rather than webhook callbacks.",
      "confidence": "medium"
    },
    {
      "field": "sla_url",
      "url": "https://www.graphhopper.com/terms/",
      "excerpt": "The Service Level Agreement (SLA) is 99.5% availability within every month. If less than 99.5% availability (but more than 99%) is reached then a discount of 10% is provided. If less than 99% is reached a 50% discount is provided.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://docs.graphhopper.com/openapi/section/openstreetmap/standard-routing-profiles",
      "excerpt": "Premium: 10 requests/second, up to 1000 credits/minute; Standard: 2 requests/second, up to 400 credits/minute; Basic: 1 request/second, up to 100 credits/minute",
      "confidence": "high"
    },
    {
      "field": "ga_date",
      "url": "https://www.graphhopper.com/blog/2020/05/25/graphhopper-routing-engine-1-0-released/",
      "excerpt": "Today, after more than 8 years of work, we are releasing version 1.0 of the open source GraphHopper routing engine.",
      "confidence": "medium"
    },
    {
      "field": "notable_customers",
      "url": "https://www.graphhopper.com/",
      "excerpt": "Trusted by 600+ Companies Worldwide — named logos: GLS, DB Systel, Bumbal, Posten, Nordsense, Washmen",
      "confidence": "high"
    },
    {
      "field": "stability",
      "url": "https://docs.graphhopper.com/openapi/route-optimization-api/solvevrp",
      "excerpt": "API Version: 1.0.0 — Base URL: https://graphhopper.com/api/1",
      "confidence": "high"
    }
  ],
  "fields_not_found": [
    "soc2 (no mention in privacy policy, terms, or any findable trust page)",
    "iso_27001 (no mention in privacy policy, terms, or any findable trust page)",
    "explicit matrix NxM size cap documented",
    "exact waypoint limit per routing request",
    "exact list of 49 supported instruction languages",
    "sandbox environment",
    "webhook support",
    "mcp_server_available (no official GraphHopper MCP server; docs.graphhopper.com/mcp returns 404; Composio third-party integration only)",
    "starting_price_usd (pricing published in EUR only)",
    "deprecation_policy_url",
    "webhook_events_url",
    "mcp_url (no official GraphHopper MCP server; third-party Composio integration only)",
    "idempotency_supported (not documented)",
    "rate_limit_requests (credit-based model, not fixed request count)",
    "ga_date for cloud API specifically (1.0 open-source engine released 2020-05-25; cloud service available at least since early 2015)"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-14T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/graphhopper",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/graphhopper/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme API",
            "website_url": "https://acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example"
            }
          ]
        }
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}