For Agents
Compute distance, optimal routes, and turn-by-turn directions across British Columbia's road network, with a separate truck mode that respects commercial vehicle restrictions.
Get started with BC Route Planner REST API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"plan an optimal multi-stop driving route in british columbia"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with BC Route Planner REST API API.
Calculate distance and travel time between two BC coordinates with /distance
Compute distance and travel time across all pairs in a coordinate list via /distance/betweenPairs
Generate the shortest or fastest route through an ordered series of stops
Return turn-by-turn directions as JSON, GeoJSON, or KML for a multi-stop trip
GET STARTED
Use for: Calculate the fastest driving route between Victoria and Vancouver, Get turn-by-turn directions for a multi-stop delivery in BC, Find the optimal stop order for a 5-address service technician run, Compute distance and travel time between a list of coordinate pairs
Not supported: Does not handle geocoding, live traffic events, or routing outside British Columbia — use for BC road network routing only.
The BC Route Planner is the British Columbia government's routing engine for the province's public road network, computing shortest and fastest routes between a start point and one or more stops. It exposes pairwise distance, optimal route ordering, turn-by-turn directions, and a dedicated truck routing track that respects commercial vehicle restrictions. Output formats include JSON, GeoJSON, and KML, with 22 endpoints split across passenger and truck modes. Access is currently restricted to B.C. Government Ministries.
Solve travelling-salesman-style optimal stop ordering with /optimalRoute and /optimalDirections
Run the same routing operations under /truck/* with commercial vehicle restrictions applied
Patterns agents use BC Route Planner REST API API for, with concrete tasks.
★ Government Field Service Routing
BC Government ministries dispatching field crews use the Route Planner to order a day of stops and produce turn-by-turn directions. POST /optimalDirections accepts a start point and a list of stops, reorders them to minimise total travel time, and returns the directions and geometry. The API is restricted to B.C. Government Ministries, so external commercial users will not be granted keys.
Call POST /optimalDirections.json with a start point and 6 stops, then return the reordered stop list and total drive time.
Commercial Truck Route Planning
The /truck/* endpoint family applies BC's commercial vehicle restrictions, including height, weight, and dangerous goods limits, when computing routes. Agents pass standard routing parameters plus truck attributes and receive a route that avoids restricted bridges and roads. This is the only mode that respects truck-specific limits — the passenger endpoints will return shorter routes that may be illegal for commercial vehicles.
Call POST /truck/route.json with truckHeight=4.0 and truckWeight=20000 to get a legal route between two BC depots.
Distance Matrix for Logistics Planning
Logistics planners building a delivery schedule need distance and travel time across every pair of stops. /distance/betweenPairs accepts a list of coordinates and returns the full pairwise matrix in a single call, avoiding the round-trip cost of calling /distance N-squared times. Output supports JSON for downstream optimisation and GeoJSON when geometry is required.
Call POST /distance/betweenPairs.json with 8 coordinate pairs and parse the returned matrix into a Python dict for vehicle routing.
Multi-Format Route Export
Each routing endpoint accepts an outputFormat path parameter (json, geojson, kml) so the same operation can drive a JSON-consuming agent, a Leaflet map, or a Google Earth export without a separate transformation step. Agents pick the format based on the downstream consumer at request time.
Call GET /route.kml with two BC coordinates and save the response as a .kml file for Google Earth visualisation.
Agent-Driven Route Lookup via Jentic
An AI agent assisting a BC Ministry user can use Jentic to discover the Route Planner, load the /optimalDirections schema, and execute the call without reading the BC API directory. Jentic stores the apikey in MAXsystem and injects it at execution time, so the agent never sees the raw secret.
Use the Jentic SDK to search 'plan an optimal multi-stop bc route', load /optimalDirections, and execute with a start point and four stops.
22 endpoints — the bc route planner is the british columbia government's routing engine for the province's public road network, computing shortest and fastest routes between a start point and one or more stops.
METHOD
PATH
DESCRIPTION
/optimalDirections.{outputFormat}
Reorder stops and return optimal directions with geometry
/route.{outputFormat}
Compute a route through an ordered list of stops
/distance/betweenPairs.{outputFormat}
Pairwise distance and travel time matrix
/truck/route.{outputFormat}
Truck-legal routing respecting commercial restrictions
/truck/optimalRoute.{outputFormat}
Stop-reordered truck routing
/distance.{outputFormat}
Distance and travel time between two points
/optimalDirections.{outputFormat}
Reorder stops and return optimal directions with geometry
/route.{outputFormat}
Compute a route through an ordered list of stops
/distance/betweenPairs.{outputFormat}
Pairwise distance and travel time matrix
/truck/route.{outputFormat}
Truck-legal routing respecting commercial restrictions
/truck/optimalRoute.{outputFormat}
Stop-reordered truck routing
Three things that make agents converge on Jentic-routed access.
Credential isolation
The BC Route Planner apikey lives in Jentic's MAXsystem vault. Agents request the operation by intent and the apikey header is injected at call time — the raw secret never enters the agent's prompt context or logs.
Intent-based discovery
Agents search Jentic with intents like 'plan a truck route in british columbia' and Jentic surfaces /truck/route, /truck/directions, or /truck/optimalRoute with their parameter schemas, so the agent can pick the right endpoint without reading 22 path definitions.
Time to first call
Direct integration: 1-2 days for apikey provisioning, request signing, and parsing the JSON/GeoJSON/KML branches. Through Jentic: under 1 hour once the apikey is in the vault.
Alternatives and complements available in the Jentic catalogue.
DriveBC's Open511 API
Live BC road events that should be checked before routing
Pull active closures from Open511 first, then call /optimalDirections so the route planner avoids affected coordinates.
BC Address Geocoder
Geocodes BC addresses into coordinates accepted by the Route Planner
Use the BC Geocoder when input is street addresses, then pass the resulting lat/long to /route or /optimalRoute.
TomTom Routing API
Global commercial routing engine — choose when coverage outside BC is required
Pick TomTom when the trip leaves British Columbia or when the agent is not eligible for a BC ministry apikey.
GraphHopper Directions API
Open-source-backed routing with truck profiles and worldwide coverage
Choose GraphHopper for truck routing outside BC or when self-hosting is on the table.
Specific to using BC Route Planner REST API API through Jentic.
What authentication does the BC Route Planner API use?
The API uses an apikey header (security scheme name 'apikey'). Keys are issued through the BC API directory at api.gov.bc.ca and are tied to a GitHub or IDIR account. Through Jentic, the apikey is stored encrypted in MAXsystem and injected on every request so the agent never handles the raw key.
Can I use the BC Route Planner if I am not a BC Government Ministry?
No. The spec explicitly states that the BC Route Planner is currently only available for use by B.C. Government Ministries. External developers can request a key through the BC API directory but should expect denial unless they have a ministry sponsor.
What are the rate limits for the BC Route Planner API?
The OpenAPI spec does not publish rate limits. Limits are enforced at the api.gov.bc.ca gateway and are tied to the issued apikey. Plan for conservative concurrency and cache /distance results for repeated coordinate pairs.
How do I get truck-legal routing through Jentic?
Search Jentic for 'plan a truck route in british columbia', then load /truck/route or /truck/directions. Pass truckHeight, truckWeight, and other truck attributes documented in the spec, and the engine will avoid restricted segments. Passenger endpoints under /route ignore these limits, so always use the /truck/* family for commercial vehicles.
What output formats does the BC Route Planner support?
Each routing endpoint takes an outputFormat path parameter — json, geojson, and kml are supported. Pick json for agent processing, geojson for web map rendering, and kml when the downstream consumer is Google Earth or another KML-aware tool.
Can I solve a travelling-salesman ordering with this API?
Yes. POST /optimalRoute and /optimalDirections accept a start point plus a list of stops and return the reordered sequence that minimises total travel time, along with the full route geometry and directions in one response.
/distance.{outputFormat}
Distance and travel time between two points