{
  "id": "db0a0794-5317-4e41-9e75-2c553522fd37",
  "slug": "onemap-routing",
  "name": "OneMap Routing",
  "provider": "Singapore Land Authority (SLA)",
  "category_slug": "geo",
  "description": "Turn-by-turn routing within Singapore for drive, walk, cycle and public transport modes, including bus and train legs with fares for the pt mode. Free alternative to commercial routing for SG-only apps.",
  "base_url": "https://www.onemap.gov.sg/api/public/routingsvc/route",
  "docs_url": "https://www.onemap.gov.sg/apidocs/",
  "openapi_url": null,
  "auth_type": "token",
  "auth_guide": [
    "Register a free account at onemap.gov.sg.",
    "POST email and password to https://www.onemap.gov.sg/api/auth/post/getToken to get a 3-day access_token.",
    "Send the token in the Authorization header on every routing call."
  ],
  "pricing": "free",
  "rate_limit": null,
  "example_request": "curl -H 'Authorization: YOUR_TOKEN' 'https://www.onemap.gov.sg/api/public/routingsvc/route?start=1.320981,103.844150&end=1.326762,103.8559&routeType=drive'",
  "example_response_snippet": "{\"status_message\":\"Found route between points\",\"route_geometry\":\"encoded_polyline...\",\"route_summary\":{\"total_time\":420,\"total_distance\":3600}}",
  "agent_notes": "routeType=pt needs extra params (date, time, mode=TRANSIT, maxWalkDistance). Geometry is an encoded polyline; decode with any polyline library.",
  "status": "live",
  "tags": [
    "routing",
    "directions",
    "public-transport",
    "onemap"
  ],
  "sg_official": true,
  "created_at": "2026-07-05T08:44:12.058Z",
  "updated_at": "2026-07-05T09:15:26.627Z",
  "page_url": "https://singaporeapi.com/apis/onemap-routing"
}