Low Clearance Map Commercial Access
Description
The Low Clearance Map API is a robust, user-friendly interface designed to provide comprehensive data on low-clearance bridges across the United States and Canada. This API serves as a critical resource for logistics companies, delivery services, and recreational travelers planning routes that require clearance information to avoid bridge collisions and ensure safe navigation.
In addition to the API, we also offer a simple CSV download of the database, providing easy access to the same comprehensive data. This option is ideal for users who prefer to work with data offline or integrate it into their existing systems.
Email for Support, API Key Requests, and CSV Downloads email info@lowclearancemap.com or use the form below.
Get Access
CSV Download Option
For commercial users unable to work with an API, Low Clearance Map provides a CSV download option that allows for the seamless integration of our extensive low-clearance data into existing logistics or route planning systems. This option ensures that organizations can maintain up-to-date information and implement strategic route planning based on precise clearance data.
Here's an overview of the CSV file structure and a sample of the data included:
| Name | Latitude | Longitude | Country | State | Clearance | Hazard_Headings |
|-----------------|----------|-----------|---------------|-------|-----------|---------------------|
| HWY JAMAICAWAY | 42.33197 | -71.1130 | United States | MA | 13.5 | [274.1, 94.1] |
| HWY SOUTHMPTN ST| 42.33035 | -71.0613 | United States | MA | 14.6 | [145.79, 325.79] |
| HWY BOSTON ST | 42.32718 | -71.0583 | United States | MA | 13.1 | [312.57, 132.57] |
Fields Description:
- Name: The designated name or identifier of the bridge or tunnel.
- Latitude: The latitude coordinate of the location.
- Longitude: The longitude coordinate of the location.
- Country: The country where the structure is located.
- State: The state or region within the country.
- Clearance: The maximum height clearance, in feet, of the structure.
- Hazard_Headings: The critical compass headings (in degrees) to approach the structure to go underneath it. Each entry includes two headings exactly 180 degrees apart.
API Purpose
The primary purpose of this API is to enhance route planning and safety protocols by providing accurate, real-time clearance data. By integrating this API, users can access up-to-date information about potential low-clearance obstacles along their planned routes, allowing for adjustments before commencing travel.
Key Features
- Real-Time Data Access: Retrieve the latest clearance information to ensure that all route decisions are based on the most current data available.
- Extensive Database: Access a comprehensive database curated through both crowd-sourced and officially verified data sources, ensuring broad coverage and high accuracy.
- Flexible Querying: Offers various endpoints to query data by state, country, specific routes, or within a defined radius, catering to diverse needs and use cases.
- User Authentication: Utilizes API keys for authentication, ensuring that access is monitored and only available to users with valid credentials.
- GeoJSON Support: Retrieve data in GeoJSON format for easy integration with mapping and GIS applications.
Usage
- Logistics and Transportation Companies: Optimize route planning to avoid low-clearance bridges that could impede large vehicle transport.
- Travel and Navigation Apps: Enhance app capabilities by incorporating bridge clearance data, improving route suggestions for users.
- Government and City Planners: Monitor and manage clearance information to aid in infrastructure development and maintenance planning.
Access and Restrictions
Access to the Low Clearance Map API is controlled through API keys, which are issued on a case-by-case basis. Potential users must provide justification for API access as part of the application process to ensure data is used responsibly. Usage might be subject to quotas and restrictions to maintain server performance and data integrity.
Interactive Documentation
For interactive testing, schema visualization, and in-depth endpoint documentation, visit our Swagger Documentation.
Support and API Key Requests
If you require assistance with the API or need to report an issue, please do not hesitate to contact our support team. Additionally, if you are interested in obtaining an API key to access the Low Clearance Map API, please send us an email with your request and a brief description of how you plan to use the API.
Contact Information
- Email for Support and API Key Requests: info@lowclearancemap.com
We aim to respond to all inquiries promptly and assist you in getting started with our API or resolving any issues you may encounter. Your feedback is also invaluable to us as it helps improve the API and the services we offer.
Hazard Headings
The Hazard Heading feature of the Low Clearance Map API enhances the reliability of low-clearance data by providing the precise compass headings required for a vehicle to pass underneath a bridge or tunnel. This feature helps distinguish whether a vehicle is approaching a bridge from an overpass or underpass, addressing a common issue where latitude and longitude coordinates alone cannot clarify the exact travel context. For example, if the API returns hazard headings of 90 and 270, this means that the directions for a vehicle to travel under the bridge are either heading 90 degrees (due east) or 270 degrees (due west). If GeoJSON format is selected, this Hazard Heading is converted into a LineString.
Endpoints
Get a List of All Low Clearance Bridges
- URL:
/api/all_bridges
- Method:
GET
- Summary: Returns a list of all low clearance bridges in the database, filtered by vehicle clearance.
Description: This endpoint retrieves all low clearance bridges from the database filtered by the specified vehicle clearance in feet. It is useful for obtaining an overview of all bridges that meet a specific clearance requirement.
Query Parameters:
- `vehicle_clearance`: A single value or a JSON object to filter bridges based on clearance height. - Can be a float representing a maximum clearance (e.g., `15`). - Can also be a JSON object with `min` and/or `max` values to define a clearance range. Example: `{"min": 10.0, "max": 11.0}`. - `geojson`: Set to true to get the output in GeoJSON format.
Example Request (cURL):
curl -X GET "https://www.lowclearancemap.com/api/all_bridges?vehicle_clearance=15&geojson=true" -H "Accept: application/json" -H "X-Api-Secret: {api_key}"
Example Request (Python):
import requests url = "https://www.lowclearancemap.com/api/all_bridges" params = { "vehicle_clearance": "15", "geojson": "true" } headers = { "Accept": "application/json", "X-Api-Secret": "your_api_key" } response = requests.get(url, params=params, headers=headers) data = response.json() print(data)
Example Response (JSON):
{ "api_key_used": "your_api_key", "number_of_bridges": 50, "vehicle_clearance": 15.0, "bridges": [ { "Clearance": 12.0, "Country": "United States", "Latitude": 43.24788611, "Longitude": -76.35176111, "Hazard_Headings": [315,135], "Name": "'OSWEGO RIVER'", "State": "NY" }, { "Clearance": 9.0, "Country": "United States", "Latitude": 43.02063889, "Longitude": -76.79888889, "Hazard_Headings": [92,272], "Name": "'ERIE CANAL/CLYDE RIVER'", "State": "NY" }, { "Clearance": 12.0, "Country": "United States", "Latitude": 42.90917778, "Longitude": -76.80073611, "Hazard_Headings": [45,125], "Name": "'SENECA RIVER'", "State": "NY" } // Additional bridges listed here... ] }
Example Response (GeoJSON):
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "Name": "Bridge 1", "Country": "USA", "State": "CA", "Clearance": 13.5, "Heading": 0, "Feature_Type": "all_bridges" }, "geometry": { "type": "LineString", "coordinates": [ [-118.243683, 34.052235], [-118.243683, 34.052236] ] } }, { "type": "Feature", "properties": { "Name": "Bridge 2", "Country": "USA", "State": "NV", "Clearance": 13.0, "Heading": 0, "Feature_Type": "all_bridges" }, "geometry": { "type": "LineString", "coordinates": [ [-115.139832, 36.169941], [-115.139832, 36.169942] ] } } // Additional bridges listed here... ] }
Get a List of Low Clearance Bridges by State
- URL:
/api/bridges_by_state
- Method:
GET
- Summary: Returns a list of low clearance bridges in the specified states.
Description: This endpoint retrieves a list of low clearance bridges filtered by state and vehicle clearance. States are specified as a list of state abbreviations, and vehicle clearance in feet is also provided.
Query Parameters:
- `states`: A comma-separated list of state/province abbreviations (e.g., `CA,NY`). These two-letter abbreviations can be found at https://www.ncbi.nlm.nih.gov/books/NBK7254/. - `vehicle_clearance`: A single value or a JSON object to filter bridges based on clearance height. - Can be a float representing a maximum clearance (e.g., `15`). - Can also be a JSON object with `min` and/or `max` values to define a clearance range. Example: `{"min": 10.0, "max": 11.0}`. - `geojson`: Set to true to get the output in GeoJSON format.
Example Request (cURL):
curl -X GET "https://www.lowclearancemap.com/api/bridges_by_state?states=CA,NY&vehicle_clearance=12&geojson=true" -H "Accept: application/json" -H "X-Api-Secret: {api_key}"
Example Request (Python):
import requests url = "https://www.lowclearancemap.com/api/bridges_by_state" params = { "states": "CA,NY", "vehicle_clearance": "12", "geojson": "true" } headers = { "Accept": "application/json", "X-Api-Secret": "your_api_key" } response = requests.get(url, params=params, headers=headers) data = response.json() print(data)
Example Response (JSON):
{ "api_key_used": "your_api_key", "states_given": ["CA", "NY"], "number_of_bridges": 2, "vehicle_clearance": 12.0, "bridges": [ { "Latitude": 34.052235, "Longitude": -118.243683, "Name": "Bridge 1", "Hazard_Headings": [315,135], "Clearance": 13.5 }, { "Latitude": 36.169941, "Longitude": -115.139832, "Name": "Bridge 2", "Hazard_Headings": [315,135], "Clearance": 13.0 } ] }
Example Response (GeoJSON):
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "Name": "Bridge 1", "Country": "USA", "State": "CA", "Clearance": 13.5, "Heading": 0, "Feature_Type": "by_state" }, "geometry": { "type": "LineString", "coordinates": [ [-118.243683, 34.052235], [-118.243683, 34.052236] ] } }, { "type": "Feature", "properties": { "Name": "Bridge 2", "Country": "USA", "State": "NV", "Clearance": 13.0, "Heading": 0, "Feature_Type": "by_state" }, "geometry": { "type": "LineString", "coordinates": [ [-115.139832, 36.169941], [-115.139832, 36.169942] ] } } ] }
Get a List of Low Clearance Bridges by Country
- URL:
/api/bridges_by_country
- Method:
GET
- Summary: Returns a list of low clearance bridges in the specified countries.
Description: This endpoint retrieves a list of low clearance bridges filtered by country and vehicle clearance. Only the countries "United States", "Canada", and "United Kingdom" are supported.
Query Parameters:
- `countries`: A comma-separated list of country names (e.g., `United States,Canada`). - `vehicle_clearance`: A single value or a JSON object to filter bridges based on clearance height. - Can be a float representing a maximum clearance (e.g., `15`). - Can also be a JSON object with `min` and/or `max` values to define a clearance range. Example: `{"min": 10.0, "max": 11.0}`. - `geojson`: Set to true to get the output in GeoJSON format.
Example Request (cURL):
curl -X GET "https://www.lowclearancemap.com/api/bridges_by_country?countries=United States,Canada&vehicle_clearance=12&geojson=true" -H "Accept: application/json" -H "X-Api-Secret: {api_key}"
Example Request (Python):
import requests url = "https://www.lowclearancemap.com/api/bridges_by_country" params = { "countries": "United States,Canada", "vehicle_clearance": "12", "geojson": "true" } headers = { "Accept": "application/json", "X-Api-Secret": "your_api_key" } response = requests.get(url, params=params, headers=headers) data = response.json() print(data)
Example Response (JSON):
{ "api_key_used": "your_api_key", "countries_given": ["United States", "Canada"], "number_of_bridges": 2, "vehicle_clearance": 12.0, "bridges": [ { "Latitude": 34.052235, "Longitude": -118.243683, "Name": "Bridge 1", "Hazard_Headings": [315,135], "Clearance": 13.5 }, { "Latitude": 45.421532, "Longitude": -75.697189, "Hazard_Headings": [315,135], "Name": "Bridge 2", "Clearance": 13.0 } ] }
Example Response (GeoJSON):
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "Name": "Bridge 1", "Country": "USA", "State": "CA", "Clearance": 13.5, "Heading": 0, "Feature_Type": "by_country" }, "geometry": { "type": "LineString", "coordinates": [ [-118.243683, 34.052235], [-118.243683, 34.052236] ] } }, { "type": "Feature", "properties": { "Name": "Bridge 2", "Country": "CAN", "State": "ON", "Clearance": 13.0, "Heading": 0, "Feature_Type": "by_country" }, "geometry": { "type": "LineString", "coordinates": [ [-75.697189, 45.421532], [-75.697189, 45.421533] ] } } ] }
Get a List of Low Clearance Bridges within a Specified Radius
- URL:
/api/bridges_within_radius
- Method:
GET
Summary: Returns a list of low clearance bridges within a specified radius of a given point.
Description: This endpoint retrieves a list of low clearance bridges based on their proximity to a specified latitude and longitude point, with the search area defined by a radius in miles and filtered by vehicle clearance.
Query Parameters:
- `latitude`: Latitude of the center point (e.g., `34.052235`). - `longitude`: Longitude of the center point (e.g., `-118.243683`). - `radius`: Radius in miles around the center point within which to search (e.g., `10`). - `vehicle_clearance`: A single value or a JSON object to filter bridges based on clearance height. - Can be a float representing a maximum clearance (e.g., `15`). - Can also be a JSON object with `min` and/or `max` values to define a clearance range. Example: `{"min": 10.0, "max": 11.0}`. - `geojson`: Set to true to get the output in GeoJSON format.
Example Request (cURL):
curl -X GET "https://www.lowclearancemap.com/api/bridges_within_radius?latitude=34.052235&longitude=-118.243683&radius=10&vehicle_clearance=15&geojson=true" -H "Accept: application/json" -H "X-Api-Secret: {api_key}"
Example Request (Python):
import requests url = "https://www.lowclearancemap.com/api/bridges_within_radius" params = { "latitude": 34.052235, "longitude": -118.243683, "radius": "10", "vehicle_clearance": "15", "geojson": "true" } headers = { "Accept": "application/json", "X-Api-Secret": "your_api_key" } response = requests.get(url, params=params, headers=headers) data = response.json() print(data)
Example Response (JSON):
{ "api_key_used": "your_api_key", "center": {"latitude": 34.052235, "longitude": -118.243683}, "radius": 10, "number_of_bridges": 3, "vehicle_clearance": 15.0, "bridges": [ { "Latitude": 34.052235, "Longitude": -118.243683, "Name": "Bridge 1", "Hazard_Headings": [315,135], "Clearance": 13.5 }, { "Latitude": 34.062235, "Longitude": -118.253683, "Name": "Bridge 2", "Hazard_Headings": [20,200], "Clearance": 12.0 }, { "Latitude": 34.072235, "Longitude": -118.263683, "Name": "Bridge 3", "Hazard_Headings": [50,230], "Clearance": 14.0 } ] }
Example Response (GeoJSON):
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "Name": "Bridge 1", "Country": "USA", "State": "CA", "Clearance": 13.5, "Heading": 0, "Feature_Type": "within_radius" }, "geometry": { "type": "LineString", "coordinates": [ [-118.243683, 34.052235], [-118.243683, 34.052236] ] } }, { "type": "Feature", "properties": { "Name": "Bridge 2", "Country": "USA", "State": "CA", "Clearance": 12.0, "Heading": 0, "Feature_Type": "within_radius" }, "geometry": { "type": "LineString", "coordinates": [ [-118.253683, 34.062235], [-118.253683, 34.062236] ] } }, { "type": "Feature", "properties": { "Name": "Bridge 3", "Country": "USA", "State": "CA", "Clearance": 14.0, "Heading": 0, "Feature_Type": "within_radius" }, "geometry": { "type": "LineString", "coordinates": [ [-118.263683, 34.072235], [-118.263683, 34.072236] ] } } ] }
Get a List of Low Clearance Bridges Along a Specified Route
- URL:
/api/bridges_along_route
- Method:
GET
- Summary: Returns a list of low clearance bridges that are located along a specified driving route.
Description: This endpoint retrieves bridges based on their proximity to a given route defined by start and end coordinates. It filters the results by vehicle clearance and includes bridges located within a set radius along the route.
Query Parameters:
- `start_latitude`: Starting point latitude (e.g., `34.052235`). - `start_longitude`: Starting point longitude (e.g., `-118.243683`). - `end_latitude`: Ending point latitude (e.g., `36.162664`). - `end_longitude`: Ending point longitude (e.g., `-86.781602`). - `vehicle_clearance`: A single value or a JSON object to filter bridges based on clearance height. - Can be a float representing a maximum clearance (e.g., `15`). - Can also be a JSON object with `min` and/or `max` values to define a clearance range. Example: `{"min": 10.0, "max": 11.0}`. - `geojson`: Set to true to get the output in GeoJSON format.
Example Request (cURL):
curl -X GET "https://www.lowclearancemap.com/api/bridges_along_route?start_latitude=34.052235&start_longitude=-118.243683&end_latitude=36.162664&end_longitude=-86.781602&vehicle_clearance=15&geojson=true" -H "Accept: application/json" -H "X-Api-Secret: {api_key}"
Example Request (Python):
import requests url = "https://www.lowclearancemap.com/api/bridges_along_route" params = { "start_latitude": 34.052235, "start_longitude": -118.243683, "end_latitude": 36.162664, "end_longitude": -86.781602, "vehicle_clearance": "15", "geojson": "true" } headers = { "Accept": "application/json", "X-Api-Secret": "your_api_key" } response = requests.get(url, params=params, headers=headers) data = response.json() print(data)
Example Response (JSON):
{ "api_key_used": "your_api_key", "start_coordinates": {"latitude": 34.052235, "longitude": -118.243683}, "end_coordinates": {"latitude": 36.162664, "longitude": -86.781602}, "number_of_bridges_on_route": 1, "number_of_bridges_50_miles_along_route": 1, "bridges_50miles_along_route": [ { "Latitude": 34.052235, "Longitude": -118.243683, "Name": "Bridge 1", "Hazard_Headings": [315,135], "Clearance": 13.5 } ], "bridges_on_route": [ { "Latitude": 36.169941, "Longitude": -115.139832, "Hazard_Headings": [20,200], "Name": "Bridge 2", "Clearance": 13.0 } ] }
Example Response (GeoJSON):
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "Name": "Bridge 1", "Country": "USA", "State": "CA", "Clearance": 13.5, "Heading": 0, "Feature_Type": "on_route" }, "geometry": { "type": "LineString", "coordinates": [ [-118.243683, 34.052235], [-118.243683, 34.052236] ] } }, { "type": "Feature", "properties": { "Name": "Bridge 2", "Country": "USA", "State": "NV", "Clearance": 13.0, "Heading": 0, "Feature_Type": "50miles_along_route" }, "geometry": { "type": "LineString", "coordinates": [ [-115.139832, 36.169941], [-115.139832, 36.169942] ] } } ] }