Skip to main content

Examples

Here are the main usage scenarios and examples of Public Transport API requests. Detailed information about request parameters is provided in the API Reference.

Mandatory parameters for route calculation are:

  • your API key (key)
  • route starting point (source)
  • route ending point (target)
  • transportation type (transport)

You can add additional parameters for route calculation. Example requests below are provided using cURL.

Transportation types

You can build routes for one or several transportation types. Available public transport types are:

  • metro - metro
  • light_metro - light metro
  • suburban_train - suburban train
  • tram - tram
  • bus - bus
  • trolleybus - trolleybus
  • shuttle_bus - shuttle bus
  • monorail - monorail
  • funicular_railway - funicular railway
  • river_transport - river transport
  • cable_car - cable car
  • light_rail - light rail
  • premetro - underground tram

If you specify several transport types in the request, routes may include transfers: between routes of the same transport type or between different types (for example, from metro to bus).

To build a route for different public transport types, send a POST request to /public_transport/2.0 with the following parameters:

  • source (required parameter) - coordinates of the starting point (latitude and longitude).
  • target (required parameter) - coordinates of the ending point (latitude and longitude).
  • transport (required parameter) - array of public transport types. For example, tram - tram and metro - metro.
  • locale - language of text descriptions of route elements.

Request example:

curl --request POST \
--url 'https://routing.api.2gis.com/public_transport/2.0?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"source":
{
"point":
{
"lat": 25.218452,
"lon": 55.281776
}
},
"target":
{
"point":
{
"lat": 25.234675,
"lon": 55.301799
}
},
"transport": ["bus", "metro"],
"locale": "en"
}'

Response example:

