REST API

One API. Every commute.
Time and true cost.

25 production endpoints powered by 932K hex grids, 1,210 transit agencies, EPA fuel data, EIA energy prices, tolls, parking, and a live OTP cluster.

Try it now — one curl call

curl -X POST https://api.commutingcost.com/v1/trip/plan \
  -H "Content-Type: application/json" \
  -d '{
    "origin":      {"lat": 40.7346, "lon": -74.1644, "address": "Newark Penn"},
    "destination": {"lat": 40.7580, "lon": -73.9855, "address": "Times Square"},
    "modes": ["drive", "transit", "uber", "bike"]
  }'

Returns

{
  "origin":      {"lat": 40.7346, "lon": -74.1644, "address": "Newark Penn"},
  "destination": {"lat": 40.7580, "lon": -73.9855, "address": "Times Square"},
  "routes": [
    {"mode": "drive",   "duration_min": 27.1, "distance_miles": 13.6,
     "cost": {"fuel_cost": 2.47, "toll_cost": 9.00, "parking_cost": 50.00, "total_cost": 61.47}},
    {"mode": "transit", "duration_min": 42.0, "distance_miles": 14.0,
     "cost": {"fare_cost": 2.90, "total_cost": 2.90},
     "transfers": 1, "route_summary": "PATH -> NYC Subway"},
    {"mode": "uber",    "duration_min": 32.1, "distance_miles": 13.6,
     "cost": {"fare_cost": 38.76, "total_cost": 38.76}},
    {"mode": "bike",    "duration_min": 88.1, "distance_miles": 17.6,
     "cost": {"total_cost": 0.00}}
  ],
  "cheapest": "bike",
  "fastest":  "drive"
}

Drop-in IDX widget

Two lines of code. Every listing on your site gets commute-to-employers ratings.

<div id="cc-commute-widget" data-lat="40.7346" data-lon="-74.1644"></div>
<script src="https://commutingcost.com/widget.js"></script>

Endpoints

POST/v1/trip/planMultimodal A→B with cost comparison
GET/v1/trip/quickAddress-based trip planning
POST/v1/bulk/tripsBatch up to 1,000 pairs
POST/v1/bulk/matrixN×M distance/time/cost matrix
POST/v1/bulk/property-commuteProperty → top employers (IDX)
GET/v1/isochrone/TravelTime-style isochrones
GET/v1/hexes/Hex map data by bbox
GET/v1/data/gas-pricesLive EIA energy prices
GET/v1/data/vehiclesEPA fuel economy lookup
GET/v1/data/transit-fares1,210 agency fares
GET/v1/data/tollsToll facilities + rates
GET/v1/data/parkingParking rates by proximity
GET/v1/geocode/searchPelias address search
GET/v1/geocode/reverseLat/lon → address