post
/api/v2/traffic/road-reverse-lookup
Python SDK method:
client.traffic.road_reverse_lookup(params).run()

Start road reverse lookup job

Creates a job to generate a road reverse lookup analysis. Given a set of zone IDs, identifies matching road segments and returns per-segment speed, travel-time, and vehicle breakdown metrics.

Altitude Help Center — getRoadReverseLookup

Request Body

Analysis parameters.

application/json: object

NameTypeInput ShapeValuesDescriptionValue Required
aggregationPeriodobjectunit: string; value: integer (int64)-Aggregation interval for the analysis. Set unit to '*' for a full-period summary, or 'hour' / 'week' for time-series breakdowns.Y
dateFromstring--First date of the analysis range, formatted as yyyy-mm-dd.Y
dateTostring--Last date of the analysis range, formatted as yyyy-mm-dd.Y
daysOfWeekarray<integer (int64)>--Days of the week to include (1=Sunday … 7=Saturday). An empty array includes all days.N
excludeServiceRoadsboolean--When true, service road categories are excluded from results. Defaults to true when omitted.N
filterAndConditionboolean--When true, a segment must satisfy all supplied filters (AND logic); when false, satisfying any one filter is sufficient (OR logic).Y
isDirectionalboolean--When true, one record is returned per direction of travel; when false, results are averaged across both directions.Y
isMetricboolean--When true, speeds are returned in km/h; when false, in mph. Defaults to the isMetric setting on the authenticated user's profile when omitted.N
jobIdstring--Optional job identifier in the format its_<unixMillis>_<11-char alphanumeric> (e.g. its_1234567890123_abcde123456). Generated by the server when omitted.N
percentilesarray<integer (int64)>--Percentile values to compute (1–99). Defaults to [15, 50, 85] when omitted.N
roadTypesarray<RoadType>-living_street, motorway, motorway_link, primary, primary_link, residential, road, secondary, secondary_link, service, tertiary, tertiary_link, trunk, trunk_link, unclassifiedOSM road types to include. Must contain at least one value.Y
speedLimitFilterobjectfilterMode: string; filterValue: number (double)-Filter on posted speed limit. Provide filterValue (any float) and filterMode ('greater' or 'less'). At least one filter field across all filter fields is required.N
spotSpeedFilterobjectfilterMode: string; filterType: string; filterValue: number (double)-Filter on spot speed. Provide filterValue, filterMode ('greater' or 'less'), and filterType ('average' or 'median').N
spotSpeedPctOfFreeFlowFilterobjectfilterMode: string; filterValue: number (double)-Filter on spot speed as a percentage of free-flow speed.N
spotSpeedPctOfSpeedLimitFilterobjectfilterMode: string; filterValue: number (double)-Filter on spot speed as a percentage of the posted speed limit.N
spotSpeedPctOverSpeedLimitFilterobjectfilterMode: string; filterValue: number (double)-Filter on the percentage of vehicle passes where spot speed exceeded the speed limit.N
timeFromstring--Start of the time-of-day range, formatted as hh:mm:ss. Defaults to 00:00:00 when omitted.N
timeTostring--End of the time-of-day range, formatted as hh:mm:ss.999. Defaults to 23:59:59.999 when omitted.N
travelSpeedFilterobjectfilterMode: string; filterType: string; filterValue: number (double)-Filter on travel speed. Provide filterValue, filterMode ('greater' or 'less'), and filterType ('average' or 'median').N
travelSpeedPctOfFreeFlowFilterobjectfilterMode: string; filterValue: number (double)-Filter on travel speed as a percentage of free-flow speed.N
travelSpeedPctOfSpeedLimitFilterobjectfilterMode: string; filterValue: number (double)-Filter on travel speed as a percentage of the posted speed limit.N
travelSpeedPctOverSpeedLimitFilterobjectfilterMode: string; filterValue: number (double)-Filter on the percentage of vehicle passes where travel speed exceeded the speed limit.N
vehicleClassIdsarray<string>--Vehicle class filter IDs from GET /api/v2/filters/vehicle-classes. IDs must use the scheme_vehicleClassIndex_categoryIndex format and share one scheme. An empty array includes all vehicle classes.N
vehicleClassSchemeIdinteger--Vehicle classification scheme, from 1 through 5. Defaults to 2 (FHWA/GVWR) when omitted.N
vehicleClassesarray<object>vehicleType: string; weightClass: string-Vehicle class filters. Use an empty array to include all vehicle classes.N
zoneIdsarray<string>--Encoded zone ID strings. Provide exactly one of zoneIds or zones (not both).N
zonesarray<object>code: string; iso_3166_2: string; type: string-Zone objects with code, type, and iso_3166_2. Provide exactly one of zones or zoneIds (not both).N

Examples

County road reverse lookup request

Translated from the v1 getRoadReverseLookup sample.

{
  "aggregationPeriod": {
    "unit": "*",
    "value": 1
  },
  "dateFrom": "2026-01-01",
  "dateTo": "2026-01-07",
  "filterAndCondition": false,
  "isDirectional": true,
  "roadTypes": [
    "motorway"
  ],
  "speedLimitFilter": {
    "filterMode": "greater",
    "filterValue": 0
  },
  "zones": [
    {
      "code": "32003",
      "iso_3166_2": "US-NV",
      "type": "County"
    }
  ]
}

Success Responses

202 response: object

Job accepted and queued for processing. Poll the location header URL to check status.

NameTypeDescription
errorobjectDetails about why the job failed (RFC 7807 format), or null if it succeeded.
idstringUnique job identifier.
linksobjectNavigation URLs for polling and result retrieval.
statusstringCurrent job lifecycle state: PENDING, QUEUED, RUNNING, DONE, FAILED, CANCELED, or NOT_FOUND.

Response Errors

HTTP Status CodeReason
400The request body or parameters are invalid.
401Authentication is required or the provided credentials are invalid.
403The authenticated user lacks permission to perform this operation.
409The operation conflicts with the current state of the resource.
422The request is syntactically valid but semantically cannot be processed.
429The request rate limit has been exceeded.
500An unexpected server error occurred.