Foomatic Routing and Distance API
Overview
Foomatic is a route planning company that provides services at businesses that need to optimize complex, multi-week long trips for traveling salespeople, or product delivery routes in both big cities and rural areas. This is the API Reference for Foomatic. This guide provides detailed information on the API you can use to interact with the Foomatic Platform.
To make Foomatic's route optimization one of the best, we must have a fully optimized API. This API allows our routing algorithms and delivery people to identify the best possible planned route. By having an API we can ensure that our clients delivery experiences minimal delays and increases driver safety.
Foomatic utilizes a REST API to calculate the shortest road distance between two sets of geographic coordinates. You can recieve a link to foomatic page with route details, or a simple kilometer calculation.
To use this API, you must first request an API key here: Get your Key. Once you have your key, you can make a GET request to the endpoint.
Endpoint:
foomatic.ca/route/request_route
Request Parameters
Add the following parameters to your URL string:
start_lat(float): Starting latitude in decimal degrees.start_long(float): Starting longitude in decimal degrees.end_lat(float): End latitude in decimal degrees.end_long(float): End longitude in decimal degrees.api_key(string): Your super secret key.map_link(boolean):Optional If included (ie.,&map_link=true), the API will return a URL link to the Foomatic route visualizer page. If omitted, the API defaults to returning the raw total distance.
Example Requests & Responses
1. Requesting a Map Route URL
Use this request when you want to redirect a user to a visual map of their route. Note the addition of &map_link=true at the end of the URL.
Sample Request:
foomatic.ca/route/request_route?start_lat=44.6488&start_long=-63.5752&end_lat=46.0878&end_long=-64.7782&api_key=YOUR_SUPER_SECRET_KEY&map_link=true
Sample Response:
{
"status": "success",
"data": {
"route_url": "[https://foomatic.ca/app/view-map?origin=44.6488,-63.5752&dest=46.0878,-64.7782](https://foomatic.ca/app/view-map?origin=44.6488,-63.5752&dest=46.0878,-64.7782)",
"description": "Click this link to view your route on the map."
}
}
2. Requesting Raw Distance Data
Use this standard request when you only need the mathematical distance to use within your own application.
Sample Request:
foomatic.ca/route/request_route?start_lat=44.6488&start_long=-63.5752&end_lat=46.0878&end_long=-64.7782&api_key=YOUR_SUPER_SECRET_KEY
Sample Response:
{
"status": "success",
"message": "Distance calculated successfully.",
"data": {
"distance": 186.24,
"unit": "km",
"origin": {
"latitude": 44.6488,
"longitude": -63.5752
},
"destination": {
"latitude": 46.0878,
"longitude": -64.7782
}
}
}
3. Sample Error repsonse:
{
"status": "error",
"message": "Missing coordinate parameter",
"error_code": "MISSING_PARAMETER",
"requirements":{
"origin": [
"start_lat",
"start_long"
],
"destination": [
"end_lat",
"end_long"
],
"API_key":[
"SUPER_SECRET_KEY"
]
}
}
4. Status/Error codes:
- "success": no errors indicated.
- "error": error indicated look at error code for description.
- "MISSING_PARAMETER": One of the 4 required parameters is missing or invalid. Verify coordinates and re-request.
- "INVALID_AUTH": Your super secret key is invalid or not authorized, verify correct key or request new.
5. Usage limits
Free accounts may use this service 5 times a day. If API key is registered to corporate or paid-access usage is unlimited, time-gated 480 seconds between requests.