search icon
TravelTime API
Overview
Developer Tools
Database Plugins
TravelTime API
SDK
TravelTime API
Isochrone API
JSON
Distance Map API
TravelTime API
Travel Time Matrix API
JSON
Travel Time Matrix API
Protocol Buffers
TravelTime API
Routes API
JSON
Geocoding API
Additional API Reference
Error Handling
TravelTime API
ArcGIS plugin
QGIS plugin
Alteryx plugin
TravelTime.comchevronDocs

Travel Time Matrix Using Protocol Buffersanchor icon

Overviewanchor icon

The Travel Time Matrix (Fast) endpoint is available with even higher performance through a version using Protocol Buffers (Protobuf). This version of the API is built to create large travel time matrices with extremely low response times.

The endpoint takes as inputs a single origin location, multiple destination locations, a mode of transport, and a maximum travel time.

The endpoint returns the travel times to each destination location, so long as it is within the maximum travel time.

Performanceanchor icon

Protocol Buffers are used to reduce latency in comparison to the JSON version of the Travel Time Matrix (Fast) endpoint. Performance is also optimised by having minimal configurable parameters - if you require the ability to configure things like specific arrival/departure times then you should use the Travel Time Matrix JSON endpoint.

The typical response time for a Protobuf request with 100,000 destinations is 140ms. There is information in the Benchmarking section of this page about an open-source tool for running your own performance benchmarks if you require.

Use Casesanchor icon

The Protobuf endpoint is most appropriate for use cases that involve a high number of locations per request, and where performance is a high priority. For example:

  • B2C applications that require a travel time search functionality with minimised impact on page loading times
  • Big data applications that require extremely large many-to-many travel time matrices

More example use cases can be found here.

Accessanchor icon

The Protobuf endpoint is accessible using the same API credentials as other TravelTime API endpoints, and is available on all licence plans.

Integrationanchor icon

There are 3 ways in which the Protobuf endpoint can be accessed:

  • Database plugins
  • SDKs
  • Direct integration

Databasesanchor icon

We have two supported database plugins:

These plugins are simple to install and use, and support a range of versions of each database.

If you are using a database version that we do not currently support, please get in touch at support@traveltime.com

SDKsanchor icon

All of our SDKs include support for Protobuf:

If you have a particular requirement for one of our other SDKs to support Protobuf, please get in touch at support@traveltime.com

Direct integrationanchor icon

While we would recommend using either the database plugins of SDKs above, the Protobuf endpoint can also be accessed in other languages through building your own direct integration.

When building your own integration it is important to note that we do not use gRPC, we use Protobuf for serialization only.

Supported countriesanchor icon

Protobuf is not supported in every country that we cover, but is currently available in 32 of the largest countries that we support, including most of Europe and North America.

A full list of supported countries can be found at the bottom of this page.

Benchmarkinganchor icon

The Protobuf service is built for performance, and we offer an open-source solution for benchmarking that is completely free to use. This can be found in this GitHub repository. The readme provides a guide of how to use the tool, as well as some example results.

Please note that to run the benchmarking tool yourself you will need Protobuf credentials. Please contact us as support@traveltime.com to get yours.