{"eid":"graphhopper","name":"GraphHopper Directions API","domain":"graphhopper.com","resolved_by":"domain","topics":["data-apis"],"n_records":1,"best_vorder":1,"review":null,"aliases":["GraphHopper Directions API","graphhopper.com"],"records":[{"rid":"data-apis/graphhopper","card":{"rid":"data-apis/graphhopper","eid":"graphhopper","topic":"data-apis","slug":"graphhopper","provider":"GraphHopper Directions API","url":"https://www.graphhopper.com/pricing/","domain":"graphhopper.com","category":"routing, geocoding and route optimization API","tier":"Free","verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","self_hosted":0,"confidence":"documented","binding":"volume-quota","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-11-02T00:23:41.926Z","verified_basis":"live","checked_on":"2026-11-02","stale_on":"2026-12-03","n_evidence":21,"usd_month":null,"usd_per_tb_month":null,"summary":"Free plan, EUR 0 a month,: 500 credits per day with 5 locations a routing request; a geocoding request costs 0.3 credit on the default provider and 0.9 credi...","duplicate_of":null,"n_unknown":5,"free_unit":"credits"},"record":{"topic":"data-apis","slug":"graphhopper","provider":"GraphHopper Directions API","url":"https://www.graphhopper.com/pricing/","category":"routing, geocoding and route optimization API","tier":"Free","free_tier":{"stated":"Free plan, EUR 0 a month,: 500 credits per day with 5 locations a routing request; a geocoding request costs 0.3 credit on the default provider and 0.9 credit on nominatim or opencagedata, so 500 credits cover about 1,666 default-provider geocodes a day (500 / 0.3)","unit":"credits","metered_on":"request-count","source_url":"https://www.graphhopper.com/pricing/","read_on":"2026-11-02","notes":"credits are shared with the routing, matrix, isochrone and optimization APIs; the Free plan has a limited credit count per minute and carries no guarantees"},"per_object_cap":{"stated":"no batch geocoding endpoint: one query a GET request; 5 locations a routing request on the Free plan","bytes":null,"source_url":"https://www.graphhopper.com/pricing/"},"retention":{"stated":null,"days":null,"source_url":"https://www.graphhopper.com/terms/"},"egress":{"terms":"not applicable: a query API metered in credits, not bytes","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://www.graphhopper.com/pricing/"},"interface":["rest"],"interface_detail":"HTTPS GET to graphhopper.com/api/1/geocode (q, locale, limit, reverse, point and provider parameters) with the key as a query parameter; a keyless call answered HTTP 401 No API key specified; the provider parameter is under development and can fall back to the default at any time","endpoint":"https://graphhopper.com/api/1/geocode","tooling":"any HTTP client","chaining":"500 credits a day, about 1,666 default-provider geocodes, on a non-commercial email account with no card, shared with routing and optimization calls","limits":[{"kind":"volume-quota","value":"500 credits a day on the Free plan; a geocoding request costs 0.3 credit (default) or 0.9 credit (nominatim, opencagedata)","source":"https://www.graphhopper.com/faq/what-is-one-credit/"},{"kind":"request-rate","value":"a limited credit count per minute on the Free plan, size not published; HTTP 429 answers when the daily or per-minute limit is exhausted","source":"https://support.graphhopper.com/support/solutions/articles/44001976065-what-is-a-credit-limit-per-minute-"},{"kind":"per-object-cap","value":"5 locations a request on the Free plan (routing)","source":"https://www.graphhopper.com/pricing/"}],"binding":"volume-quota","binding_note":"the per-minute credit limit of the Free plan is not published, so the 500-credit day is the figure that binds","identity_cost":{"kind":"email","detail":"an account at graphhopper.com/dashboard/signup with a first name, last name, email, password, company and country and a terms checkbox; GraphHopper activates the access and notifies the subscriber by email; the pricing page says no credit card is required","country":null},"reliability_note":"the Free plan carries no guarantees; past the daily or per-minute limit the API answers HTTP 429; the provider parameter can fall back to the default at any time","confidence":"documented","confidence_note":"the pricing page, the credit FAQ, the OpenAPI docs, the terms, the per-minute limit article and the sign-up page were quoted on 2026-11-02; a keyless geocode answered HTTP 401. No account was opened, so the free daily credits and the per-minute limit of the Free plan were not exercised.","evidence":[{"url":"https://www.graphhopper.com/pricing/","date":"2026-11-02","proved":"the Free plan costs 0 euro a month and gives 500 credits per day and 5 locations a request","capture":"sha256:b686e087a5ce1bda6474a688aa24ef1ca4057e3de50c7380f56ae4dbc0fff7af","quote":"Free\n\nPrice per month 1 0€ 2\n\nCredits per day 3,4 500 per day\n\nMax. locations per request 5 locations"},{"url":"https://www.graphhopper.com/pricing/","date":"2026-11-02","proved":"the free plan starts with no credit card","capture":"sha256:b686e087a5ce1bda6474a688aa24ef1ca4057e3de50c7380f56ae4dbc0fff7af","quote":"Launch today with our free plan. No credit card required."},{"url":"https://www.graphhopper.com/pricing/","date":"2026-11-02","proved":null,"capture":"sha256:b686e087a5ce1bda6474a688aa24ef1ca4057e3de50c7380f56ae4dbc0fff7af","quote":"It has a limited credit count per minute, a limited set of vehicle profiles and cannot use the flexible mode (ch.disable=true)."},{"url":"https://www.graphhopper.com/pricing/","date":"2026-11-02","proved":"the Free plan carries no guarantees","capture":"sha256:b686e087a5ce1bda6474a688aa24ef1ca4057e3de50c7380f56ae4dbc0fff7af","quote":"The Free Plan does not include any guarantees."},{"url":"https://www.graphhopper.com/faq/what-is-one-credit/","date":"2026-11-02","proved":"geocoding credit costs differ by provider","capture":"sha256:a2fcd8b7c4ef354463897518a1b98a568a0937c8643de2ab39d892c1328f0d71","quote":"For the Geocoding API we have integrated different providers. Each provider has its own prices."},{"url":"https://www.graphhopper.com/faq/what-is-one-credit/","date":"2026-11-02","proved":"a default-provider geocoding request costs 0.3 credit","capture":"sha256:a2fcd8b7c4ef354463897518a1b98a568a0937c8643de2ab39d892c1328f0d71","quote":"default: 0.3 credits"},{"url":"https://www.graphhopper.com/faq/what-is-one-credit/","date":"2026-11-02","proved":"a nominatim-provider geocoding request costs 0.9 credit","capture":"sha256:a2fcd8b7c4ef354463897518a1b98a568a0937c8643de2ab39d892c1328f0d71","quote":"nominatim: 0.9 credits"},{"url":"https://www.graphhopper.com/faq/what-is-one-credit/","date":"2026-11-02","proved":"an opencagedata-provider geocoding request costs 0.9 credit","capture":"sha256:a2fcd8b7c4ef354463897518a1b98a568a0937c8643de2ab39d892c1328f0d71","quote":"opencagedata: 0.9 credits"},{"url":"https://www.graphhopper.com/faq/what-is-one-credit/","date":"2026-11-02","proved":"credits are one currency across the Directions API products","capture":"sha256:a2fcd8b7c4ef354463897518a1b98a568a0937c8643de2ab39d892c1328f0d71","quote":"Credits are GraphHopper’s currency and can be spent on all"},{"url":"https://docs.graphhopper.com/openapi.md","date":"2026-11-02","proved":"a 429 means the daily or per-minute limit is exhausted","capture":"sha256:a53949d44da37f952aad2d3407db89a665586ebc01948ee3904bb42a031099ab","quote":"A `429` response means the daily or per-minute limit is exhausted."},{"url":"https://docs.graphhopper.com/openapi.md","date":"2026-11-02","proved":"the key is passed as a query parameter","capture":"sha256:a53949d44da37f952aad2d3407db89a665586ebc01948ee3904bb42a031099ab","quote":"Authenticate to the API by passing your key as a query parameter in every request."},{"url":"https://support.graphhopper.com/support/solutions/articles/44001976065-what-is-a-credit-limit-per-minute-","date":"2026-11-02","proved":"exceeding the per-minute credit limit answers HTTP 429","capture":"sha256:5a7ccbeb3b4272c72a00c1e4ed3f697d6232542b04b3730dcd19d07dc2e32106","quote":null},{"url":"https://www.graphhopper.com/terms/","date":"2026-11-02","proved":null,"capture":"sha256:30645643587f39fe783fcb0481ca8a08349c1ef5a8d0ca7baf1e627282a78a82","quote":"The results may be temporarily cached on the client side (e.g. browser or mobile app)."},{"url":"https://www.graphhopper.com/terms/","date":"2026-11-02","proved":"access is activated and notified by email","capture":"sha256:30645643587f39fe783fcb0481ca8a08349c1ef5a8d0ca7baf1e627282a78a82","quote":"GraphHopper activates the requested access and notifies the Subscriber of this via email."},{"url":"https://www.graphhopper.com/terms/","date":"2026-11-02","proved":"packages without the white label option must display GraphHopper attribution","capture":"sha256:30645643587f39fe783fcb0481ca8a08349c1ef5a8d0ca7baf1e627282a78a82","quote":"You understand that packages without the white label option require You to display GraphHopper attribution."},{"url":"https://docs.graphhopper.com/openapi/geocoding/getgeocode.md","date":"2026-11-02","proved":"the provider parameter is under development and can fall back to the default","capture":"sha256:02fcd48719617e37f39e4241fa1cbee468af35999ec45e59c725764d09d85a5c","quote":"The provider parameter is currently under development and can fall back to default at any time."},{"url":"https://docs.graphhopper.com/openapi/geocoding/getgeocode.md","date":"2026-11-02","proved":"every provider supports forward geocoding and reverse geocoding with reverse=true","capture":"sha256:02fcd48719617e37f39e4241fa1cbee468af35999ec45e59c725764d09d85a5c","quote":"All providers support normal \"forward\" geocoding and reverse geocoding via reverse=true."},{"url":"https://graphhopper.com/dashboard/signup","date":"2026-11-02","proved":"the sign-up form asks for first and last name, email, password, company and country","capture":"sha256:b8d8219fd5d1297f93b1df8db3111c67730a25b388d5896f53a5f88091244458","quote":"First Name\n\nLast Name\n\nEmail\n\nPassword\n\nConfirm Password\n\nCompany"},{"url":"https://graphhopper.com/dashboard/signup","date":"2026-11-02","proved":"the sign-up form has a terms checkbox","capture":"sha256:b8d8219fd5d1297f93b1df8db3111c67730a25b388d5896f53a5f88091244458","quote":null},{"url":"probe:https://graphhopper.com/api/1/geocode?q=Zurich","date":"2026-11-02","proved":"a keyless geocode answers HTTP 401","capture":"sha256:003486d1eec8692487ea1df0694d53e0e95c1f390c42a32cf863f8eb8b5b6d97","quote":"\"status\": 401"},{"url":"probe:https://graphhopper.com/api/1/geocode?q=Zurich#body","date":"2026-11-02","proved":"the keyless geocode is refused with No API key specified","capture":"sha256:5eaa4336b5be536bb2171b8bb967eb457e6c95d296d53e43452d98f4cc06b45d","quote":"No API key specified."}],"verdict":"qualifies-with-caveat","verified_at":"2026-11-02T00:23:41.926Z","notes":"Free requests: 500 credits a day, about 1,666 default-provider geocodes (500 / 0.3). Rate limit: a limited credit count per minute, size not published. Bulk path: none; no batch geocoding endpoint.","extras":{"free_requests":"500 credits a day; 0.3 credit per default geocode, 0.9 per nominatim or opencagedata geocode","rate_limit":"unverified: a per-minute credit limit exists on the Free plan, size not published","bulk_path":"none: no batch geocoding endpoint"}},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1.0,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":500.0,"unit":"credits","per":"day","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:volume-quota","num":500.0,"unit":"credits","per":"day","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[2].value","kind":"limit:per-object-cap","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.evidence[11].quote","withheld"],["$.evidence[12].proved","withheld"],["$.evidence[18].quote","withheld"],["$.evidence[2].proved","withheld"],["$.retention.stated","withheld"]],"history":[],"drift":[]}]}