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.
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.
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.
The Protobuf endpoint is accessible using the same API credentials as other TravelTime API endpoints, and is available on all licence plans.
There are 3 ways in which the Protobuf endpoint can be accessed:
- Database plugins
- Direct integration
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 firstname.lastname@example.org
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 email@example.com
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.
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.
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 firstname.lastname@example.org to get yours.