Intermediate Traffic Service API - FAQ
The sizes of the incident feed and flow feeds differ by country.
The following table shows sizes of gzip compressed snapshots of our feeds, based on the country and feed type. Detailed flow feeds show the measurement for non-free-flow (nff) and free-flow (ff). The 50th (p50) and 95th (p95) percentiles are given, better reflecting daytime variations. The values are rounded up to multiples of 100 kilobytes to compensate for seasonable effects. The feed sizes for the detailed flow feed also take into account predictive flow.
This data is from June 2020 (during the COVID-19 pandemic).
|Flow Protobuf (detailed)|
|Flow Protobuf (detailed)|
|Flow Protobuf (detailed)|
|USA (south east)||400||400||700||1300||8700|
|USA (south west)||300||400||900||1500||9100|
I have access to multiple incident and / or flow feeds. How many feeds can be downloaded and processed in parallel?
There is no ideal setup for downloading and processing the feeds as there are many parameters that can have an influence on the overall performance. The following are just a few parameters (there may be more):
- The bandwidth of the internet connection from your servers to your internet service provider (ISP).
- The potential limitation of network bandwidth between your ISP and TomTom.
- The latency between your system and TomTom servers deployed in (Western) Europe.
- The performance of your system in ingesting and processing the retrieved data.
Due to these limitations we can make the following general recommendations:
It may be advisable to download and process only a few feeds in parallel, or to download the individual feeds with a certain time delay.
Your client should support TCP window scaling. With this option, we can send more data to your client before an acknowledgement comes back from your client. This improves throughput, especially in low latency connections. Latency is determined with tools like PsPing (https://docs.microsoft.com/en-us/sysinternals/downloads/pstools). To test latency between your servers and
traffic.tomtom.com, use the following command:psping traffic.tomtom.com:443
Further examples of how to use PsPing are found on the download page. While this tool is only available for Windows, there are alternatives for other operating systems here: https://alternativeto.net/software/psping/. Since ICMP is not supported by our service, the usual ping command will not work.
Always use gzip compression by specifying the standard HTTP header
Always use the
If-Modified-Sinceheader with the time stamp of the
Last-Modifiedheader for the last snapshot received in the same feed. This eliminates the possibility of downloading data that you already have.
Use free-flow (ff) / non-free-flow (nff) update mechanism for all flow feeds. This significantly reduces the total bandwidth consumption when compared with full-feed downloads. The same information is retrieved!
As movement restrictions are lifted after the COVID-19 lockdown, various local, regional, and national authorities introduce various measures that impact road regulations. Even if these impacts are only on a temporary basis, they can affect traffic in a significant way by creating closures due to change of permitted road use, restricting road access to local residents only, introducing new bike lanes, or reduced speed limits.
TomTom strives to provide up-to-date information about these dynamically changing road conditions through the TomTom Traffic Incidents – Intermediate Service API. During the unprecedented COVID-19 situation, TomTom is working together with our partners and authorities to ensure high-quality, reliable information.
TomTom delivers the following event types related to the COVID-19 pandemic.
|Event||Alert-C event codes|
|Closed to all traffic.||401|
|Closed to through traffic.||493 + 1854|
|Closed based on other restrictions/conditions (i.e., the purpose of travel in case of border closures).||493|
|Reduced amount and/or width of lanes lane layout (i.e., when increasing space for bikes and pedestrians).||518|
Any event in any country related to COVID-19 contains at least "COVID-19" in the comment field. The text may also contain further information.
This service is hosted on Microsoft Azure. Since Microsoft Azure hosts services in the public cloud, the IPs are non-static. One result is that the IPs can change at any time. For this reason, filters restricting outbound connection to our service will not work. You must rely on the host name for determining the IP address of this service.
The following tables lists all flow features and their availability depending on the product type ( Flow, Flow Detailed) and output format (DATEX II, Protobuf).
|Individual Feature||Description||Flow - DATEX II||Flow - Protobuf||Flow Detailed - Protobuf||Flow Detailed Legacy - Protobuf|
|High road coverage||Feed covers road segments with high functional road classes and also many road segments with low functional road classes.||No||No||Yes||Yes|
|Traffic Condition||Provides a textual traffic condition indicator (e.g., 'stationary traffic' or ‘slow traffic’).||Yes||Yes||Yes||Yes|
|Heavy traffic||Adds support for the traffic condition “heavy traffic”. This feature only works in combination with the Traffic Condition feature.||Yes||Yes||Yes||Yes|
|Relative Speed||Provides an additional percentage value of the current speed compared to free flow.||Yes||Yes||Yes||Yes|
|Miles per hour||Mph is reported in addition to the speeds reported in kph.||Yes||Yes||Yes||Yes|
|Time to usual||Provides time in minutes for the speed to return to usual speed (Speed Profile).||No||Yes||Yes||Yes|
|HOV lanes||Adds separate speed entries for lanes reserved for high-occupancy vehicles.||No||Yes||Yes||Yes|
|Predictive Flow (15, 30, 45 minutes)||Provides predictive speeds for 15, 30, and 45 minutes in the future.||No||Yes||Yes||No|
|Predictive Flow (24h)||Provides predictive speeds for up to 24 hours in the future.||No||Yes||No||No|
|Dynamic sectioning||Allows sectioning which describes the road links in smaller sections when conditions vary considerably within a longer stretch. In case of prediction, sectioning is supported only for 15, 30, 45 minutes.||No||Yes||Yes||No|
|Map version||Provides the map version being used.||Yes||Yes||Yes||Yes|
|TMC||TMC location codes.||Yes||Yes||Yes||No|
|OpenLR||OpenLR binary strings.||Yes||Yes||Yes||Yes|
|TMC + OpenLR||OpenLR binary strings and TMC location where available in one feed. Requires that both referencing methods are supported in the requested country(s).||Yes||Yes||Yes||No|
The Intermediate Flow feed has the concept of a free flow (ff) feed and a non-free flow (nff) feed, as explained in the documentation (TomTom Traffic Flow - Intermediate Service - Protobuf). The nff-feed consists of the flow feed segments which contain a traffic delay. The threshold for the nff-feed is per default set at 90% of the free flow speed, so all segments between 90-100% free flow speed are not reported in the nff-feed.
However, TomTom offers the configuration option to increase or decrease the threshold of the nff-feed. A low threshold (e.g., 70%) will heavily reduce the feed size of the nff-feed, which might be desirable if there are bandwidth constraints for the customer receiving the feed. A high threshold (e.g., 99%) will allow that more live data is send through the nff-feed but will also increase the feed size. The filtering is explained by the following graph:
The possibility to have have TMC and OpenLR in a single flow feed facilitates different use cases on the client side. Clients that are operating a hosted traffic service can serve TMC-only, OpenLR-only, or TMC-or-OpenLR (hybrid approach) devices from a single B2B feed. The vast majority of all TMC links can also be represented as OpenLR location reference.
However, in some cases the encoding is not possible. For that reason clients that intend to use the hybrid approach need to ignore all flow messages with only TMC information. These stretches are covered by other flow messages with only OpenLR location information. The following table outlines the rules by device requirement that need to be applied to cover all necessary flow segments.
|OpenLR-only / TMC or OpenLR (hybrid)|