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