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

Start Site Intelligence analytics job

Creates a job to generate a Site Intelligence analytics analysis. Site Intelligence 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

Site Intelligence analysis parameters.

application/json: object

NameTypeInput ShapeValuesDescriptionValue Required
aggregationUnitsarray<string>-hour, dayofweek, week, month, daytype, daytypehour, hourofday, dayTime-series dimensions to generate when generateTimeSeries is true. Valid values: hour, dayofweek, week, month. Defaults to month and dayofweek when omitted or empty.N
dateFromstring (date)--First date of the analysis range, formatted as yyyy-mm-dd.Y
dateTostring (date)--Last date of the analysis range (inclusive), formatted as yyyy-mm-dd.Y
fleetSizeBinsarray<integer>--Upper bounds (inclusive) of fleet size histogram bins. For example, 5, 10 and 20 create the bins 1–5, 6–10, 11–20 and 21 or more.N
generateTimeSeriesboolean--When true, a time-series breakdown is also generated for each aggregation unit. Results are retrievable via GET /api/v2/poi/analytics/{id}/time-series once the job is complete. Defaults to false when omitted.N
isMetricboolean-falseSite Intelligence Analytics currently supports imperial units only. Set this to false. Defaults to false when omitted.N
locationIdsarray<string>--List of location IDs returned by the site locations analysis.Y
naicsLevel2array<integer>--NAICS Level-2 industry codes to include. An empty array includes all licensed industries.N
radiusnumber--Capture radius around each Site Intelligence in miles. Site Intelligence 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; IDs that do not name a known vehicle class are rejected. An empty array includes all vehicle classes.N
vehicleClassSchemeIdinteger-1, 2, 3, 4, 5, 6Vehicle classification scheme: 1 = VIUS, 2 = GVWR (FHWA), 3 = Truck Weight Classes, 4 = CARB, 5 = Gross Weight Group (custom scheme), 6 = Expansion Factors (custom scheme). Defaults to 2 when omitted. See GET /api/v2/filters/vehicle-class-schemes.N
vehicleClassesarray<object>vehicleType: string (values: Truck, Passenger, MPV, Bus, Limo, Other, n/a); weightClass: string (values: *, Class 1, Class 2, Class 3, Class 4, Class 5, Class 6, Class 7, Class 8, Class A, Class B, Class C, Class D, Class E, Class F, Class G, Class H)-Vehicle class filters. Use an empty array to include all vehicle classes.N
vocationsarray<integer>-1, 2, 3, 4, 5Vocation IDs from GET /api/v2/filters/vocations. An empty array includes all vocations.N

Examples

Site Intelligence analytics from discovered locations

Use the numeric id returned by the preceding Site Intelligence 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.