Map Matching API
Align recorded GPS tracks to actual roads for fleet analytics and trip replay
How it works
Send GPS points
Pass an array of noisy coordinates from a device.
Plaza matches them
Hidden Markov model over the OSM road network.
Get snapped route
Snapped points, matched edges, and a confidence score.
See it in action
An example request and its response, drawn on the map.
Who uses this
Teams building with Map Matching API.
Fleet tracking
Clean up vehicle GPS traces for accurate mileage reporting.
Fitness tracking
Snap recorded runs and rides to actual paths and roads.
Ride-hailing
Reconstruct driver routes from sparse phone GPS pings.
Start building
curl -X POST "https://plaza.fyi/api/v1/map-match" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"geometry": {
"coordinates": [
[
13.38886,
52.517037
],
[
13.397634,
52.529407
],
[
13.428555,
52.523219
]
],
"type": "LineString"
}
}'
View endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/map-match | Snap a GPS trace to the road network |
How it compares
Common questions
Is map matching a premium endpoint?
Yes. It counts as 4x against your allocation. Still cheaper than Google's Roads API at $10/1K or Mapbox at $2/1K.
What does the response contain?
One snapped point per GPS fix, in order, with its distance from the fix and the road edge it matched, plus one confidence score for the whole match.
How many GPS points can I send in one request?
There's no fixed cap, but every point is looked up on its own, so long traces are slow. Split long recordings into overlapping segments.