post
/api/v2/poi/analytics
Python SDK method:
client.poi.analytics(params).run()

Start POI analytics job

Creates a job to generate a POI analytics analysis. POI provides detailed analytics for points of interest including visit frequency, dwell time distributions, vehicle type breakdowns, and time-of-day patterns. Set generateTimeSeries to true to produce time-series breakdowns.

Altitude Help Center — POI Location Specific Insights API

Request Body

POI analysis parameters.

application/json: object

NameTypeInput ShapeValuesDescriptionValue Required
aggregationUnitsarray<AggregationUnit>-hour, dayofweek, week, month, daytype, daytypehour, hourofday, dayTime-series dimensions to generate when generateTimeSeries is true. Valid values: hour, dayofweek, week, month. An empty array produces no time-series buckets.N
dateFromstring--First date of the analysis range, formatted as yyyy-mm-dd.Y
dateTostring--Last date of the analysis range (inclusive), formatted as yyyy-mm-dd.Y
fleetSizeBinsarray<integer (int64)>--Upper bounds (inclusive) of fleet size histogram bins. Example: [5, 10, 20] creates bins [1,5], [6,10], [11,20], [21,+inf].N
generateTimeSeriesboolean--When true, a time-series breakdown child analysis is generated for each aggregation unit.Y
isMetricboolean-falsePOI Analytics currently supports imperial units only. Set this to false.Y
locationIdsarray<string>--List of location ids returned from the locations endpointY
naicsLevel2array<integer (int64)>--NAICS Level-2 industry codes to include. An empty array includes all licensed industries.N
radiusnumber (double)--Capture radius around each POI in miles. POI Analytics currently supports imperial units only.Y
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
vocationsarray<VocationID>-1, 2, 3, 4, 5Vocation IDs from GET /api/v2/filters/vocations. An empty array includes all vocations.N

Examples

POI analytics from discovered locations

Use the numeric id returned by the preceding POI Locations request.

{
  "aggregationUnits": [
    "month",
    "dayofweek"
  ],
  "dateFrom": "2026-01-01",
  "dateTo": "2026-01-31",
  "generateTimeSeries": false,
  "isMetric": false,
  "locationIds": [
    "-1003048895383462315"
  ],
  "naicsLevel2": [
    445,
    447
  ],
  "radius": 25
}

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.