Welcome to the Manzil Maps API Documentation. Manzil Maps Pakistan is part of the Barikoi Global Maps Alliance. Since Manzil Maps is newly launched, for 2025, our APIs will be hosted under the barikoi.xyz domain until we fully shift to Manzil Maps Domain. The Manzil Maps API provides powerful tools for address search, geocoding, reverse geocoding, and interactive map rendering for locations across Pakistan.
Overview
The currently listed places API's are for autocomplete, post office autocomplete, geocoding, reverse geocoding, nearby, distance. All these API's are provided by Geolocation services.
To access our APIs you will need an API key. Generating an API key is easy. You just need to Sign Up and select your desired package. With our api key you are now ready to use our Bkoigl js data and map.
Each API part has its own documentation. Jump to the desired API part and learn about the API through the given examples and tutorials.
Version 2
For any query or tech support please mail at support@barikoi.com
Reverse Geocoding
This API endpoint performs reverse geocoding to convert geographical coordinates (longitude and latitude) into a human-readable address. It provides detailed location information including the address in both English and Bangla, along with other administrative details such as district, division, and more.
Authorizations:
query Parameters
| api_key required | string API_KEY |
| longitude required | number 90.35722628659195 |
| latitude required | number 23.806703092211507 |
| country_code required | string The two-letter country code (ISO Alpha-2) representing the desired country. Example: Default Value: |
Responses
Request samples
- Curl
- Python
- Node
curl --location --request GET 'https://barikoi.xyz/v2/api/search/reverse/geocode?api_key=your_api_key&longitude=73.084488&latitude=33.738045&country_code=pk'
Response samples
- 200
- 400
- 401
- 402
- 429
{- "place": {
- "id": "node/4943934746",
- "distance_within_meters": 0.083,
- "address": "Kashmir House, Islamabad, Pakistan",
- "area": "Sector F-5",
- "city": "Islamabad",
- "country": "Pakistan"
}, - "status": 200
}Autocomplete
Autocomplete API endpoint provides autocomplete suggestions for place names based on a query string. It returns a list of matching places with detailed information including addresses in both English and Bangla, as well as geographic coordinates. Autocomplete API is useful for providing real-time, location-based search suggestions to users as they type, enhancing the user experience by quickly narrowing down potential matches based on partial input.
Authorizations:
query Parameters
| api_key required | string API_KEY |
| q required | string q |
| bangla | boolean true |
| country_code required | string The two-letter country code (ISO Alpha-2) representing the desired country. Example: Default Value: |
Responses
Request samples
- Curl
- Python
- node
curl --location --request GET 'https://barikoi.xyz/v2/api/search/autocomplete/place?api_key=your_api_key&q=islamabad&country_code=pk'
Response samples
- 200
- 400
- 401
- 402
- 429
{- "places": [
- {
- "id": 421168811,
- "latitude": 33.679668,
- "longitude": 73.029883,
- "address": "Islamabad, Pakistan",
- "city": "Islamabad",
- "area": ""
}, - {
- "id": "node/104638370",
- "latitude": 33.663539,
- "longitude": 73.047219,
- "address": "اسلام آباد ریلوے اسٹیشن, Islamabad, Pakistan",
- "city": "Islamabad",
- "area": "Sector H-9"
}
], - "status": 200
}Route Overview
This API endpoint retrieves route information between two geographical points specified by their longitude and latitude coordinates. The response includes details such as the geometry of the route, distance, duration, and waypoints.
Authorizations:
path Parameters
| coordinates required | string String of format |
query Parameters
| api_key required | string API_KEY |
| geometries | string Default: "polyline" Returned route geometry format (influences overview and per step). Expected values are, |
Responses
Request samples
- Curl
- Python
- Node
curl --location --request GET 'https://barikoi.xyz/v2/api/route/90.362548828125,23.94107556246209;90.31585693359375,24.134221690669204?api_key={{API_KEY}}&geometries=polyline'
Response samples
- 200
- 400
- 401
- 402
- 429
{- "code": "OK",
- "routes": [
- {
- "geometry": "bqCmhpfPdMaDqEqO`U}MiFc`BueAjZonBlGisJs_@uh@gManAeJaaBzGsZbQ}v@jsAw`@jwAqt@p`BiBtjAvZzhAga@fAmXbQoi@mmA{vA~Ly`CfE",
- "legs": [
- {
- "steps": [ ],
- "distance": 31580.5,
- "duration": 5011.5,
- "summary": "string",
- "weight": 5011.5
}
], - "distance": 31580.5,
- "duration": 5011.5,
- "weight_name": "routability",
- "weight": 5011.5
}
], - "waypoints": [
- {
- "hint": "1M4MgNbODIAAAAAAUQAAAAAAAABWAgAAAAAAAFZN10EAAAAA6SFHQwAAAABRAAAAAAAAAFYCAADlAAAA6tliBeZObQG10mIF1E9tAQAATwsayG8z",
- "distance": 189.684241,
- "name": null,
- "location": [
- 90.364394,
- 23.940838
]
}
]
}Calculate Detailed Route
This API response is intended for use in applications requiring detailed route information and navigation instructions. Such applications might include: GPS navigation systems, Mapping services, Route optimization tools for logistics and delivery, Travel planning apps.These can guide users from their starting point to their destination, providing clear, step-by-step directions, estimated travel times, and costs associated with the journey.
Authorizations:
query Parameters
| api_key required | string API_KEY |
| type required | string type |
| country_code required | string The three-letter country code (ISO Alpha-3) representing the desired country. Example: Default Value: |
| profile | string Enum: "bike" "motorcycle" "car" The mode of transportation profile for calculating route time and information. Default Value: Accepted Values:
Note: The route time and information will vary based on the selected profile. |
Request Body schema: application/x-www-form-urlencoded
required | object | ||||
| |||||
Responses
Request samples
- Curl
- Python
- Node
curl --location -g --request POST 'https://barikoi.xyz/v2/api/routing?key={{YOUR_API_KEY}} &type=vh&country_code=pak' \ --header 'Content-Type: application/json' \ --data-raw '{ "data":{ "start" : { "latitude":33.548424, "longitude":72.833069 }, "destination" : { "latitude":33.661562, "longitude":73.027513 } } }'
Response samples
- 200
- 400
- 401
- 402
- 429
{- "trip": {
- "locations": [
- {
- "type": "break",
- "lat": 23.791645,
- "lon": 90.365587,
- "original_index": 0
}
], - "legs": [
- {
- "maneuvers": [
- {
- "type": 1,
- "instruction": "Drive north.",
- "verbal_succinct_transition_instruction": "Drive north. Then Bear left.",
- "verbal_pre_transition_instruction": "Drive north. Then Bear left.",
- "verbal_post_transition_instruction": "Continue for 40 feet.",
- "time": 1.011,
- "length": 0.006,
- "cost": 1.238,
- "begin_shape_index": 0,
- "end_shape_index": 1,
- "verbal_multi_cue": true,
- "travel_mode": "drive",
- "travel_type": "car",
- "street_names": [
- "60 Feet Kamal Soroni Road",
- "60 Feet"
]
}
], - "summary": {
- "has_time_restrictions": false,
- "has_toll": false,
- "has_highway": false,
- "has_ferry": false,
- "min_lat": 23.784703,
- "min_lon": 90.365201,
- "max_lat": 23.791915,
- "max_lon": 90.3676,
- "time": 97.969,
- "length": 0.58,
- "cost": 257.358
}, - "shape": "w`ckl@_hnjkDyD`A{EtKgCfD`AjA~@j@rADxKsA|FkAfPsHh@mDkCsLi@cCnP}GjGoChEkCbUiItNcDjMwApI}@d[eApF[|GM|MgBhTgHlTmIx^mGr]iDhSoBvWKzIEbZoEtTwEhFy@|\\\\{IrGaC"
}
], - "summary": {
- "has_time_restrictions": false,
- "has_toll": false,
- "has_highway": false,
- "has_ferry": false,
- "min_lat": 23.784703,
- "min_lon": 90.365201,
- "max_lat": 23.791915,
- "max_lon": 90.3676,
- "time": 97.969,
- "length": 0.58,
- "cost": 257.358
}, - "status_message": "Found route between points",
- "status": 0,
- "units": "miles",
- "language": "en-US"
}, - "id": "test_route"
}Route Optimization
This api provides routing details from source to destination points. Additional waypoints can also be included in order to get more precise routing experience. Maximum 50 waypoints can be included as additional points. Content-Types:application/json should be attached to the request header in order to match the correct request format.
Note: Waypoints will be sorted based on given id in ascending order.
Authorizations:
Request Body schema: application/json
object | |
object | |
Array of objects |
Responses
Request samples
- Payload
- Curl
- Python
- Node
{- "hints": {
- "visited_nodes": {
- "sum": 58,
- "average": 11.6
}
}, - "info": {
- "copyrights": [
- "GraphHopper",
- "OpenStreetMap contributors"
], - "took": 5
}, - "paths": [
- {
- "distance": 1846.266,
- "weight": 147.083907,
- "time": 147071,
- "transfers": 0,
- "points_encoded": true,
- "bbox": [
- 90.371276,
- 23.739795,
- 90.375323,
- 23.746345
], - "points": "c{|oCacrfPh@hA~B~ErCcBrGwD`Bw@rOkGDNyKtEiChAmIxE~@fB_AgB_L~GK[d@Y",
- "instructions": [
- {
- "distance": 0,
- "sign": 5,
- "interval": [
- 0,
- 0
], - "text": "Waypoint 1",
- "time": 0,
- "street_name": ""
}
], - "legs": [
- null
], - "details": [
- null
], - "ascend": 0,
- "descend": 0,
- "snapped_waypoints": "c{|oCacrfP??h@hArGzB|AtBeM`C"
}
]
}Response samples
- 200
- 400
- 401
- 402
- 429
{- "hints": {
- "visited_nodes.sum": 50,
- "visited_nodes.average": 10
}, - "info": {
- "copyrights": [
- "GraphHopper"
], - "took": 0
}, - "paths": [
- {
- "distance": 1846.266,
- "weight": 147.083567,
- "time": 147071,
- "transfers": 0,
- "points_encoded": true,
- "bbox": [
- 0
], - "points": "c{|oCacrfPh@hA~B~ErCcBrGwD`Bw@rOkGDNyKtEiChAmIxE~@fB_AgB_L~GK[d@Y",
- "instructions": [
- {
- "distance": 0,
- "sign": 5,
- "interval": [
- 0
], - "text": "Waypoint 1",
- "time": 0,
- "street_name": null
}
], - "legs": [ ],
- "details": { },
- "ascend": 0,
- "descend": 0,
- "snapped_waypoints": "c{|oCacrfP??h@hArGzB|AtBeM`C"
}
]
}Route Location Optimized
Location sorting api takes a set of locations with additional payload attached with each location considering the first one as the source and the last one as the destination. It returns with the sorted location set that was provided considering the distance between the locations in Kilometers from source to destination. Maximum 50 locations can be attached in a row. Content-Types:application/json should be attached to the request header in order to match the correct request format.
Authorizations:
Request Body schema: application/json
Array of objects | |||||||
Array
| |||||||
Responses
Request samples
- Payload
- Curl
- Python
- Node
{- "sorted_waypoints": [
- {
- "point": {
- "lat": 24.439648,
- "lon": 90.731277
}, - "additional_payload": [
- {
- "address": "Kishoreganj Thana"
}
], - "index": 1
}
]
}Response samples
- 200
- 400
- 401
- 402
- 429
{- "sorted_waypoints": [
- {
- "point": {
- "lat": 24.439648,
- "lon": 90.731277
}, - "additional_payload": [
- {
- "address": "Kishoreganj Thana"
}
], - "index": 1
}, - {
- "point": {
- "lat": 24.440899,
- "lon": 90.771103
}, - "additional_payload": [
- {
- "address": "Monju Villa, House 1244, Hossainpur Road, Nogua"
}
], - "index": 2
}, - {
- "point": {
- "lat": 23.74608583,
- "lon": 90.37368
}, - "additional_payload": [
- {
- "address": "House 36, Road 9/A"
}
], - "index": 3
}, - {
- "point": {
- "lat": 23.74577034,
- "lon": 90.37338898
}, - "additional_payload": [
- {
- "address": "House 38, Road 9/A"
}
], - "index": 4
}, - {
- "point": {
- "lat": 23.74441997,
- "lon": 90.37290861
}, - "additional_payload": [
- {
- "address": "Dhanmondi, Road 8/a"
}
], - "index": 5
}
], - "status": 200
}Route Match
Route Match API endpoint performs map matching, which aligns a series of GPS points to the road network. It returns the matched route geometry, including the coordinates and type of geometry, as well as the total distance of the matched route. Route Match API is useful for snapping raw GPS points to the most likely road paths, providing more accurate and meaningful routes, especially for applications in navigation and tracking.
Authorizations:
query Parameters
| api_key required | string API_KEY |
| points required | string Example: points=90.38436119310136,23.7267599142696;90.38438265469962,23.726622279057658 |
Responses
Request samples
- Curl
- Python
- Node
curl --location --request GET 'https://barikoi.xyz/v2/api/routing/matching?points=90.38436119310136,23.7267599142696;90.38438265469962,23.726622279057658&api_key=<BARIKOI_API_KEY>'
Response samples
- 200
- 400
- 401
- 402
- 429
{- "geometry": {
- "coordinates": [
- [
- 90.384425,
- 23.726761
], - [
- 90.384427,
- 23.726622
]
], - "type": "LineString"
}, - "distance": 15.5,
- "status": 200
}