response.json
[
{
"crossing_count": 1,
"id": "1",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281600 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281600 25.218427, 55.281574 25.218492)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281574 25.218492, 55.281575 25.218493, 55.281508 25.218457, 55.281410 25.218402, 55.281274 25.218309, 55.281194 25.218241, 55.281112 25.218161, 55.281032 25.218081, 55.280959 25.218000, 55.280892 25.217915, 55.280803 25.217738, 55.280793 25.217725, 55.280761 25.217696, 55.280722 25.217675, 55.280680 25.217661, 55.280635 25.217657, 55.280592 25.217661, 55.280547 25.217675, 55.280509 25.217696, 55.280475 25.217726, 55.280452 25.217762, 55.280438 25.217799, 55.280432 25.217841, 55.280438 25.217881, 55.280449 25.217913, 55.280520 25.217884)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280520 25.217884, 55.280218 25.217443, 55.280081 25.217269, 55.280001 25.217172, 55.279968 25.217135, 55.280040 25.217131, 55.280109 25.217115, 55.280226 25.217048, 55.280184 25.216987, 55.280077 25.217049, 55.280027 25.217060, 55.279976 25.217063, 55.279879 25.217040, 55.279678 25.216744, 55.279556 25.216566)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279556 25.216566, 55.279566 25.216561, 55.279582 25.216553)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279582 25.216553, 55.279637 25.216633)",
"z_first": 0,
"z_last": 1
},
{
"selection": "LINESTRING(55.279637 25.216633, 55.279883 25.216994, 55.279686 25.217108)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.279686 25.217108, 55.279744 25.217218, 55.279796 25.217297, 55.279810 25.217287)",
"z_first": 1,
"z_last": 1
}
]
}
],
"distance": 566,
"id": "2",
"moving_duration": 407,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "570 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.279810 25.217287, 55.280134 25.217753, 55.280134 25.217753, 55.283047 25.221950, 55.284193 25.223629, 55.284744 25.224481, 55.284744 25.224481, 55.284979 25.224845, 55.284979 25.224845, 55.285452 25.225577, 55.285452 25.225577, 55.285473 25.225609, 55.285899 25.226127, 55.286588 25.227083, 55.286995 25.227637, 55.287242 25.227887, 55.287497 25.228101, 55.287770 25.228286, 55.287819 25.228311, 55.287819 25.228311, 55.288728 25.228774, 55.289063 25.228985, 55.289351 25.229200, 55.289351 25.229200, 55.289626 25.229454, 55.289911 25.229790, 55.290183 25.230203, 55.290364 25.230515, 55.290364 25.230515, 55.291852 25.233065, 55.291852 25.233065, 55.292066 25.233432)"
}
],
"platforms": [
{
"geometry": "POINT(55.279810 25.217287)",
"id": "8"
},
{
"geometry": "POINT(55.284979 25.224845)",
"id": "9"
},
{
"geometry": "POINT(55.292066 25.233432)",
"id": "10"
}
]
}
],
"distance": 2196,
"id": "3",
"metro": {
"color": "#e90101",
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"exit_entrance_number": "3",
"line_name": "Red Line 2",
"ui_direction_suggest": "towards «Centrepoint» station",
"ui_station_count": "1 station"
},
"moving_duration": 256,
"platforms": {
"names": [
"World Trade Centre"
],
"penultimate_stop": "World Trade Centre"
},
"routes": null,
"type": "passage",
"waiting_duration": 90,
"waypoint": {
"combined": false,
"comment": "",
"name": "Emirates Towers",
"subtype": "metro"
}
},
{
"alternatives": [
{
"entrances": [
{
"color": "#e90101",
"exit": true,
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"geometry": "POINT(55.292024 25.233104)",
"metro_logo": "metro_dubai",
"name": "Max",
"number": "3",
"show_other_station": false
}
],
"geometry": [
{
"selection": "LINESTRING(55.292066 25.233432, 55.292081 25.233426, 55.292038 25.233355, 55.291980 25.233258, 55.291917 25.233175)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291917 25.233175, 55.291987 25.233128)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291987 25.233128, 55.292023 25.233104)",
"z_first": 1,
"z_last": 0
},
{
"selection": "LINESTRING(55.292023 25.233104, 55.292112 25.233060)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292112 25.233060, 55.292474 25.233680)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292474 25.233680, 55.292499 25.233668)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 136,
"id": "11",
"moving_duration": 127,
"platforms": null,
"routes": null,
"type": "crossing",
"waiting_duration": 0,
"waypoint": {
"comment": "140 m on foot",
"name": "Max",
"subtype": "pedestrian"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.292499 25.233668, 55.292467 25.233616, 55.291924 25.232682, 55.291899 25.232651, 55.291874 25.232626, 55.291848 25.232612, 55.291812 25.232603, 55.291769 25.232604, 55.291715 25.232612, 55.291674 25.232628, 55.291615 25.232674, 55.291615 25.232674, 55.291598 25.232760, 55.291601 25.232831, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127, 55.294128 25.237127, 55.294980 25.238589, 55.294980 25.238589, 55.295108 25.238823, 55.295135 25.238860, 55.295135 25.238860, 55.295235 25.238912, 55.295318 25.238938, 55.295411 25.238951, 55.295499 25.238952, 55.295577 25.238937, 55.295987 25.238814, 55.295987 25.238814, 55.296469 25.238593, 55.296751 25.238484, 55.297080 25.238347, 55.297353 25.238240, 55.298093 25.237926, 55.298368 25.237814, 55.298368 25.237814, 55.298490 25.237719, 55.298509 25.237664, 55.298519 25.237603, 55.298504 25.237546, 55.298477 25.237479, 55.298439 25.237420, 55.298394 25.237370, 55.298344 25.237325, 55.298344 25.237325, 55.298323 25.237295, 55.298317 25.237269, 55.298323 25.237239, 55.298341 25.237213, 55.298366 25.237195, 55.298400 25.237187, 55.298433 25.237190, 55.298459 25.237202, 55.298459 25.237202, 55.298481 25.237201, 55.298511 25.237194, 55.298511 25.237194, 55.299336 25.236810, 55.299390 25.236790, 55.299465 25.236776, 55.299705 25.236762, 55.299764 25.236750, 55.299817 25.236730, 55.299937 25.236672, 55.299937 25.236672, 55.299957 25.236642, 55.299974 25.236571, 55.299996 25.236536, 55.300025 25.236508, 55.300066 25.236481, 55.300433 25.236282, 55.300605 25.236185, 55.300751 25.236082, 55.300869 25.235979, 55.300988 25.235865, 55.301123 25.235705, 55.301245 25.235524, 55.301341 25.235347, 55.301413 25.235179, 55.301462 25.235013, 55.301492 25.234868, 55.301511 25.234726, 55.301515 25.234642, 55.301515 25.234578, 55.301511 25.234478, 55.301497 25.234375, 55.301470 25.234250)"
}
],
"platforms": [
{
"geometry": "POINT(55.292499 25.233668)",
"id": "16"
},
{
"geometry": "POINT(55.301470 25.234250)",
"id": "17"
}
]
}
],
"distance": 1878,
"id": "12",
"moving_duration": 199,
"platforms": null,
"routes": [
{
"color": "#1a73f0",
"names": [
"F09"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 300,
"waypoint": {
"combined": false,
"comment": "",
"name": "Max Metro Bus Stop Landside 2",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.301470 25.234250, 55.301470 25.234249)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301470 25.234249, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 91,
"id": "18",
"moving_duration": 95,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "91 m on foot",
"name": "Dubai Frame",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "19",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 19:39.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m1/ctxrouting/17666757202799.72266",
"schedules": [
{
"period": 3,
"precise_time": "",
"start_time": 69907,
"start_time_utc": 1766676307,
"type": "periodic"
}
],
"total_distance": 4867,
"total_duration": 1474,
"total_walkway_distance": "on foot 9 min",
"transfer_count": 1,
"transport": [
"pedestrian",
"bus",
"trolleybus",
"tram",
"shuttle_bus",
"metro",
"suburban_train",
"funicular_railway",
"monorail",
"river_transport",
"cable_car",
"light_rail",
"premetro",
"light_metro",
"aeroexpress",
"mcd",
"mcc"
],
"waypoints": [
{
"combined": false,
"routes_names": [
"Red Line 1",
"Red Line 2",
"Red Line 3"
],
"subtype": "metro"
},
{
"combined": false,
"routes_names": [
"F09"
],
"subtype": "bus"
}
]
},
{
"crossing_count": 0,
"id": "20",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281599 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281599 25.218427, 55.281547 25.218561)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281547 25.218561, 55.281539 25.218556, 55.281468 25.218519, 55.281365 25.218462, 55.281222 25.218364, 55.281137 25.218291, 55.281054 25.218209, 55.280972 25.218129, 55.280895 25.218043, 55.280823 25.217951, 55.280734 25.217774, 55.280732 25.217771, 55.280712 25.217753, 55.280687 25.217740, 55.280662 25.217732, 55.280635 25.217729, 55.280609 25.217731, 55.280582 25.217740, 55.280558 25.217753, 55.280539 25.217771, 55.280524 25.217792, 55.280515 25.217816, 55.280512 25.217841, 55.280517 25.217880, 55.280841 25.218354)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280841 25.218354, 55.280824 25.218364)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 264,
"id": "21",
"moving_duration": 190,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "270 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.280824 25.218364, 55.281638 25.219554, 55.281709 25.219633, 55.281774 25.219688, 55.281865 25.219729, 55.281948 25.219750, 55.282036 25.219755, 55.282140 25.219746, 55.282359 25.219711, 55.282478 25.219660, 55.282657 25.219575, 55.283140 25.219305, 55.283583 25.219057, 55.284691 25.218438, 55.284785 25.218385, 55.285491 25.217991, 55.285491 25.217991, 55.286298 25.217543, 55.286298 25.217543, 55.286433 25.217468, 55.286433 25.217468, 55.286495 25.217457, 55.286602 25.217467, 55.286602 25.217467, 55.286715 25.217630, 55.287129 25.218252, 55.287129 25.218252, 55.287436 25.218714, 55.287706 25.219120, 55.287913 25.219419, 55.288014 25.219566, 55.288108 25.219701, 55.288238 25.219890, 55.288665 25.220559, 55.288746 25.220680, 55.288825 25.220787, 55.288893 25.220865, 55.288971 25.220949, 55.289041 25.221027, 55.289072 25.221058, 55.289097 25.221077, 55.289128 25.221098, 55.289240 25.221187, 55.289286 25.221229, 55.289389 25.221340, 55.289486 25.221454, 55.289579 25.221578, 55.289579 25.221578, 55.289830 25.221922, 55.289905 25.222014, 55.289966 25.222086, 55.290132 25.222282, 55.290211 25.222380, 55.290364 25.222568, 55.290557 25.222790, 55.290741 25.223028, 55.290808 25.223113, 55.290925 25.223282, 55.291061 25.223455, 55.291146 25.223562, 55.291255 25.223688, 55.291479 25.223955, 55.291652 25.224160, 55.292080 25.224684, 55.292439 25.225130, 55.292489 25.225188, 55.292489 25.225188, 55.292717 25.225441, 55.292717 25.225441, 55.292456 25.225675, 55.292456 25.225675, 55.292405 25.225736, 55.291984 25.226123, 55.291984 25.226123, 55.291902 25.226199, 55.291576 25.226498, 55.291576 25.226498, 55.291409 25.226651, 55.291011 25.227015, 55.290833 25.227178, 55.290587 25.227420, 55.290409 25.227603, 55.290230 25.227832, 55.290078 25.228104, 55.289970 25.228372, 55.289961 25.228421, 55.289956 25.228470, 55.289961 25.228520, 55.289970 25.228569, 55.289988 25.228614, 55.290020 25.228670, 55.290085 25.228732, 55.290092 25.228745, 55.290092 25.228745, 55.290178 25.228761, 55.290363 25.228800, 55.290495 25.228849, 55.290535 25.228870, 55.290653 25.228956, 55.290716 25.229005, 55.290769 25.229057, 55.290821 25.229121, 55.290874 25.229224, 55.290900 25.229278, 55.290900 25.229278, 55.290939 25.229478, 55.290937 25.229605, 55.290913 25.229732, 55.290878 25.229849, 55.290816 25.229959, 55.290737 25.230047, 55.290628 25.230135, 55.290518 25.230208, 55.290385 25.230280, 55.290376 25.230283, 55.290376 25.230283, 55.290323 25.230444, 55.290311 25.230516, 55.290329 25.230580, 55.290494 25.230858, 55.290775 25.231295, 55.290775 25.231295, 55.291043 25.231757, 55.291362 25.232311, 55.291362 25.232311, 55.291491 25.232569, 55.291491 25.232569, 55.291561 25.232762, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127, 55.294128 25.237127, 55.294980 25.238589, 55.294980 25.238589, 55.295108 25.238823, 55.295135 25.238860, 55.295135 25.238860, 55.295235 25.238912, 55.295318 25.238938, 55.295411 25.238951, 55.295499 25.238952, 55.295577 25.238937, 55.295987 25.238814, 55.295987 25.238814, 55.296469 25.238593, 55.296751 25.238484, 55.297080 25.238347, 55.297353 25.238240, 55.298093 25.237926, 55.298368 25.237814, 55.298368 25.237814, 55.298490 25.237719, 55.298509 25.237664, 55.298519 25.237603, 55.298504 25.237546, 55.298477 25.237479, 55.298439 25.237420, 55.298394 25.237370, 55.298344 25.237325, 55.298344 25.237325, 55.298323 25.237295, 55.298317 25.237269, 55.298323 25.237239, 55.298341 25.237213, 55.298366 25.237195, 55.298400 25.237187, 55.298433 25.237190, 55.298459 25.237202, 55.298459 25.237202, 55.298481 25.237201, 55.298511 25.237194, 55.298511 25.237194, 55.299336 25.236810, 55.299390 25.236790, 55.299465 25.236776, 55.299705 25.236762, 55.299764 25.236750, 55.299817 25.236730, 55.299937 25.236672, 55.299937 25.236672, 55.299957 25.236642, 55.299974 25.236571, 55.299996 25.236536, 55.300025 25.236508, 55.300066 25.236481, 55.300433 25.236282, 55.300605 25.236185, 55.300751 25.236082, 55.300869 25.235979, 55.300988 25.235865, 55.301123 25.235705, 55.301245 25.235524, 55.301341 25.235347, 55.301413 25.235179, 55.301462 25.235013, 55.301492 25.234868, 55.301511 25.234726, 55.301515 25.234642, 55.301515 25.234578, 55.301511 25.234478, 55.301497 25.234375, 55.301470 25.234250)"
}
],
"platforms": [
{
"geometry": "POINT(55.280824 25.218364)",
"id": "26"
},
{
"geometry": "POINT(55.301470 25.234250)",
"id": "27"
}
]
}
],
"distance": 4545,
"id": "22",
"moving_duration": 439,
"platforms": null,
"routes": [
{
"color": "#1a73f0",
"names": [
"T10"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 1800,
"waypoint": {
"combined": false,
"comment": "",
"name": "Museum of the Future",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.301470 25.234250, 55.301470 25.234249)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301470 25.234249, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 91,
"id": "28",
"moving_duration": 95,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "91 m on foot",
"name": "Dubai Frame",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "29",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 19:57.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m1/ctxrouting/17666757202800.89453",
"schedules": [
{
"period": 60,
"precise_time": "",
"start_time": 73110,
"start_time_utc": 1766679510,
"type": "periodic"
}
],
"schedules_events": [
{
"precise_time": "20:05",
"start_time": 72300,
"start_time_utc": 1766678700,
"type": "night_break"
}
],
"total_distance": 4900,
"total_duration": 2524,
"total_walkway_distance": "on foot 4 min",
"transfer_count": 0,
"waypoints": [
{
"combined": false,
"routes_names": [
"T10"
],
"subtype": "bus"
}
]
},
{
"crossing_count": 0,
"id": "30",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281600 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281600 25.218427, 55.281574 25.218492)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281574 25.218492, 55.281575 25.218493, 55.281508 25.218457, 55.281410 25.218402, 55.281274 25.218309, 55.281194 25.218241, 55.281112 25.218161, 55.281032 25.218081, 55.280959 25.218000, 55.280892 25.217915, 55.280803 25.217738, 55.280793 25.217725, 55.280761 25.217696, 55.280722 25.217675, 55.280680 25.217661, 55.280635 25.217657, 55.280592 25.217661, 55.280547 25.217675, 55.280509 25.217696, 55.280475 25.217726, 55.280452 25.217762, 55.280438 25.217799, 55.280432 25.217841, 55.280438 25.217881, 55.280449 25.217913, 55.280520 25.217884)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280520 25.217884, 55.280218 25.217443, 55.280081 25.217269, 55.280001 25.217172, 55.279968 25.217135, 55.280040 25.217131, 55.280109 25.217115, 55.280226 25.217048, 55.280184 25.216987, 55.280077 25.217049, 55.280027 25.217060, 55.279976 25.217063, 55.279879 25.217040, 55.279678 25.216744, 55.279533 25.216532, 55.279282 25.216162)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279282 25.216162, 55.279286 25.216160, 55.279305 25.216147, 55.279222 25.216026, 55.279178 25.215960, 55.279105 25.215760, 55.279073 25.215713, 55.279005 25.215613, 55.278960 25.215639)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 585,
"id": "31",
"moving_duration": 421,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "590 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.278960 25.215640, 55.279047 25.215767, 55.279088 25.215853, 55.279115 25.215927, 55.279136 25.215986, 55.279136 25.215986, 55.279855 25.217043, 55.279855 25.217043, 55.279919 25.217070, 55.279974 25.217084, 55.280031 25.217081, 55.280086 25.217067, 55.280240 25.216980, 55.280348 25.216914, 55.280603 25.216754, 55.280833 25.216609, 55.281015 25.216493, 55.281161 25.216406, 55.281202 25.216381, 55.281202 25.216381, 55.281260 25.216334, 55.281305 25.216298, 55.281323 25.216277, 55.281323 25.216277, 55.281362 25.216228, 55.281438 25.216081, 55.281438 25.216081, 55.281431 25.216031, 55.281434 25.215975, 55.281449 25.215920, 55.281473 25.215868, 55.281507 25.215820, 55.281549 25.215779, 55.281581 25.215758, 55.281599 25.215745, 55.281654 25.215720, 55.281714 25.215703, 55.281776 25.215697, 55.281838 25.215700, 55.281898 25.215713, 55.281952 25.215733, 55.281952 25.215733, 55.282057 25.215711, 55.282144 25.215693, 55.282226 25.215664, 55.282327 25.215617, 55.282420 25.215546, 55.282442 25.215533, 55.282541 25.215477, 55.282712 25.215381, 55.282901 25.215279, 55.283020 25.215211, 55.283049 25.215173, 55.283070 25.215150, 55.283172 25.215091, 55.283296 25.215021, 55.283346 25.214996, 55.283711 25.214797, 55.283727 25.214791, 55.283763 25.214787, 55.283831 25.214796, 55.283847 25.214793, 55.283868 25.214783, 55.284015 25.214693, 55.284220 25.214587, 55.284322 25.214534, 55.284322 25.214534, 55.284566 25.214398, 55.284566 25.214398, 55.284635 25.214493, 55.284671 25.214548, 55.284817 25.214764, 55.284941 25.214950, 55.285129 25.215229, 55.285342 25.215545, 55.285342 25.215545, 55.285418 25.215659, 55.285487 25.215751, 55.285558 25.215858, 55.285617 25.215928, 55.285671 25.216011, 55.285792 25.216199, 55.285976 25.216490, 55.285976 25.216490, 55.286443 25.217239, 55.286602 25.217467, 55.286602 25.217467, 55.286715 25.217630, 55.287129 25.218252, 55.287129 25.218252, 55.287436 25.218714, 55.287706 25.219120, 55.287913 25.219419, 55.288014 25.219566, 55.288108 25.219701, 55.288238 25.219890, 55.288665 25.220559, 55.288746 25.220680, 55.288825 25.220787, 55.288893 25.220865, 55.288971 25.220949, 55.289041 25.221027, 55.289072 25.221058, 55.289097 25.221077, 55.289128 25.221098, 55.289240 25.221187, 55.289286 25.221229, 55.289389 25.221340, 55.289486 25.221454, 55.289579 25.221578, 55.289579 25.221578, 55.289830 25.221922, 55.289905 25.222014, 55.289966 25.222086, 55.290132 25.222282, 55.290211 25.222380, 55.290364 25.222568, 55.290557 25.222790, 55.290741 25.223028, 55.290808 25.223113, 55.290925 25.223282, 55.291061 25.223455, 55.291146 25.223562, 55.291255 25.223688, 55.291479 25.223955, 55.291652 25.224160, 55.292080 25.224684, 55.292439 25.225130, 55.292489 25.225188, 55.292489 25.225188, 55.292717 25.225441, 55.292717 25.225441, 55.292456 25.225675, 55.292456 25.225675, 55.292405 25.225736, 55.291984 25.226123, 55.291984 25.226123, 55.291902 25.226199, 55.291576 25.226498, 55.291576 25.226498, 55.291409 25.226651, 55.291011 25.227015, 55.290833 25.227178, 55.290587 25.227420, 55.290409 25.227603, 55.290230 25.227832, 55.290078 25.228104, 55.289970 25.228372, 55.289961 25.228421, 55.289956 25.228470, 55.289961 25.228520, 55.289970 25.228569, 55.289988 25.228614, 55.290020 25.228670, 55.290085 25.228732, 55.290092 25.228745, 55.290092 25.228745, 55.290178 25.228761, 55.290363 25.228800, 55.290495 25.228849, 55.290535 25.228870, 55.290653 25.228956, 55.290716 25.229005, 55.290769 25.229057, 55.290821 25.229121, 55.290874 25.229224, 55.290900 25.229278, 55.290900 25.229278, 55.290939 25.229478, 55.290937 25.229605, 55.290913 25.229732, 55.290878 25.229849, 55.290816 25.229959, 55.290737 25.230047, 55.290628 25.230135, 55.290518 25.230208, 55.290385 25.230280, 55.290376 25.230283, 55.290376 25.230283, 55.290323 25.230444, 55.290311 25.230516, 55.290329 25.230580, 55.290494 25.230858, 55.290775 25.231295, 55.290775 25.231295, 55.291043 25.231757, 55.291362 25.232311, 55.291362 25.232311, 55.291491 25.232569, 55.291491 25.232569, 55.291561 25.232762, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.292422 25.234355, 55.292442 25.234358, 55.292463 25.234355, 55.292700 25.234244, 55.292720 25.234225, 55.292733 25.234198, 55.292740 25.234174, 55.292745 25.234132, 55.292744 25.234102, 55.292738 25.234067, 55.292499 25.233668, 55.292499 25.233668, 55.292467 25.233616, 55.291924 25.232682, 55.291899 25.232651, 55.291874 25.232626, 55.291848 25.232612, 55.291812 25.232603, 55.291769 25.232604, 55.291715 25.232612, 55.291674 25.232628, 55.291615 25.232674, 55.291615 25.232674, 55.291598 25.232760, 55.291601 25.232831, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127)"
}
],
"platforms": [
{
"geometry": "POINT(55.278960 25.215640)",
"id": "40"
},
{
"geometry": "POINT(55.285342 25.215545)",
"id": "41"
},
{
"geometry": "POINT(55.287129 25.218252)",
"id": "42"
},
{
"geometry": "POINT(55.291576 25.226498)",
"id": "43"
},
{
"geometry": "POINT(55.292499 25.233668)",
"id": "44"
},
{
"geometry": "POINT(55.294128 25.237127)",
"id": "45"
}
]
}
],
"distance": 4285,
"id": "32",
"moving_duration": 533,
"platforms": {
"names": [
"Emirates Tower 1",
"Emirates Tower 2",
"World Trade Centre Hotel 2",
"Max Metro Bus Stop Landside 2"
]
},
"routes": [
{
"color": "#1a73f0",
"names": [
"27"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 900,
"waypoint": {
"combined": false,
"comment": "",
"name": "Emirates Tower Landside Metro Bus Stop",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.294128 25.237127, 55.294133 25.237125)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.294133 25.237125, 55.294059 25.237000)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.294059 25.237000, 55.294054 25.236958, 55.294064 25.236912, 55.294116 25.236869, 55.294282 25.236788, 55.294623 25.237366, 55.294705 25.237490, 55.294735 25.237626, 55.294747 25.237707, 55.294766 25.237790, 55.294798 25.237866, 55.294883 25.237973, 55.295018 25.238051, 55.295103 25.238094, 55.295202 25.238141, 55.295290 25.238175, 55.295388 25.238211, 55.295522 25.238250, 55.295605 25.238274, 55.295730 25.238303, 55.295858 25.238326, 55.295982 25.238346, 55.296126 25.238359, 55.296267 25.238361, 55.296392 25.238356, 55.296530 25.238341, 55.296666 25.238323, 55.296784 25.238299, 55.296912 25.238268, 55.297043 25.238231, 55.297168 25.238189, 55.297258 25.238146, 55.297853 25.237860, 55.297927 25.237796, 55.297961 25.237752, 55.297982 25.237697, 55.298027 25.237476, 55.298101 25.237401, 55.298184 25.237347, 55.298239 25.237304, 55.298258 25.237288, 55.298282 25.237260, 55.298321 25.237200, 55.298354 25.237176, 55.298395 25.237166, 55.298435 25.237168, 55.298445 25.237173, 55.298470 25.237173, 55.298489 25.237170, 55.298551 25.237153, 55.298707 25.237079, 55.299012 25.236938, 55.299048 25.237002, 55.299307 25.236881, 55.299358 25.236857, 55.299433 25.236830, 55.299712 25.236813, 55.299803 25.236795, 55.300013 25.236693, 55.299975 25.236630, 55.300156 25.236542, 55.301051 25.236107, 55.301056 25.236105, 55.301178 25.236034, 55.301326 25.235925, 55.301486 25.235734, 55.301569 25.235603, 55.301632 25.235480, 55.301700 25.235315, 55.301759 25.235124, 55.301798 25.234940, 55.301821 25.234733, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 1102,
"id": "46",
"moving_duration": 823,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "1,2 km on foot",
"name": "Department of Health 2",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "47",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 19:59.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m1/ctxrouting/17666757202801.16406",
"schedules": [
{
"period": 30,
"precise_time": "",
"start_time": 71541,
"start_time_utc": 1766677941,
"type": "periodic"
}
],
"total_distance": 5972,
"total_duration": 2677,
"total_walkway_distance": "on foot 20 min",
"transfer_count": 0,
"waypoints": [
{
"combined": false,
"routes_names": [
"27"
],
"subtype": "bus"
}
]
}
]

