post
/api/v2/poi/analyticsPython 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 APIRequest Body
POI analysis parameters.
application/json: object
| Name | Type | Input Shape | Values | Description | Value Required |
|---|---|---|---|---|---|
aggregationUnits | array<AggregationUnit> | - | hour, dayofweek, week, month, daytype, daytypehour, hourofday, day | Time-series dimensions to generate when generateTimeSeries is true. Valid values: hour, dayofweek, week, month. An empty array produces no time-series buckets. | N |
dateFrom | string | - | - | First date of the analysis range, formatted as yyyy-mm-dd. | Y |
dateTo | string | - | - | Last date of the analysis range (inclusive), formatted as yyyy-mm-dd. | Y |
fleetSizeBins | array<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 |
generateTimeSeries | boolean | - | - | When true, a time-series breakdown child analysis is generated for each aggregation unit. | Y |
isMetric | boolean | - | false | POI Analytics currently supports imperial units only. Set this to false. | Y |
locationIds | array<string> | - | - | List of location ids returned from the locations endpoint | Y |
naicsLevel2 | array<integer (int64)> | - | - | NAICS Level-2 industry codes to include. An empty array includes all licensed industries. | N |
radius | number (double) | - | - | Capture radius around each POI in miles. POI Analytics currently supports imperial units only. | Y |
vehicleClassIds | array<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 |
vehicleClassSchemeId | integer | - | - | Vehicle classification scheme, from 1 through 5. Defaults to 2 (FHWA/GVWR) when omitted. | N |
vehicleClasses | array<object> | vehicleType: string; weightClass: string | - | Vehicle class filters. Use an empty array to include all vehicle classes. | N |
vocations | array<VocationID> | - | 1, 2, 3, 4, 5 | Vocation 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.
| Name | Type | Description |
|---|---|---|
error | object | Details about why the job failed (RFC 7807 format), or null if it succeeded. |
id | string | Unique job identifier. |
links | object | Navigation URLs for polling and result retrieval. |
status | string | Current job lifecycle state: PENDING, QUEUED, RUNNING, DONE, FAILED, CANCELED, or NOT_FOUND. |
Response Errors
| HTTP Status Code | Reason |
|---|---|
| 400 | The request body or parameters are invalid. |
| 401 | Authentication is required or the provided credentials are invalid. |
| 403 | The authenticated user lacks permission to perform this operation. |
| 409 | The operation conflicts with the current state of the resource. |
| 422 | The request is syntactically valid but semantically cannot be processed. |
| 429 | The request rate limit has been exceeded. |
| 500 | An unexpected server error occurred. |