The Solvice Maps Distance Matrix service is specifically made for products that use route optimization to power scheduling operations. Route optimization (TSP, PDP, VRP, …) requires the usage of a distance matrix detailing the travel time and distance from every location to every other location in the solve request.

1

Send coordinates

POST /table

{
    "coordinates": [
        [4.912342132, 50.2123123],
        [4.812341234, 50.4123421],
        [5.012341342, 50.9124312],
        [5.057869730, 50.4940923]
    ]
}
{
    "createdAt": "2025-05-15T12:43:45.756Z",
    "id": 4309631,
    "status": "IN_PROGRESS",
    "tableResponseId": 4309631,
    "updatedAt": "2025-05-15T12:43:45.758Z"
}
If you have small matrices and want to integrate a fast synchronous service, use the /table/sync endpoint.
2

Poll table untill ready

GET /table/4309631/status

{
    "coordinates": [
    [4.912342132, 50.2123123],
    [4.812341234, 50.4123421],
    [5.012341342, 50.9124312],
    [5.057869730, 50.4940923]
    ]
}
3

Get response (gzipped)

Make sure you test this endpoint with a browser or that supports gzip compression.

GET /table/4309631/response

{
    "destinations": [
{
    "hint": "eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe",
    "distance": 54.20808645369059,
    "name": "Avenue de la Restauration",
    "location": [
    4.899732,
    50.200456
    ]
},
{
    "hint": "o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe",
    "distance": 483.4921257061384,
    "name": "Route des Trois Communes",
    "location": [
    4.794387,
    50.397549
    ]
},
{
    "hint": "WvwMgrAseoRNAAAAAAAAALwAAAAAAAAAvYZVQgAAAAAK0AFDAAAAAE0AAAAAAAAAvAAAAAAAAAAVtwAAI1ZMAPmtCANAS0wAIKwIAwYAXw9PrDVe",
    "distance": 202.89814553989248,
    "name": "Wittebos",
    "location": [
    5.002787,
    50.900473
    ]
},
{
    "hint": "GtVBggTgEIkDAAAADwAAAMUAAAAAAAAAbWKjQHMstUHaEZlDAAAAAAMAAAAPAAAAxQAAAAAAAAAVtwAA-Q5NAN2rCAOQDk0AIKwIAwsAHw5PrDVe",
    "distance": 10.496399718824598,
    "name": "Tiensestraat",
    "location": [
    5.050105,
    50.899933
    ]
}
    ],
    "durations": [
    [
    0,
    1976.1,
    5772.3,
    5642.6
    ],
    [
    2010.2,
    0,
    4783.9,
    4654.2
    ],
    [
    5817.2,
    4797.4,
    0,
    508.6
    ],
    [
    5705.3,
    4685.5,
    530.2,
    0
    ]
    ],
    "sources": [
{
    "hint": "eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe",
    "distance": 54.20808645369059,
    "name": "Avenue de la Restauration",
    "location": [
    4.899732,
    50.200456
    ]
},
{
    "hint": "o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe",
    "distance": 483.4921257061384,
    "name": "Route des Trois Communes",
    "location": [
    4.794387,
    50.397549
    ]
},
{
    "hint": "WvwMgrAseoRNAAAAAAAAALwAAAAAAAAAvYZVQgAAAAAK0AFDAAAAAE0AAAAAAAAAvAAAAAAAAAAVtwAAI1ZMAPmtCANAS0wAIKwIAwYAXw9PrDVe",
    "distance": 202.89814553989248,
    "name": "Wittebos",
    "location": [
    5.002787,
    50.900473
    ]
},
{
    "hint": "GtVBggTgEIkDAAAADwAAAMUAAAAAAAAAbWKjQHMstUHaEZlDAAAAAAMAAAAPAAAAxQAAAAAAAAAVtwAA-Q5NAN2rCAOQDk0AIKwIAwsAHw5PrDVe",
    "distance": 10.496399718824598,
    "name": "Tiensestraat",
    "location": [
    5.050105,
    50.899933
    ]
}
    ]
}
Prefer the signed url approach through the /table/{id}/response/url which redirects to Google Cloud Storage over our API.