If you select a transport type not available on the territory between route points, the Public Transport API attempts to build a pedestrian route. For more information, see the Transport and transfers section.

For example, if you specify the transport type "transport": ["cable_car"] for the coordinates from the example above, an empty response is returned, since the distance between the points exceeds 3.5 km.

Intermediate points

When building a route, you can specify up to 10 intermediate points (excluding the starting and ending).

To build a route with intermediate points, send a POST request to /public_transport/2.0 with the following parameters:

  • source (required parameter) - coordinates of the starting point (latitude and longitude).
  • target (required parameter) - coordinates of the ending point (latitude and longitude).
  • transport (required parameter) - array of public transport types. For example, tram - tram. For the full list of public transport types, see the transport parameter in the API Reference or the Transportation types section.
  • intermediate_points - array of intermediate point coordinates (latitude and longitude).
  • locale - language of text descriptions of route elements.

Request example:

curl --request POST \
--url 'https://routing.api.2gis.com/public_transport/2.0?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"source":
{
"point":
{
"lat": 25.218452,
"lon": 55.281776
}
},
"target":
{
"point":
{
"lat": 25.234675,
"lon": 55.301799
}
},
"intermediate_points": [
{
"point":
{
"lat": 25.222432,
"lon": 55.289251
}
}
],
"transport": ["bus"],
"locale": "en"
}'

In the response, a comment You have reached an intermediate point. will be added for the intermediate point:

    ...
{
"distance": 0,
"id": "3",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You have reached an intermediate point.",
"name": "",
"subtype": "pedestrian"
}
},
...

Response example:

