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 TypeVehicle Weight ClassTrailers CountVehicle LengthHazardous Goods
Truck11000 kg01000None
Bus2000 kg0441None
Car2000 kg0441None
  • If vehicleWeightClass is not provided, the value of limitedWeight is 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 commercial parameter 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 route
  • attributeDirection: Indicates the direction of travel for which the attributes are valid
  • APPLICABLE_SPEED_LIMIT: The final evaluated speed limit for this road segment
  • SOURCE: Indicates the source of the applicable speed limit
    • Transport means the value is derived from the TRUCK_SPEED_LIMITS_FCn layer
  • SPEED_LIMIT_UNIT: Defines the unit of the speed limit value
    • K → kilometers per hour (km/h)
  • SPEED_LIMIT_TYPE: Provides additional classification of the speed limit.

Note on SOURCE and SPEED_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 SOURCE and SPEED_LIMIT_TYPE attributes 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).