Info
GET/v2/infoAuth: API key or our website
Read coverage, profiles, data date and what this deployment offers.
Example
curl -s -H "X-API-Key: $QUADRUPER_KEY" https://quadruper.com/v2/infoThis is an example response:
{
"contract_version": "2.0",
"coverage": { "bbox": [116.9, 4.5, 126.6, 21.2] },
"routing": {
"engine": "graphhopper", "version": "11.0",
"profiles": [{ "name": "car", "approximate": false }, { "name": "car_night", "approximate": false }]
},
"geocoding": { "engine": "photon", "version": "1.3.0" },
"sources": [{ "source": "osm", "data_date": "2026-10-18" }],
"capabilities": {
"route": { "max_points": 10, "steps": true },
"nearest": {},
"isochrone": { "max_values": 3, "max_time_s": 1800, "step_s": 60 },
"matrix": { "max_cells": 25 },
"geocode": { "max_limit": 10, "structured": true, "near": true, "near_text": true, "bbox": true },
"reverse": {}
},
"attribution": [{ "source": "osm", "text": "© OpenStreetMap contributors", "license": "ODbL-1.0" }]
}Response fields
| Field | Description |
|---|---|
coverage.bbox |
A rough box around the data, which can be much larger than the area really covered. Long ferry routes stretch it. Treat it as a coarse check. Whether a route succeeds is the real test. |
routing.profiles[].approximate |
true when the engine can only approximate that profile. Don't present a car_night ETA as different from car when it's marked approximate. |
sources[].data_date |
The date of the map data, or null when the engine can't report one. |
capabilities |
A capability appears only if its endpoint works. If one is missing, its endpoint answers 501 capability_unavailable. |
The service refreshes this information every 10 minutes. Until its first successful fetch, it answers 503 engine_unavailable.