response.json
[
{
"crossing_count": 0,
"id": "1",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281783 25.218491, 55.281811 25.218493, 55.281840 25.218491, 55.281868 25.218487, 55.281898 25.218480, 55.281924 25.218471, 55.281994 25.218441, 55.282025 25.218426, 55.282061 25.218414, 55.282098 25.218406, 55.282134 25.218400, 55.282172 25.218398, 55.282208 25.218400, 55.282245 25.218406, 55.282281 25.218414, 55.282317 25.218426, 55.282350 25.218441, 55.282381 25.218460, 55.282410 25.218481, 55.282449 25.218517, 55.282480 25.218560, 55.282497 25.218591, 55.282511 25.218623, 55.282521 25.218650, 55.282558 25.218740, 55.282572 25.218764, 55.282587 25.218786, 55.282606 25.218806, 55.282632 25.218830, 55.282663 25.218850, 55.282673 25.218856, 55.282700 25.218868, 55.282725 25.218877, 55.282753 25.218883, 55.282783 25.218888, 55.282836 25.218890, 55.282898 25.218884, 55.282965 25.218872, 55.283025 25.218854, 55.283095 25.218828, 55.283189 25.218788, 55.283363 25.218703, 55.283390 25.218822, 55.283402 25.218898, 55.283398 25.218958, 55.283387 25.219031, 55.283346 25.219124)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283346 25.219124, 55.283368 25.219129, 55.283428 25.219097, 55.283481 25.219177)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283481 25.219177, 55.284669 25.218513, 55.284816 25.218431, 55.285525 25.218034, 55.286227 25.217641)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286227 25.217641, 55.286275 25.217709, 55.286355 25.217817, 55.286297 25.218058)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286297 25.218058, 55.286368 25.218070, 55.286422 25.218086, 55.286486 25.218108, 55.286593 25.218164, 55.286664 25.218221, 55.286937 25.218478, 55.287131 25.218793, 55.287215 25.218918, 55.287280 25.219011, 55.287346 25.219110, 55.287612 25.219507, 55.288033 25.220133)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288033 25.220133, 55.288062 25.220240, 55.288082 25.220322, 55.288092 25.220389)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288092 25.220389, 55.288172 25.220426, 55.288219 25.220490, 55.288335 25.220657, 55.288378 25.220716, 55.288422 25.220778, 55.288380 25.220900)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288380 25.220900, 55.288386 25.220902, 55.288439 25.220937, 55.288494 25.220987, 55.288566 25.221079)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288566 25.221079, 55.288568 25.221141)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288568 25.221141, 55.288615 25.221206, 55.288617 25.221243, 55.288890 25.221640)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288890 25.221640, 55.288887 25.221661, 55.288896 25.221717, 55.289079 25.221983, 55.289131 25.222060, 55.289165 25.222109, 55.289239 25.222217, 55.289342 25.222368)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.289342 25.222368, 55.289251 25.222432)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 1216,
"id": "2",
"moving_duration": 876,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "1,3 km on foot",
"name": "",
"subtype": "start"
}
},
{
"distance": 0,
"id": "3",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You have reached an intermediate point.",
"name": "",
"subtype": "pedestrian"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.289251 25.222432, 55.289342 25.222368)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.289342 25.222368, 55.289239 25.222217, 55.289165 25.222109, 55.289131 25.222060, 55.289079 25.221983)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.289079 25.221983, 55.288936 25.222065, 55.288892 25.221995, 55.288861 25.222014)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288861 25.222014, 55.288664 25.222125, 55.288620 25.222151, 55.288451 25.222221, 55.288201 25.222361, 55.288142 25.222395, 55.288103 25.222417, 55.287876 25.222547, 55.287849 25.222563, 55.287830 25.222535, 55.287602 25.222664, 55.287621 25.222692, 55.287544 25.222735, 55.287447 25.222790, 55.287309 25.222868, 55.287084 25.222996, 55.286987 25.223051, 55.286949 25.223072, 55.286908 25.223096, 55.286883 25.223058, 55.286670 25.223179, 55.286696 25.223215, 55.286451 25.223356, 55.286484 25.223402, 55.286454 25.223419)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286454 25.223419, 55.286386 25.223464, 55.286319 25.223512, 55.286272 25.223576, 55.286267 25.223583, 55.286232 25.223652, 55.286223 25.223675, 55.286209 25.223711, 55.286193 25.223780, 55.286111 25.223776, 55.285631 25.224035, 55.285039 25.224355, 55.284988 25.224388, 55.284927 25.224420, 55.285506 25.225304, 55.285471 25.225323)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.285471 25.225323, 55.285335 25.225397)",
"z_first": 0,
"z_last": 1
},
{
"selection": "LINESTRING(55.285335 25.225397, 55.285210 25.225459, 55.284337 25.225846, 55.284353 25.225872)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.284353 25.225872, 55.284319 25.225887)",
"z_first": 1,
"z_last": 0
},
{
"selection": "LINESTRING(55.284319 25.225887, 55.284278 25.225908, 55.284345 25.226030, 55.284503 25.226061)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.284503 25.226061, 55.284523 25.226118, 55.284620 25.226216, 55.284743 25.226338, 55.284889 25.226438, 55.284928 25.226496, 55.285281 25.227023, 55.285331 25.227088, 55.285466 25.227255, 55.285616 25.227434, 55.285716 25.227480, 55.285827 25.227568, 55.286097 25.227909, 55.286146 25.227951, 55.286356 25.228129, 55.286622 25.228436, 55.286777 25.228593, 55.286961 25.228747, 55.287300 25.228986, 55.287545 25.229138, 55.287903 25.229424, 55.288008 25.229509, 55.288061 25.229572, 55.288097 25.229635, 55.288120 25.229720, 55.288127 25.229813, 55.288122 25.229866)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288122 25.229866, 55.288232 25.229804, 55.288268 25.229912, 55.288311 25.229999, 55.288361 25.230072, 55.288445 25.230174, 55.288626 25.230376, 55.288655 25.230418, 55.288664 25.230541)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288664 25.230541, 55.288707 25.230541, 55.288824 25.230547, 55.289128 25.230588, 55.289319 25.230613, 55.289424 25.230632, 55.289509 25.230657, 55.289576 25.230682, 55.289674 25.230735, 55.289848 25.230828, 55.289947 25.230952, 55.290087 25.231147, 55.290230 25.231355, 55.290499 25.231798, 55.290917 25.232485)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.290917 25.232485, 55.290953 25.232635, 55.290954 25.232679, 55.290945 25.232720)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.290945 25.232720, 55.291025 25.232755, 55.291025 25.232787, 55.291009 25.232827, 55.290994 25.232856, 55.290997 25.232899, 55.291002 25.232947, 55.291156 25.233051, 55.291187 25.233103)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.291187 25.233103, 55.291386 25.233431)",
"z_first": 0,
"z_last": 1
},
{
"selection": "LINESTRING(55.291386 25.233431, 55.291917 25.233175, 55.291988 25.233127)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291988 25.233127, 55.292023 25.233104)",
"z_first": 1,
"z_last": 0
},
{
"selection": "LINESTRING(55.292023 25.233104, 55.292112 25.233060)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292112 25.233060, 55.292474 25.233680)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292474 25.233680, 55.292499 25.233668)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 2149,
"id": "2",
"moving_duration": 1547,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "2,2 km on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.292499 25.233668, 55.292467 25.233616, 55.291924 25.232682, 55.291899 25.232651, 55.291874 25.232626, 55.291848 25.232612, 55.291812 25.232603, 55.291769 25.232604, 55.291715 25.232612, 55.291674 25.232628, 55.291615 25.232674, 55.291615 25.232674, 55.291598 25.232760, 55.291601 25.232831, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127, 55.294128 25.237127, 55.294980 25.238589, 55.294980 25.238589, 55.295108 25.238823, 55.295135 25.238860, 55.295135 25.238860, 55.295235 25.238912, 55.295318 25.238938, 55.295411 25.238951, 55.295499 25.238952, 55.295577 25.238937, 55.295987 25.238814, 55.295987 25.238814, 55.296469 25.238593, 55.296751 25.238484, 55.297080 25.238347, 55.297353 25.238240, 55.298093 25.237926, 55.298368 25.237814, 55.298368 25.237814, 55.298490 25.237719, 55.298509 25.237664, 55.298519 25.237603, 55.298504 25.237546, 55.298477 25.237479, 55.298439 25.237420, 55.298394 25.237370, 55.298344 25.237325, 55.298344 25.237325, 55.298323 25.237295, 55.298317 25.237269, 55.298323 25.237239, 55.298341 25.237213, 55.298366 25.237195, 55.298400 25.237187, 55.298433 25.237190, 55.298459 25.237202, 55.298459 25.237202, 55.298481 25.237201, 55.298511 25.237194, 55.298511 25.237194, 55.299336 25.236810, 55.299390 25.236790, 55.299465 25.236776, 55.299705 25.236762, 55.299764 25.236750, 55.299817 25.236730, 55.299937 25.236672, 55.299937 25.236672, 55.299957 25.236642, 55.299974 25.236571, 55.299996 25.236536, 55.300025 25.236508, 55.300066 25.236481, 55.300433 25.236282, 55.300605 25.236185, 55.300751 25.236082, 55.300869 25.235979, 55.300988 25.235865, 55.301123 25.235705, 55.301245 25.235524, 55.301341 25.235347, 55.301413 25.235179, 55.301462 25.235013, 55.301492 25.234868, 55.301511 25.234726, 55.301515 25.234642, 55.301515 25.234578, 55.301511 25.234478, 55.301497 25.234375, 55.301470 25.234250)"
}
],
"platforms": [
{
"geometry": "POINT(55.292499 25.233668)",
"id": "7"
},
{
"geometry": "POINT(55.301470 25.234250)",
"id": "8"
}
]
}
],
"distance": 1878,
"id": "3",
"moving_duration": 199,
"platforms": null,
"routes": [
{
"color": "#1a73f0",
"names": [
"F09"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 300,
"waypoint": {
"combined": false,
"comment": "",
"name": "Max Metro Bus Stop Landside 2",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.301470 25.234250, 55.301470 25.234249)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301470 25.234249, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 91,
"id": "9",
"moving_duration": 95,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "91 m on foot",
"name": "Dubai Frame",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "10",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 20:10.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": true,
"route_id": "far-abroad-ctx-back.m1/ctxrouting/17666760170000.00000",
"schedules": [
{
"period": 10,
"precise_time": "",
"start_time": 72640,
"start_time_utc": 1766679040,
"type": "periodic"
},
{
"period": 60,
"precise_time": "",
"start_time": 75051,
"start_time_utc": 1766681451,
"type": "periodic"
}
],
"schedules_events": [
{
"precise_time": "20:05",
"start_time": 72300,
"start_time_utc": 1766678700,
"type": "night_break"
}
],
"total_distance": 5334,
"total_duration": 3017,
"total_walkway_distance": "on foot 27,27 km",
"transfer_count": 1,
"transport": [
"trolleybus",
"tram",
"suburban_train",
"shuttle_bus",
"river_transport",
"premetro",
"pedestrian",
"monorail",
"metro",
"mcd",
"mcc",
"light_rail",
"light_metro",
"funicular_railway",
"cable_car",
"bus",
"aeroexpress"
],
"waypoints": [
{
"combined": false,
"routes_names": [
"F09"
],
"subtype": "bus"
}
]
},
{
"crossing_count": 0,
"id": "1",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281783 25.218491, 55.281811 25.218493, 55.281840 25.218491, 55.281868 25.218487, 55.281898 25.218480, 55.281924 25.218471, 55.281994 25.218441, 55.282025 25.218426, 55.282061 25.218414, 55.282098 25.218406, 55.282134 25.218400, 55.282172 25.218398, 55.282208 25.218400, 55.282245 25.218406, 55.282281 25.218414, 55.282317 25.218426, 55.282350 25.218441, 55.282381 25.218460, 55.282410 25.218481, 55.282449 25.218517, 55.282480 25.218560, 55.282497 25.218591, 55.282511 25.218623, 55.282521 25.218650, 55.282558 25.218740, 55.282572 25.218764, 55.282587 25.218786, 55.282606 25.218806, 55.282632 25.218830, 55.282663 25.218850, 55.282673 25.218856, 55.282700 25.218868, 55.282725 25.218877, 55.282753 25.218883, 55.282783 25.218888, 55.282836 25.218890, 55.282898 25.218884, 55.282965 25.218872, 55.283025 25.218854, 55.283095 25.218828, 55.283189 25.218788, 55.283363 25.218703, 55.283390 25.218822, 55.283402 25.218898, 55.283398 25.218958, 55.283387 25.219031, 55.283346 25.219124)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283346 25.219124, 55.283368 25.219129, 55.283428 25.219097, 55.283481 25.219177)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283481 25.219177, 55.284669 25.218513, 55.284816 25.218431, 55.285525 25.218034, 55.286227 25.217641)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286227 25.217641, 55.286275 25.217709, 55.286355 25.217817, 55.286297 25.218058)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286297 25.218058, 55.286368 25.218070, 55.286422 25.218086, 55.286486 25.218108, 55.286593 25.218164, 55.286664 25.218221, 55.286937 25.218478, 55.287131 25.218793, 55.287215 25.218918, 55.287280 25.219011, 55.287346 25.219110, 55.287612 25.219507, 55.288033 25.220133)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288033 25.220133, 55.288062 25.220240, 55.288082 25.220322, 55.288092 25.220389)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288092 25.220389, 55.288172 25.220426, 55.288219 25.220490, 55.288335 25.220657, 55.288378 25.220716, 55.288422 25.220778, 55.288380 25.220900)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288380 25.220900, 55.288386 25.220902, 55.288439 25.220937, 55.288494 25.220987, 55.288566 25.221079)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288566 25.221079, 55.288568 25.221141)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288568 25.221141, 55.288615 25.221206, 55.288617 25.221243, 55.288890 25.221640)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288890 25.221640, 55.288887 25.221661, 55.288896 25.221717, 55.289079 25.221983, 55.289131 25.222060, 55.289165 25.222109, 55.289239 25.222217, 55.289342 25.222368)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.289342 25.222368, 55.289251 25.222432)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 1216,
"id": "2",
"moving_duration": 876,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "1,3 km on foot",
"name": "",
"subtype": "start"
}
},
{
"distance": 0,
"id": "3",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You have reached an intermediate point.",
"name": "",
"subtype": "pedestrian"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.289251 25.222432, 55.289342 25.222368)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.289342 25.222368, 55.289239 25.222217, 55.289165 25.222109, 55.289131 25.222060, 55.289079 25.221983, 55.288896 25.221717, 55.288870 25.221679, 55.288613 25.221302, 55.288596 25.221275, 55.288578 25.221231, 55.288570 25.221195, 55.288569 25.221141, 55.288566 25.221079)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288566 25.221079, 55.288494 25.220987, 55.288439 25.220937, 55.288386 25.220902, 55.288380 25.220900)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288380 25.220900, 55.288422 25.220778, 55.288378 25.220716, 55.288335 25.220657, 55.288219 25.220490, 55.288172 25.220426, 55.288092 25.220389)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288092 25.220389, 55.288082 25.220321, 55.288062 25.220240, 55.288033 25.220133)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.288033 25.220133, 55.287600 25.219488, 55.287377 25.219156, 55.287280 25.219011, 55.287215 25.218917, 55.287130 25.218792, 55.286937 25.218478, 55.286664 25.218221, 55.286593 25.218164, 55.286486 25.218108, 55.286422 25.218086, 55.286368 25.218070, 55.286297 25.218058)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286297 25.218058, 55.286355 25.217817, 55.286275 25.217709, 55.286227 25.217641)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.286227 25.217641, 55.285525 25.218034, 55.284816 25.218431, 55.284644 25.218527, 55.283481 25.219177)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283481 25.219177, 55.283428 25.219097, 55.283368 25.219129, 55.283268 25.219105)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283268 25.219105, 55.283247 25.219143, 55.283226 25.219176, 55.283151 25.219277)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.283151 25.219277, 55.282646 25.219559, 55.282525 25.219619, 55.282349 25.219694)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.282349 25.219694, 55.282137 25.219728, 55.282035 25.219737, 55.281951 25.219732, 55.281872 25.219712, 55.281785 25.219673, 55.281723 25.219620, 55.281655 25.219543, 55.281568 25.219417)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281568 25.219417, 55.281472 25.219278)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281472 25.219278, 55.281311 25.219041, 55.280841 25.218354)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280841 25.218354, 55.280824 25.218364)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 1331,
"id": "12",
"moving_duration": 958,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "1,4 km on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.280824 25.218364, 55.281638 25.219554, 55.281709 25.219633, 55.281774 25.219688, 55.281865 25.219729, 55.281948 25.219750, 55.282036 25.219755, 55.282140 25.219746, 55.282359 25.219711, 55.282478 25.219660, 55.282657 25.219575, 55.283140 25.219305, 55.283583 25.219057, 55.284691 25.218438, 55.284785 25.218385, 55.285491 25.217991, 55.285491 25.217991, 55.286298 25.217543, 55.286298 25.217543, 55.286433 25.217468, 55.286433 25.217468, 55.286495 25.217457, 55.286602 25.217467, 55.286602 25.217467, 55.286715 25.217630, 55.287129 25.218252, 55.287129 25.218252, 55.287436 25.218714, 55.287706 25.219120, 55.287913 25.219419, 55.288014 25.219566, 55.288108 25.219701, 55.288238 25.219890, 55.288665 25.220559, 55.288746 25.220680, 55.288825 25.220787, 55.288893 25.220865, 55.288971 25.220949, 55.289041 25.221027, 55.289072 25.221058, 55.289097 25.221077, 55.289128 25.221098, 55.289240 25.221187, 55.289286 25.221229, 55.289389 25.221340, 55.289486 25.221454, 55.289579 25.221578, 55.289579 25.221578, 55.289830 25.221922, 55.289905 25.222014, 55.289966 25.222086, 55.290132 25.222282, 55.290211 25.222380, 55.290364 25.222568, 55.290557 25.222790, 55.290741 25.223028, 55.290808 25.223113, 55.290925 25.223282, 55.291061 25.223455, 55.291146 25.223562, 55.291255 25.223688, 55.291479 25.223955, 55.291652 25.224160, 55.292080 25.224684, 55.292439 25.225130, 55.292489 25.225188, 55.292489 25.225188, 55.292717 25.225441, 55.292717 25.225441, 55.292456 25.225675, 55.292456 25.225675, 55.292405 25.225736, 55.291984 25.226123, 55.291984 25.226123, 55.291902 25.226199, 55.291576 25.226498, 55.291576 25.226498, 55.291409 25.226651, 55.291011 25.227015, 55.290833 25.227178, 55.290587 25.227420, 55.290409 25.227603, 55.290230 25.227832, 55.290078 25.228104, 55.289970 25.228372, 55.289961 25.228421, 55.289956 25.228470, 55.289961 25.228520, 55.289970 25.228569, 55.289988 25.228614, 55.290020 25.228670, 55.290085 25.228732, 55.290092 25.228745, 55.290092 25.228745, 55.290178 25.228761, 55.290363 25.228800, 55.290495 25.228849, 55.290535 25.228870, 55.290653 25.228956, 55.290716 25.229005, 55.290769 25.229057, 55.290821 25.229121, 55.290874 25.229224, 55.290900 25.229278, 55.290900 25.229278, 55.290939 25.229478, 55.290937 25.229605, 55.290913 25.229732, 55.290878 25.229849, 55.290816 25.229959, 55.290737 25.230047, 55.290628 25.230135, 55.290518 25.230208, 55.290385 25.230280, 55.290376 25.230283, 55.290376 25.230283, 55.290323 25.230444, 55.290311 25.230516, 55.290329 25.230580, 55.290494 25.230858, 55.290775 25.231295, 55.290775 25.231295, 55.291043 25.231757, 55.291362 25.232311, 55.291362 25.232311, 55.291491 25.232569, 55.291491 25.232569, 55.291561 25.232762, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127, 55.294128 25.237127, 55.294980 25.238589, 55.294980 25.238589, 55.295108 25.238823, 55.295135 25.238860, 55.295135 25.238860, 55.295235 25.238912, 55.295318 25.238938, 55.295411 25.238951, 55.295499 25.238952, 55.295577 25.238937, 55.295987 25.238814, 55.295987 25.238814, 55.296469 25.238593, 55.296751 25.238484, 55.297080 25.238347, 55.297353 25.238240, 55.298093 25.237926, 55.298368 25.237814, 55.298368 25.237814, 55.298490 25.237719, 55.298509 25.237664, 55.298519 25.237603, 55.298504 25.237546, 55.298477 25.237479, 55.298439 25.237420, 55.298394 25.237370, 55.298344 25.237325, 55.298344 25.237325, 55.298323 25.237295, 55.298317 25.237269, 55.298323 25.237239, 55.298341 25.237213, 55.298366 25.237195, 55.298400 25.237187, 55.298433 25.237190, 55.298459 25.237202, 55.298459 25.237202, 55.298481 25.237201, 55.298511 25.237194, 55.298511 25.237194, 55.299336 25.236810, 55.299390 25.236790, 55.299465 25.236776, 55.299705 25.236762, 55.299764 25.236750, 55.299817 25.236730, 55.299937 25.236672, 55.299937 25.236672, 55.299957 25.236642, 55.299974 25.236571, 55.299996 25.236536, 55.300025 25.236508, 55.300066 25.236481, 55.300433 25.236282, 55.300605 25.236185, 55.300751 25.236082, 55.300869 25.235979, 55.300988 25.235865, 55.301123 25.235705, 55.301245 25.235524, 55.301341 25.235347, 55.301413 25.235179, 55.301462 25.235013, 55.301492 25.234868, 55.301511 25.234726, 55.301515 25.234642, 55.301515 25.234578, 55.301511 25.234478, 55.301497 25.234375, 55.301470 25.234250)"
}
],
"platforms": [
{
"geometry": "POINT(55.280824 25.218364)",
"id": "17"
},
{
"geometry": "POINT(55.301470 25.234250)",
"id": "18"
}
]
}
],
"distance": 4545,
"id": "13",
"moving_duration": 439,
"platforms": null,
"routes": [
{
"color": "#1a73f0",
"names": [
"T10"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 900,
"waypoint": {
"combined": false,
"comment": "",
"name": "Museum of the Future",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.301470 25.234250, 55.301470 25.234249)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301470 25.234249, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 91,
"id": "19",
"moving_duration": 95,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "91 m on foot",
"name": "Dubai Frame",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "20",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 20:14.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": true,
"route_id": "far-abroad-ctx-back.m1/ctxrouting/17666760170000.00000",
"schedules": [
{
"period": 10,
"precise_time": "",
"start_time": 72640,
"start_time_utc": 1766679040,
"type": "periodic"
},
{
"period": 60,
"precise_time": "",
"start_time": 75051,
"start_time_utc": 1766681451,
"type": "periodic"
}
],
"schedules_events": [
{
"precise_time": "20:05",
"start_time": 72300,
"start_time_utc": 1766678700,
"type": "night_break"
}
],
"total_distance": 7183,
"total_duration": 3268,
"total_walkway_distance": "on foot 18,18 km",
"transfer_count": 2,
"waypoints": [
{
"combined": false,
"routes_names": [
"T10"
],
"subtype": "bus"
}
]
}
]

Departure time

By default, the route is built for the current local time. The schedule of public transport is taken into account during calculation.

To build a route with the precise departure time, send a POST request to /public_transport/2.0 with the following parameters:

  • source (required parameter) - coordinates of the starting point (latitude and longitude).
  • target (required parameter) - coordinates of the ending point (latitude and longitude).
  • transport (required parameter) - array of public transport types. For example, tram - tram. For the full list of public transport types, see the transport parameter in the API Reference or the Transportation types section.
  • start_time - date and time of the travel start in Unix time (for example, 1766646000).
  • locale - language of text descriptions of route elements.

Request example:

curl --request POST \
--url 'https://routing.api.2gis.com/public_transport/2.0?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"source":
{
"point":
{
"lat": 25.218452,
"lon": 55.281776
}
},
"target":
{
"point":
{
"lat": 25.234675,
"lon": 55.301799
}
},
"transport": ["metro"],
"start_time": 1766646000, // 25/12/2025 10:00
"locale": "en"
}'

