Applicable Speed limit Layer in HERE Map Attributes API v8
Overview
The APPLICABLE_SPEED_LIMIT layer provides the final, resolved speed limit applicable to a given vehicle configuration and time for a road segment. Unlike individual speed limit layers, this layer:
- Aggregates multiple speed limit sources
- Applies vehicle-specific logic
- Resolves conflicts and returns a single applicable value
Why use this layer?
To determine the applicable speed limit, customer needs to combine multiple layers:
SPEED_LIMITS_FCn(general speed limits)SPEED_LIMITS_COND_FCn(conditional speed limits)TRUCK_SPEED_LIMITS_FCn(truck, admin, country specific speed limits)
This requires merging overlapping results, evaluating conditions and applying vehicle-specific rules. The APPLICABLE_SPEED_LIMIT layer combines all the relevant layers internally, evaluates vehicle configuration, and returns a single resolved value per road segment. Therefore, customers are advised to use this layer as it provides the required logic without the need for custom implementation.
Customer Use Cases
- Monitor driver speed compliance and trigger speeding alerts
- Analyze and score driver behavior
- Display and warn about current speed limits during navigation
- Display and warn about speed limits ahead for e-Horizon use cases
- Improve route guidance and ETA accuracy
- Ensure compliance with vehicle-specific regulations (e.g., trucks)
Input parameters
Vehicle Defaults and Evaluation Rules
The layer evaluates speed limits based on vehicle attributes such as:
- Vehicle type (car / truck / bus)
- Weight (e.g. vehicleWeightClass, limitedWeight)
- Trailer count
- Vehicle length
- Hazardous goods
- Commercial vs non-commercial classification
These parameters directly influence how the applicable speed limit is calculated. Truck speed limits require a vehicle specification to correctly evaluate regulatory restrictions. If not provided, default values are applied:
| Vehicle Type | Vehicle Weight Class | Trailers Count | Vehicle Length | Hazardous Goods |
|---|---|---|---|---|
| Truck | 11000 kg | 0 | 1000 | None |
| Bus | 2000 kg | 0 | 441 | None |
| Car | 2000 kg | 0 | 441 | None |
- If
vehicleWeightClassis not provided, the value oflimitedWeightis used to determine the applicable weight. - If neither parameter is provided, the default values listed above are applied.
- Speed limits may be time-dependent (e.g. conditional restrictions). It is recommended to always provide date and time in the request to ensure accurate evaluation of applicable speed limits.
Commercial Parameter Behavior
The commercial parameter is treated as a vehicle attribute and can influence the applicable speed limit in the same way as other vehicle properties (e.g. weight or trailer count).
If not explicitly provided, the default value is non-commercial.
We recommend to provide all relevant vehicle attributes, including commercial, when requesting applicable speed limits.
Note
Depending on the region, speed limits may differ between commercial and non-commercial vehicles.If the
commercialparameter is not explicitly set, the returned speed limit may not match expectations for certain use cases.
Sample request
curl -gX GET 'https://smap.hereapi.com/v8/maps/attributes/path?'\
'attributes=APPLICABLE_SPEED_LIMIT(*)&'\
'transportMode=truck&'\
'vehicleWeightClass=11000&'\
'commercial=1&'\
'vehicleNumberAxles=3&'\
'length=1000&'\
'width=255&'\
'height=380&'\
'departure=2026-06-18T11:32:31&'\
'flexiblePolyline=BG8v1ilDuqphY04C5sDwHrJg6CzuDkrBj1BknDz9DsyDntE8LrO4sDjlE8GjIwbriB0wC3iD8GjI0hC7xC8L_Osd_iBkXvbgoBnuBo4BzhCwlBvqBs7BzhCsxBj1BkN3N4rBztBoxC3zCgwCjuCoxCvtCs2B_xBozBztB47DzpD0pDz1C86F_wE4sDz1C4uCrgCkrBvlBg3B_xB4rB7pBkcjcoVzU8kB3mBk_BnnCsqCn7CkhBjrB0yB3kC0tBzhC0rCzzDkc_sB4kCjxD4xD_9FoQ7aoQ7agU3hBssB3pC89BnlD0PrYwM_Tof3wBwvBnnC84BnxCgjBvvB0oBj1BgtBz3Bs7BzmCgtBzyBs2Bj6BwlB3mB8LnL0tB3rBouBvqBkmBjhBo9BzyB41B7pBkwB_iBkrB_dwqBjcouB3cw5BjhB&'\
'apikey=ezNJO0jlK6ACNZBBmmWo8l22fFmq8iqtNNp2LHTTlpQ'Sample response
Click to view the sample response.
Note that the response example is truncated.
"segments": [
{
"segmentRef": "$0:23618269:$1:887139885#+0.78894..0.82458",
"attributeDirection": "+",
"attributes": {
"APPLICABLE_SPEED_LIMIT": [
{
"APPLICABLE_SPEED_LIMIT": "80",
"SOURCE": "Transport",
"SPEED_LIMIT_UNIT": "K",
"SPEED_LIMIT_TYPE": "1001"
}
]
}
},
{
"segmentRef": "$0:23618271:$1:887139885#+0.82459..0.82681",
"attributeDirection": "+",
"attributes": {
"APPLICABLE_SPEED_LIMIT": [
{
"APPLICABLE_SPEED_LIMIT": "80",
"SOURCE": "Transport",
"SPEED_LIMIT_UNIT": "K",
"SPEED_LIMIT_TYPE": "1001"
}
]
}
},
{
"segmentRef": "$0:23618271:$1:887139885#+0.82682..0.85341",
"attributeDirection": "+",
"attributes": {
"APPLICABLE_SPEED_LIMIT": [
{
"APPLICABLE_SPEED_LIMIT": "80",
"SOURCE": "Transport",
"SPEED_LIMIT_UNIT": "K",
"SPEED_LIMIT_TYPE": "1001"
}
]
}
},
{
"segmentRef": "$0:23618271:$1:887139885#+0.85342..0.86617",
"attributeDirection": "+",
"attributes": {
"APPLICABLE_SPEED_LIMIT": [
{
"APPLICABLE_SPEED_LIMIT": "80",
"SOURCE": "Transport",
"SPEED_LIMIT_UNIT": "K",
"SPEED_LIMIT_TYPE": "1001"
}
]
}
},
{
"segmentRef": "$0:23618271:$1:887139885#+0.86618..0.89655",
"attributeDirection": "+",
"attributes": {
"APPLICABLE_SPEED_LIMIT": [
{
"APPLICABLE_SPEED_LIMIT": "80",
"SOURCE": "Transport",
"SPEED_LIMIT_UNIT": "K",
"SPEED_LIMIT_TYPE": "1001"
}
]
}
},
...What You Receive in the Response
The response provides the final applicable speed limit for each road segment along the given path.
For an individual segment:
segmentRef: Identifies a specific portion of the road segment along your routeattributeDirection: Indicates the direction of travel for which the attributes are validAPPLICABLE_SPEED_LIMIT: The final evaluated speed limit for this road segmentSOURCE: Indicates the source of the applicable speed limitTransportmeans the value is derived from theTRUCK_SPEED_LIMITS_FCnlayer
SPEED_LIMIT_UNIT: Defines the unit of the speed limit valueK→ kilometers per hour (km/h)
SPEED_LIMIT_TYPE: Provides additional classification of the speed limit.
Note on
SOURCEandSPEED_LIMIT_TYPE
The returned speed limit may originate from different sources such as posted signs, derived regulations, conditional restrictions, or transport-specific rules.Use the
SOURCEandSPEED_LIMIT_TYPEattributes to understand how the value was determined, especially if your use case requires filtering specific types of speed limits (e.g. using only posted values).