Endpoint Playground
Returns Apple Maps routes between an origin and a destination, with optional intermediate stops, for driving, walking, or cycling. Each route carries its name, whether it is Apple's main or an alternate route, distance, live/historic/free-flow durations, toll and highway flags, Apple's route description and traffic note, and per-leg turn-by-turn steps (maneuver, road, shield, instruction text, distance, duration); detail=full adds each leg's path as coordinates. Departure time and avoid-tolls/highways/stairs preferences are supported. Transit routing is not available.
14 Oct 2026: 3 routes; 11 fields had a value in every checked item and 1 varied between items.
Sample value profiles: distance_meters: 9,992 to 11,354, median 10,050; name: “Franklin St” and 2 other values; avoids_tolls: true in 3 of 3.
curl 'https://api.crawlora.net/api/v1/apple-maps/directions?origin_latitude=37.7749&origin_longitude=-122.4194&destination_latitude=37.8199&destination_longitude=-122.4783&mode=driving&detail=summary' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| origin_latitude | number | Yes | 37.7749 | Origin latitude |
| origin_longitude | number | Yes | -122.4194 | Origin longitude |
| destination_latitude | number | Yes | 37.8199 | Destination latitude |
| destination_longitude | number | Yes | -122.4783 | Destination longitude |
| via | string | No | Intermediate stops as lat,lng pairs separated by |, at most 8 | |
| mode | string | No | driving | Travel mode. Defaults to driving. |
| avoid_tolls | boolean | No | Driving only: prefer routes without tolls | |
| avoid_highways | boolean | No | Driving only: prefer routes without highways | |
| avoid_stairs | boolean | No | Walking only: prefer routes without stairs | |
| depart_at | string | No | Departure time as RFC 3339 for traffic-aware estimates. Defaults to now. | |
| detail | string | No | summary | How much of each route to return. Defaults to steps. |
| lang | string | No | Language for road names and instructions as a BCP 47 tag. Defaults to en-US. | |
| country | string | No | Two-letter ISO 3166-1 country code. Defaults to US. |
{
"code": 200,
"msg": "OK",
"data": {
"mode": "driving",
"origin": {
"latitude": 37.7749,
"longitude": -122.4194
},
"destination": {
"latitude": 37.8199,
"longitude": -122.4783
},
"routes": [
{
"name": "Franklin St",
"type": "main",
"transport": "driving",
"description": "Fastest",
"traffic": "Traffic is moderate.",
"distance_meters": 10050,
"duration_seconds": 1206,
"duration_historic_seconds": 1150,
"duration_freeflow_seconds": 811,
"avoids_tolls": true,
"avoids_highways": false,
"legs": [
{
"name": "Franklin St",
"distance_meters": 10050,
"duration_seconds": 1206,
"steps": [
{
"index": 0,
"maneuver": "start_route",
"road": "S Van Ness Ave",
"shield": "101",
"distance_meters": 0,
"duration_seconds": 0
},
{
"index": 1,
"maneuver": "right_turn",
"road": "Otis St",
"instruction": "Turn right onto Otis St",
"distance_meters": 214,
"duration_seconds": 136
},
{
"index": 7,
"maneuver": "arrive_at_destination_right",
"road": "Golden Gate Bridge",
"shield": "101",
"instruction": "The destination is on your right",
"distance_meters": 4569,
"duration_seconds": 251
}
]
}
]
},
{
"name": "Van Ness Ave",
"type": "alternate",
"transport": "driving",
"description": "Fastest",
"distance_meters": 9992,
"duration_seconds": 1334,
"avoids_tolls": true,
"avoids_highways": false,
"legs": [
{
"name": "Van Ness Ave",
"distance_meters": 9992,
"duration_seconds": 1334
}
]
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.