Response example:

response.json
[
{
"crossing_count": 0,
"id": "1",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281600 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281600 25.218427, 55.281574 25.218492)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281574 25.218492, 55.281575 25.218493, 55.281508 25.218457, 55.281410 25.218402, 55.281274 25.218309, 55.281194 25.218241, 55.281112 25.218161, 55.281032 25.218081, 55.280959 25.218000, 55.280892 25.217915, 55.280803 25.217738, 55.280793 25.217725, 55.280761 25.217696, 55.280722 25.217675, 55.280680 25.217661, 55.280635 25.217657, 55.280592 25.217661, 55.280547 25.217675, 55.280509 25.217696, 55.280475 25.217726, 55.280452 25.217762, 55.280438 25.217799, 55.280432 25.217841, 55.280438 25.217881, 55.280449 25.217913, 55.280520 25.217884)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280520 25.217884, 55.280218 25.217443, 55.280081 25.217269, 55.280001 25.217172, 55.279968 25.217135, 55.280040 25.217131, 55.280109 25.217115, 55.280226 25.217048, 55.280184 25.216987, 55.280077 25.217049, 55.280027 25.217060, 55.279976 25.217063, 55.279879 25.217040, 55.279678 25.216744, 55.279556 25.216566)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279556 25.216566, 55.279566 25.216561, 55.279582 25.216553)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279582 25.216553, 55.279637 25.216633)",
"z_first": 0,
"z_last": 1
},
{
"selection": "LINESTRING(55.279637 25.216633, 55.279883 25.216994, 55.279686 25.217108)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.279686 25.217108, 55.279744 25.217218, 55.279796 25.217297, 55.279810 25.217287)",
"z_first": 1,
"z_last": 1
}
]
}
],
"distance": 566,
"id": "2",
"moving_duration": 407,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "570 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.279810 25.217287, 55.280134 25.217753, 55.280134 25.217753, 55.283047 25.221950, 55.284193 25.223629, 55.284744 25.224481, 55.284744 25.224481, 55.284979 25.224845, 55.284979 25.224845, 55.285452 25.225577, 55.285452 25.225577, 55.285473 25.225609, 55.285899 25.226127, 55.286588 25.227083, 55.286995 25.227637, 55.287242 25.227887, 55.287497 25.228101, 55.287770 25.228286, 55.287819 25.228311, 55.287819 25.228311, 55.288728 25.228774, 55.289063 25.228985, 55.289351 25.229200, 55.289351 25.229200, 55.289626 25.229454, 55.289911 25.229790, 55.290183 25.230203, 55.290364 25.230515, 55.290364 25.230515, 55.291852 25.233065, 55.291852 25.233065, 55.292066 25.233432)"
}
],
"platforms": [
{
"geometry": "POINT(55.279810 25.217287)",
"id": "8"
},
{
"geometry": "POINT(55.284979 25.224845)",
"id": "9"
},
{
"geometry": "POINT(55.292066 25.233432)",
"id": "10"
}
]
}
],
"distance": 2196,
"id": "3",
"metro": {
"color": "#e90101",
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"exit_entrance_number": "3",
"line_name": "Red Line 2",
"ui_direction_suggest": "towards «Centrepoint» station",
"ui_station_count": "1 station"
},
"moving_duration": 256,
"platforms": {
"names": [
"World Trade Centre"
],
"penultimate_stop": "World Trade Centre"
},
"routes": null,
"type": "passage",
"waiting_duration": 120,
"waypoint": {
"combined": false,
"comment": "",
"name": "Emirates Towers",
"subtype": "metro"
}
},
{
"alternatives": [
{
"entrances": [
{
"color": "#e90101",
"exit": true,
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"geometry": "POINT(55.292024 25.233104)",
"metro_logo": "metro_dubai",
"name": "Max",
"number": "3",
"show_other_station": false
}
],
"geometry": [
{
"selection": "LINESTRING(55.292066 25.233432, 55.292081 25.233426, 55.292038 25.233355, 55.291980 25.233258, 55.291917 25.233175)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291917 25.233175, 55.291987 25.233128)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291987 25.233128, 55.292023 25.233104)",
"z_first": 1,
"z_last": 0
},
{
"selection": "LINESTRING(55.292023 25.233104, 55.292062 25.233085, 55.292147 25.233044, 55.292217 25.233010)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292217 25.233010, 55.292788 25.233986, 55.292809 25.234024, 55.292838 25.234054, 55.292860 25.234071, 55.292882 25.234082, 55.292938 25.234096, 55.292969 25.234082, 55.293006 25.234145, 55.293177 25.234062)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.293177 25.234062, 55.293494 25.234608, 55.293594 25.234779, 55.293676 25.234739, 55.293658 25.234708)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.293658 25.234708, 55.294922 25.234092, 55.295062 25.234023, 55.295123 25.234003, 55.295197 25.234003)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.295197 25.234003, 55.295205 25.233998, 55.297258 25.233038, 55.297290 25.233039, 55.297655 25.233138, 55.298852 25.232566, 55.298879 25.232564, 55.299204 25.232648, 55.299997 25.232855, 55.300190 25.232920, 55.300348 25.232992, 55.300503 25.233076, 55.300525 25.233090, 55.300628 25.233161, 55.300753 25.233260, 55.300874 25.233372, 55.300981 25.233476, 55.301068 25.233580, 55.301143 25.233711, 55.301211 25.233862, 55.301287 25.234068, 55.301325 25.234257)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301325 25.234257, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 1358,
"id": "11",
"moving_duration": 1007,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "1,4 km on foot",
"name": "Max",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "12",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 11:29.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m9/ctxrouting/17666460000000.00000",
"schedules": [
{
"period": 4,
"precise_time": "",
"start_time": 40247,
"start_time_utc": 1766646647,
"type": "periodic"
}
],
"total_distance": 4120,
"total_duration": 1790,
"total_walkway_distance": "on foot 23 min",
"transfer_count": 0,
"transport": [
"pedestrian",
"bus",
"trolleybus",
"tram",
"shuttle_bus",
"metro",
"suburban_train",
"funicular_railway",
"monorail",
"river_transport",
"cable_car",
"light_rail",
"premetro",
"light_metro",
"aeroexpress",
"mcd",
"mcc"
],
"waypoints": [
{
"combined": false,
"routes_names": [
"Red Line 1",
"Red Line 2"
],
"subtype": "metro"
}
]
}
]

Transport schedule

By default, routes are built based on the public transport schedule:

  • If a predicted schedule is available for the transport route, it is used for the calculation. The response returns the "origin_from": "eta" field in the "schedules" block. The predicted schedule contains information about the expected arrival times of transport at stops. It is calculated based on statistics on how long it took for this transport route to travel route segments previously.
  • If no predicted schedule is available, the standard route schedule (e.g., received from the carrier) is used.

The schedule affects the calculation of transport waiting time and travel time. For example, if the nearest tram departs in 15 minutes, its waiting time (waiting_duration) will be taken into account when calculating the total travel time (total_duration).

In the schedule, night breaks in transport service are also taken into account. For example, the bus starts operating at 06:10. If you build a route with a start_time of 04:00, the waiting time will be 2 hours and 10 minutes and will affect the total travel time. If the schedule is not considered, only a standard waiting time for the selected transport type will be used.

To build a route without considering the schedule, send a POST request to /public_transport/2.0 with the following parameters:

  • source (required parameter) - coordinates of the starting point (latitude and longitude).
  • target (required parameter) - coordinates of the ending point (latitude and longitude).
  • transport (required parameter) - array of public transport types. For example, tram - tram. For the full list of public transport types, see the transport parameter in the API Reference or the Transportation types section.
  • start_time - date and time of the travel start in Unix time (for example, 1766620800).
  • enable_schedule - whether to consider the schedule in the response. If set to false, the route is built without taking the schedule into account.
  • locale - language of text descriptions of route elements.

Request example:

curl --request POST \
--url 'https://routing.api.2gis.com/public_transport/2.0?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"source":
{
"point":
{
"lat": 25.218452,
"lon": 55.281776
}
},
"target":
{
"point":
{
"lat": 25.234675,
"lon": 55.301799
}
},
"transport": ["metro"],
"start_time": 1766620800, // 25.12.2025 03:00
"enable_schedule": false,
"locale": "en"
}'

Response example:

According to the schedule, the metro starts operating at 05:58. The waiting time (waiting_duration) is not considered in the response, and the comment for the route segment does not include the arrival time:

...
"routes": [],
"type": "passage",
"waiting_duration": 60, // if "enable_schedule": true, the value is 6720
"waypoint": {
"combined": false,
"comment": "",
"name": "Emirates Towers",
"subtype": "metro"
}
...
{
"distance": 0,
"id": "12",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You have arrived!", // if "enable_schedule": true,
// the value is You reach the destination at 06:19.
"name": "",
"subtype": "finish"
}
}
...
response.json
[
{
"crossing_count": 0,
"id": "1",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281600 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281600 25.218427, 55.281574 25.218492)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281574 25.218492, 55.281575 25.218493, 55.281508 25.218457, 55.281410 25.218402, 55.281274 25.218309, 55.281194 25.218241, 55.281112 25.218161, 55.281032 25.218081, 55.280959 25.218000, 55.280892 25.217915, 55.280803 25.217738, 55.280793 25.217725, 55.280761 25.217696, 55.280722 25.217675, 55.280680 25.217661, 55.280635 25.217657, 55.280592 25.217661, 55.280547 25.217675, 55.280509 25.217696, 55.280475 25.217726, 55.280452 25.217762, 55.280438 25.217799, 55.280432 25.217841, 55.280438 25.217881, 55.280449 25.217913, 55.280520 25.217884)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280520 25.217884, 55.280218 25.217443, 55.280081 25.217269, 55.280001 25.217172, 55.279968 25.217135, 55.280040 25.217131, 55.280109 25.217115, 55.280226 25.217048, 55.280184 25.216987, 55.280077 25.217049, 55.280027 25.217060, 55.279976 25.217063, 55.279879 25.217040, 55.279678 25.216744, 55.279556 25.216566)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279556 25.216566, 55.279566 25.216561, 55.279582 25.216553)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279582 25.216553, 55.279637 25.216633)",
"z_first": 0,
"z_last": 1
},
{
"selection": "LINESTRING(55.279637 25.216633, 55.279883 25.216994, 55.279686 25.217108)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.279686 25.217108, 55.279744 25.217218, 55.279796 25.217297, 55.279810 25.217287)",
"z_first": 1,
"z_last": 1
}
]
}
],
"distance": 566,
"id": "2",
"moving_duration": 407,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "570 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.279810 25.217287, 55.280134 25.217753, 55.280134 25.217753, 55.283047 25.221950, 55.284193 25.223629, 55.284744 25.224481, 55.284744 25.224481, 55.284979 25.224845, 55.284979 25.224845, 55.285452 25.225577, 55.285452 25.225577, 55.285473 25.225609, 55.285899 25.226127, 55.286588 25.227083, 55.286995 25.227637, 55.287242 25.227887, 55.287497 25.228101, 55.287770 25.228286, 55.287819 25.228311, 55.287819 25.228311, 55.288728 25.228774, 55.289063 25.228985, 55.289351 25.229200, 55.289351 25.229200, 55.289626 25.229454, 55.289911 25.229790, 55.290183 25.230203, 55.290364 25.230515, 55.290364 25.230515, 55.291852 25.233065, 55.291852 25.233065, 55.292066 25.233432)"
}
],
"platforms": [
{
"geometry": "POINT(55.279810 25.217287)",
"id": "8"
},
{
"geometry": "POINT(55.284979 25.224845)",
"id": "9"
},
{
"geometry": "POINT(55.292066 25.233432)",
"id": "10"
}
]
}
],
"distance": 2196,
"id": "3",
"metro": {
"color": "#e90101",
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"exit_entrance_number": "3",
"line_name": "Red Line 3",
"ui_direction_suggest": "towards «Centrepoint» station",
"ui_station_count": "1 station"
},
"moving_duration": 256,
"platforms": {
"names": [
"World Trade Centre"
],
"penultimate_stop": "World Trade Centre"
},
"routes": null,
"type": "passage",
"waiting_duration": 60,
"waypoint": {
"combined": false,
"comment": "",
"name": "Emirates Towers",
"subtype": "metro"
}
},
{
"alternatives": [
{
"entrances": [
{
"color": "#e90101",
"exit": true,
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"geometry": "POINT(55.292024 25.233104)",
"metro_logo": "metro_dubai",
"name": "Max",
"number": "3",
"show_other_station": false
}
],
"geometry": [
{
"selection": "LINESTRING(55.292066 25.233432, 55.292081 25.233426, 55.292038 25.233355, 55.291980 25.233258, 55.291917 25.233175)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291917 25.233175, 55.291987 25.233128)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291987 25.233128, 55.292023 25.233104)",
"z_first": 1,
"z_last": 0
},
{
"selection": "LINESTRING(55.292023 25.233104, 55.292062 25.233085, 55.292147 25.233044, 55.292217 25.233010)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292217 25.233010, 55.292788 25.233986, 55.292809 25.234024, 55.292838 25.234054, 55.292860 25.234071, 55.292882 25.234082, 55.292938 25.234096, 55.292969 25.234082, 55.293006 25.234145, 55.293177 25.234062)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.293177 25.234062, 55.293494 25.234608, 55.293594 25.234779, 55.293676 25.234739, 55.293658 25.234708)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.293658 25.234708, 55.294922 25.234092, 55.295062 25.234023, 55.295123 25.234003, 55.295197 25.234003)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.295197 25.234003, 55.295205 25.233998, 55.297258 25.233038, 55.297290 25.233039, 55.297655 25.233138, 55.298852 25.232566, 55.298879 25.232564, 55.299204 25.232648, 55.299997 25.232855, 55.300190 25.232920, 55.300348 25.232992, 55.300503 25.233076, 55.300525 25.233090, 55.300628 25.233161, 55.300753 25.233260, 55.300874 25.233372, 55.300981 25.233476, 55.301068 25.233580, 55.301143 25.233711, 55.301211 25.233862, 55.301287 25.234068, 55.301325 25.234257)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301325 25.234257, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 1358,
"id": "11",
"moving_duration": 1007,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "1,4 km on foot",
"name": "Max",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "12",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You have arrived!",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m1/ctxrouting/17666208000000.00000",
"schedules": [
{
"period": 5,
"precise_time": "",
"start_time": 21527,
"start_time_utc": 1766627927,
"type": "periodic"
}
],
"schedules_events": [
{
"precise_time": "05:58",
"start_time": 21527,
"start_time_utc": 1766627927,
"type": "begin_trips"
}
],
"total_distance": 4120,
"total_duration": 1730,
"total_walkway_distance": "on foot 23 min",
"transfer_count": 0,
"transport": [
"pedestrian",
"bus",
"trolleybus",
"tram",
"shuttle_bus",
"metro",
"suburban_train",
"funicular_railway",
"monorail",
"river_transport",
"cable_car",
"light_rail",
"premetro",
"light_metro",
"aeroexpress",
"mcd",
"mcc"
],
"waypoints": [
{
"combined": false,
"routes_names": [
"Red Line 1",
"Red Line 2",
"Red Line 3"
],
"subtype": "metro"
}
]
}
]

Limiting results

You can limit the number of route options in the response by specifying the maximum number of alternative routes or the desired number of direct routes (without transfers).

When you limit the maximum number of options (max_result_count), the shortest routes are returned in the response, sorted by increasing the total travel time (total_duration).

If you additionally specify the desired number of direct routes (direct_routes_count) in the response, the Public Transport API attempts to include the direct routes in the response, even if their total_duration is higher than for routes with transfers. The response may return a number of direct routes different from the direct_routes_count:

  • More direct routes are returned if their travel time is shorter than other routes with transfers.
  • Fewer direct routes are returned if the desired number cannot be built.

For example, when limiting the number of routes via "max_result_count": 3, three shortest routes with transfers are returned in the response. If you specify the desired number of direct routes via "direct_routes_count": 2, the response will include one route with transfers and two direct routes, even if their travel time is higher.

To build a route with limits, send a POST request to /public_transport/2.0 with the following parameters:

  • source (required parameter) - coordinates of the starting point (latitude and longitude).
  • target (required parameter) - coordinates of the ending point (latitude and longitude).
  • transport (required parameter) - array of public transport types. For example, tram - tram. For the full list of public transport types, see the transport parameter in the API Reference or the Transportation types section.
  • max_result_count - maximum number of route options in the response.
  • direct_routes_count - desired number of routes without transfers in the response. If it is not possible to build the specified number of routes without transfers, a smaller number will be returned.
  • locale - language of text descriptions of route elements.

Request example:

curl --request POST \
--url 'https://routing.api.2gis.com/public_transport/2.0?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"source":
{
"point":
{
"lat": 25.218452,
"lon": 55.281776
}
},
"target":
{
"point":
{
"lat": 25.234675,
"lon": 55.301799
}
},
"transport": ["metro", "bus"],
"max_result_count": 2,
"direct_routes_count": 2,
"locale": "en"
}'

Response example:

response.json
[
{
"crossing_count": 1,
"id": "1",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281600 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281600 25.218427, 55.281574 25.218492)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281574 25.218492, 55.281575 25.218493, 55.281508 25.218457, 55.281410 25.218402, 55.281274 25.218309, 55.281194 25.218241, 55.281112 25.218161, 55.281032 25.218081, 55.280959 25.218000, 55.280892 25.217915, 55.280803 25.217738, 55.280793 25.217725, 55.280761 25.217696, 55.280722 25.217675, 55.280680 25.217661, 55.280635 25.217657, 55.280592 25.217661, 55.280547 25.217675, 55.280509 25.217696, 55.280475 25.217726, 55.280452 25.217762, 55.280438 25.217799, 55.280432 25.217841, 55.280438 25.217881, 55.280449 25.217913, 55.280520 25.217884)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280520 25.217884, 55.280218 25.217443, 55.280081 25.217269, 55.280001 25.217172, 55.279968 25.217135, 55.280040 25.217131, 55.280109 25.217115, 55.280226 25.217048, 55.280184 25.216987, 55.280077 25.217049, 55.280027 25.217060, 55.279976 25.217063, 55.279879 25.217040, 55.279678 25.216744, 55.279556 25.216566)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279556 25.216566, 55.279566 25.216561, 55.279582 25.216553)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.279582 25.216553, 55.279637 25.216633)",
"z_first": 0,
"z_last": 1
},
{
"selection": "LINESTRING(55.279637 25.216633, 55.279883 25.216994, 55.279686 25.217108)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.279686 25.217108, 55.279744 25.217218, 55.279796 25.217297, 55.279810 25.217287)",
"z_first": 1,
"z_last": 1
}
]
}
],
"distance": 566,
"id": "2",
"moving_duration": 407,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "570 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.279810 25.217287, 55.280134 25.217753, 55.280134 25.217753, 55.283047 25.221950, 55.284193 25.223629, 55.284744 25.224481, 55.284744 25.224481, 55.284979 25.224845, 55.284979 25.224845, 55.285452 25.225577, 55.285452 25.225577, 55.285473 25.225609, 55.285899 25.226127, 55.286588 25.227083, 55.286995 25.227637, 55.287242 25.227887, 55.287497 25.228101, 55.287770 25.228286, 55.287819 25.228311, 55.287819 25.228311, 55.288728 25.228774, 55.289063 25.228985, 55.289351 25.229200, 55.289351 25.229200, 55.289626 25.229454, 55.289911 25.229790, 55.290183 25.230203, 55.290364 25.230515, 55.290364 25.230515, 55.291852 25.233065, 55.291852 25.233065, 55.292066 25.233432)"
}
],
"platforms": [
{
"geometry": "POINT(55.279810 25.217287)",
"id": "8"
},
{
"geometry": "POINT(55.284979 25.224845)",
"id": "9"
},
{
"geometry": "POINT(55.292066 25.233432)",
"id": "10"
}
]
}
],
"distance": 2196,
"id": "3",
"metro": {
"color": "#e90101",
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"exit_entrance_number": "3",
"line_name": "Red Line 2",
"ui_direction_suggest": "towards «Centrepoint» station",
"ui_station_count": "1 station"
},
"moving_duration": 256,
"platforms": {
"names": [
"World Trade Centre"
],
"penultimate_stop": "World Trade Centre"
},
"routes": null,
"type": "passage",
"waiting_duration": 90,
"waypoint": {
"combined": false,
"comment": "",
"name": "Emirates Towers",
"subtype": "metro"
}
},
{
"alternatives": [
{
"entrances": [
{
"color": "#e90101",
"exit": true,
"exit_comment": "to Sheikh Khalifa Bin Zayed Street (North), to Al Jafiliya Bus Station",
"geometry": "POINT(55.292024 25.233104)",
"metro_logo": "metro_dubai",
"name": "Max",
"number": "3",
"show_other_station": false
}
],
"geometry": [
{
"selection": "LINESTRING(55.292066 25.233432, 55.292081 25.233426, 55.292038 25.233355, 55.291980 25.233258, 55.291917 25.233175)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291917 25.233175, 55.291987 25.233128)",
"z_first": 1,
"z_last": 1
},
{
"selection": "LINESTRING(55.291987 25.233128, 55.292023 25.233104)",
"z_first": 1,
"z_last": 0
},
{
"selection": "LINESTRING(55.292023 25.233104, 55.292112 25.233060)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292112 25.233060, 55.292474 25.233680)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.292474 25.233680, 55.292499 25.233668)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 136,
"id": "11",
"moving_duration": 127,
"platforms": null,
"routes": null,
"type": "crossing",
"waiting_duration": 0,
"waypoint": {
"comment": "140 m on foot",
"name": "Max",
"subtype": "pedestrian"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.292499 25.233668, 55.292467 25.233616, 55.291924 25.232682, 55.291899 25.232651, 55.291874 25.232626, 55.291848 25.232612, 55.291812 25.232603, 55.291769 25.232604, 55.291715 25.232612, 55.291674 25.232628, 55.291615 25.232674, 55.291615 25.232674, 55.291598 25.232760, 55.291601 25.232831, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127, 55.294128 25.237127, 55.294980 25.238589, 55.294980 25.238589, 55.295108 25.238823, 55.295135 25.238860, 55.295135 25.238860, 55.295235 25.238912, 55.295318 25.238938, 55.295411 25.238951, 55.295499 25.238952, 55.295577 25.238937, 55.295987 25.238814, 55.295987 25.238814, 55.296469 25.238593, 55.296751 25.238484, 55.297080 25.238347, 55.297353 25.238240, 55.298093 25.237926, 55.298368 25.237814, 55.298368 25.237814, 55.298490 25.237719, 55.298509 25.237664, 55.298519 25.237603, 55.298504 25.237546, 55.298477 25.237479, 55.298439 25.237420, 55.298394 25.237370, 55.298344 25.237325, 55.298344 25.237325, 55.298323 25.237295, 55.298317 25.237269, 55.298323 25.237239, 55.298341 25.237213, 55.298366 25.237195, 55.298400 25.237187, 55.298433 25.237190, 55.298459 25.237202, 55.298459 25.237202, 55.298481 25.237201, 55.298511 25.237194, 55.298511 25.237194, 55.299336 25.236810, 55.299390 25.236790, 55.299465 25.236776, 55.299705 25.236762, 55.299764 25.236750, 55.299817 25.236730, 55.299937 25.236672, 55.299937 25.236672, 55.299957 25.236642, 55.299974 25.236571, 55.299996 25.236536, 55.300025 25.236508, 55.300066 25.236481, 55.300433 25.236282, 55.300605 25.236185, 55.300751 25.236082, 55.300869 25.235979, 55.300988 25.235865, 55.301123 25.235705, 55.301245 25.235524, 55.301341 25.235347, 55.301413 25.235179, 55.301462 25.235013, 55.301492 25.234868, 55.301511 25.234726, 55.301515 25.234642, 55.301515 25.234578, 55.301511 25.234478, 55.301497 25.234375, 55.301470 25.234250)"
}
],
"platforms": [
{
"geometry": "POINT(55.292499 25.233668)",
"id": "16"
},
{
"geometry": "POINT(55.301470 25.234250)",
"id": "17"
}
]
}
],
"distance": 1878,
"id": "12",
"moving_duration": 199,
"platforms": null,
"routes": [
{
"color": "#1a73f0",
"names": [
"F09"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 300,
"waypoint": {
"combined": false,
"comment": "",
"name": "Max Metro Bus Stop Landside 2",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.301470 25.234250, 55.301470 25.234249)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301470 25.234249, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 91,
"id": "18",
"moving_duration": 95,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "91 m on foot",
"name": "Dubai Frame",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "19",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 19:57.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m9/ctxrouting/17666767623746.14062",
"schedules": [
{
"period": 3,
"precise_time": "",
"start_time": 70949,
"start_time_utc": 1766677349,
"type": "periodic"
}
],
"total_distance": 4867,
"total_duration": 1474,
"total_walkway_distance": "on foot 9 min",
"transfer_count": 1,
"transport": [
"pedestrian",
"bus",
"trolleybus",
"tram",
"shuttle_bus",
"metro",
"suburban_train",
"funicular_railway",
"monorail",
"river_transport",
"cable_car",
"light_rail",
"premetro",
"light_metro",
"aeroexpress",
"mcd",
"mcc"
],
"waypoints": [
{
"combined": false,
"routes_names": [
"Red Line 1",
"Red Line 2",
"Red Line 3"
],
"subtype": "metro"
},
{
"combined": false,
"routes_names": [
"F09"
],
"subtype": "bus"
}
]
},
{
"crossing_count": 0,
"id": "20",
"movements": [
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.281776 25.218452, 55.281775 25.218490)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281775 25.218490, 55.281754 25.218487, 55.281724 25.218480, 55.281698 25.218471, 55.281599 25.218427)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281599 25.218427, 55.281547 25.218561)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.281547 25.218561, 55.281539 25.218556, 55.281468 25.218519, 55.281365 25.218462, 55.281222 25.218364, 55.281137 25.218291, 55.281054 25.218209, 55.280972 25.218129, 55.280895 25.218043, 55.280823 25.217951, 55.280734 25.217774, 55.280732 25.217771, 55.280712 25.217753, 55.280687 25.217740, 55.280662 25.217732, 55.280635 25.217729, 55.280609 25.217731, 55.280582 25.217740, 55.280558 25.217753, 55.280539 25.217771, 55.280524 25.217792, 55.280515 25.217816, 55.280512 25.217841, 55.280517 25.217880, 55.280841 25.218354)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.280841 25.218354, 55.280824 25.218364)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 264,
"id": "21",
"moving_duration": 190,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "270 m on foot",
"name": "",
"subtype": "start"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.280824 25.218364, 55.281638 25.219554, 55.281709 25.219633, 55.281774 25.219688, 55.281865 25.219729, 55.281948 25.219750, 55.282036 25.219755, 55.282140 25.219746, 55.282359 25.219711, 55.282478 25.219660, 55.282657 25.219575, 55.283140 25.219305, 55.283583 25.219057, 55.284691 25.218438, 55.284785 25.218385, 55.285491 25.217991, 55.285491 25.217991, 55.286298 25.217543, 55.286298 25.217543, 55.286433 25.217468, 55.286433 25.217468, 55.286495 25.217457, 55.286602 25.217467, 55.286602 25.217467, 55.286715 25.217630, 55.287129 25.218252, 55.287129 25.218252, 55.287436 25.218714, 55.287706 25.219120, 55.287913 25.219419, 55.288014 25.219566, 55.288108 25.219701, 55.288238 25.219890, 55.288665 25.220559, 55.288746 25.220680, 55.288825 25.220787, 55.288893 25.220865, 55.288971 25.220949, 55.289041 25.221027, 55.289072 25.221058, 55.289097 25.221077, 55.289128 25.221098, 55.289240 25.221187, 55.289286 25.221229, 55.289389 25.221340, 55.289486 25.221454, 55.289579 25.221578, 55.289579 25.221578, 55.289830 25.221922, 55.289905 25.222014, 55.289966 25.222086, 55.290132 25.222282, 55.290211 25.222380, 55.290364 25.222568, 55.290557 25.222790, 55.290741 25.223028, 55.290808 25.223113, 55.290925 25.223282, 55.291061 25.223455, 55.291146 25.223562, 55.291255 25.223688, 55.291479 25.223955, 55.291652 25.224160, 55.292080 25.224684, 55.292439 25.225130, 55.292489 25.225188, 55.292489 25.225188, 55.292717 25.225441, 55.292717 25.225441, 55.292456 25.225675, 55.292456 25.225675, 55.292405 25.225736, 55.291984 25.226123, 55.291984 25.226123, 55.291902 25.226199, 55.291576 25.226498, 55.291576 25.226498, 55.291409 25.226651, 55.291011 25.227015, 55.290833 25.227178, 55.290587 25.227420, 55.290409 25.227603, 55.290230 25.227832, 55.290078 25.228104, 55.289970 25.228372, 55.289961 25.228421, 55.289956 25.228470, 55.289961 25.228520, 55.289970 25.228569, 55.289988 25.228614, 55.290020 25.228670, 55.290085 25.228732, 55.290092 25.228745, 55.290092 25.228745, 55.290178 25.228761, 55.290363 25.228800, 55.290495 25.228849, 55.290535 25.228870, 55.290653 25.228956, 55.290716 25.229005, 55.290769 25.229057, 55.290821 25.229121, 55.290874 25.229224, 55.290900 25.229278, 55.290900 25.229278, 55.290939 25.229478, 55.290937 25.229605, 55.290913 25.229732, 55.290878 25.229849, 55.290816 25.229959, 55.290737 25.230047, 55.290628 25.230135, 55.290518 25.230208, 55.290385 25.230280, 55.290376 25.230283, 55.290376 25.230283, 55.290323 25.230444, 55.290311 25.230516, 55.290329 25.230580, 55.290494 25.230858, 55.290775 25.231295, 55.290775 25.231295, 55.291043 25.231757, 55.291362 25.232311, 55.291362 25.232311, 55.291491 25.232569, 55.291491 25.232569, 55.291561 25.232762, 55.291616 25.232910, 55.291616 25.232910, 55.291713 25.233158, 55.292015 25.233680, 55.292401 25.234340, 55.292401 25.234340, 55.293100 25.235538, 55.293100 25.235538, 55.293592 25.236236, 55.293809 25.236581, 55.294128 25.237127, 55.294128 25.237127, 55.294980 25.238589, 55.294980 25.238589, 55.295108 25.238823, 55.295135 25.238860, 55.295135 25.238860, 55.295235 25.238912, 55.295318 25.238938, 55.295411 25.238951, 55.295499 25.238952, 55.295577 25.238937, 55.295987 25.238814, 55.295987 25.238814, 55.296469 25.238593, 55.296751 25.238484, 55.297080 25.238347, 55.297353 25.238240, 55.298093 25.237926, 55.298368 25.237814, 55.298368 25.237814, 55.298490 25.237719, 55.298509 25.237664, 55.298519 25.237603, 55.298504 25.237546, 55.298477 25.237479, 55.298439 25.237420, 55.298394 25.237370, 55.298344 25.237325, 55.298344 25.237325, 55.298323 25.237295, 55.298317 25.237269, 55.298323 25.237239, 55.298341 25.237213, 55.298366 25.237195, 55.298400 25.237187, 55.298433 25.237190, 55.298459 25.237202, 55.298459 25.237202, 55.298481 25.237201, 55.298511 25.237194, 55.298511 25.237194, 55.299336 25.236810, 55.299390 25.236790, 55.299465 25.236776, 55.299705 25.236762, 55.299764 25.236750, 55.299817 25.236730, 55.299937 25.236672, 55.299937 25.236672, 55.299957 25.236642, 55.299974 25.236571, 55.299996 25.236536, 55.300025 25.236508, 55.300066 25.236481, 55.300433 25.236282, 55.300605 25.236185, 55.300751 25.236082, 55.300869 25.235979, 55.300988 25.235865, 55.301123 25.235705, 55.301245 25.235524, 55.301341 25.235347, 55.301413 25.235179, 55.301462 25.235013, 55.301492 25.234868, 55.301511 25.234726, 55.301515 25.234642, 55.301515 25.234578, 55.301511 25.234478, 55.301497 25.234375, 55.301470 25.234250)"
}
],
"platforms": [
{
"geometry": "POINT(55.280824 25.218364)",
"id": "26"
},
{
"geometry": "POINT(55.301470 25.234250)",
"id": "27"
}
]
}
],
"distance": 4545,
"id": "22",
"moving_duration": 439,
"platforms": null,
"routes": [
{
"color": "#1a73f0",
"names": [
"T10"
],
"subtype": "bus",
"subtype_name": "bus"
}
],
"type": "passage",
"waiting_duration": 1800,
"waypoint": {
"combined": false,
"comment": "",
"name": "Museum of the Future",
"subtype": "bus"
}
},
{
"alternatives": [
{
"geometry": [
{
"selection": "LINESTRING(55.301470 25.234250, 55.301470 25.234249)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301470 25.234249, 55.301527 25.234245)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301527 25.234245, 55.301549 25.234368, 55.301563 25.234474, 55.301567 25.234547, 55.301567 25.234576)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301567 25.234576, 55.301716 25.234569, 55.301829 25.234564)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301829 25.234564, 55.301824 25.234677)",
"z_first": 0,
"z_last": 0
},
{
"selection": "LINESTRING(55.301824 25.234677, 55.301799 25.234675)",
"z_first": 0,
"z_last": 0
}
]
}
],
"distance": 91,
"id": "28",
"moving_duration": 95,
"platforms": null,
"routes": null,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "91 m on foot",
"name": "Dubai Frame",
"subtype": "pedestrian"
}
},
{
"distance": 0,
"id": "29",
"moving_duration": 0,
"type": "walkway",
"waiting_duration": 0,
"waypoint": {
"comment": "You reach the destination at 20:14.",
"name": "",
"subtype": "finish"
}
}
],
"pedestrian": false,
"route_id": "far-abroad-ctx-back.m9/ctxrouting/17666767623747.57031",
"schedules": [
{
"period": 60,
"precise_time": "",
"start_time": 74152,
"start_time_utc": 1766680552,
"type": "periodic"
}
],
"schedules_events": [
{
"precise_time": "20:05",
"start_time": 72300,
"start_time_utc": 1766678700,
"type": "night_break"
}
],
"total_distance": 4900,
"total_duration": 2524,
"total_walkway_distance": "on foot 4 min",
"transfer_count": 0,
"waypoints": [
{
"combined": false,
"routes_names": [
"T10"
],
"subtype": "bus"
}
]
}
]