---
title: StreetLight Data API Integration on Truto
slug: streetlightdata
category: Analytics
canonical: "https://truto.one/integrations/detail/streetlightdata/"
---

# StreetLight Data API Integration on Truto



**Category:** Analytics  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 24 tools for StreetLight Data that AI agents can call directly.

- **create_a_street_light_data_debug** — Echo a message to verify connectivity with StreetLight. Returns: message, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas.
- **create_a_street_light_data_zone_set** — Create a new zone set in StreetLight InSight. Returns: name, status, uuid. Required: insight_login_email. zones and osm_ids are mutually exclusive.
- **list_all_street_light_data_zone_sets** — Search StreetLight InSight zone sets. Returns zone sets including zone_set_uuid, zone_set_name, status, created_date, and zones. Max 100 results.
- **street_light_data_osm_ids_search** — Search StreetLight OSM segments by geometry. Returns an array of records, each containing osm_id, road_classification, and osm_segment_count. Required: geometry.
- **list_all_street_light_data_date_ranges** — List available date ranges for a Streetlight travel mode and country. Returns default, supports, and AGPS-specific Network_Performance and Network_OD date ranges. Required: country, travel_mode_type.
- **list_all_street_light_data_tags** — List available tags in your StreetLight organization. Returns: analysis_num, created_by, created_date, tag_name.
- **create_a_street_light_data_tag** — Create a new StreetLight tag to organize analyses. Returns: tag_name, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, tag_name.
- **delete_a_street_light_data_tag_by_id** — Delete a tag in StreetLight. Returns: status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, id.
- **street_light_data_tags_bulk_create** — Add one or more tags to one or more StreetLight analyses. Returns: status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, tags, analyses.
- **street_light_data_tags_bulk_delete** — Remove one or more tags from one or more StreetLight analyses. Returns: status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, tags, analyses.
- **create_a_street_light_data_analysis** — Create and run a new StreetLight analysis. Returns the created analysis name, status, and UUID. Required: insight_login_email, analysis_type, travel_mode_type, oz_sets.
- **street_light_data_analyses_search** — Search StreetLight analyses by date range, name, type, travel mode, tags, queue status, or API key. Returns: analysis_name, analysis_type, analysis_uuid, created_by_uuid, created_date, data_period, number_of_zones, tags, travel_mode.
- **list_all_street_light_data_analyses** — Check the status and included metrics for one or more StreetLight analyses. Returns: name, status. Required: analyses.
- **update_a_street_light_data_analysis_by_id** — Update the name or description of a StreetLight analysis by id. Returns: analysis_name, analysis_uuid, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: id, name.
- **delete_a_street_light_data_analysis_by_id** — Delete a StreetLight analysis by id. Returns: analysis_name, analysis_uuid, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: id.
- **create_a_street_light_data_analysis_cancellation** — Cancel a StreetLight analysis by its analysis name. Returns: analysis_name, analysis_uuid, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: cancel_id.
- **list_all_street_light_data_analysis_metrics_by_uuid** — Download StreetLight analysis metrics by UUID. Returns the metrics file in the `content` field as a CSV or zip payload with metric-specific columns. Required: uuid_id, metric.
- **list_all_street_light_data_analysis_metrics_by_name** — Download metrics for a StreetLight analysis by name. Returns a CSV-formatted metrics file with columns that vary by the requested metric. Required: name_id, metric.
- **list_all_street_light_data_satc_metrics** — Get StreetLight traffic metrics for segments within a defined geometry. Returns an array of metric rows, each row an array of values ordered by the requested columns (segment_id followed by the requested metric fields). Required: geometry, country, mode, fields, day_part, day_type, and direction. One of date or date_range is required, but not both. Queries count against your segment quota; do not…
- **list_all_street_light_data_satc_metric_pages** — List metric rows from a previous StreetLight SATC metrics query by paging id. Returns an array of metric rows, each row an ordered array of numeric values matching the requested columns. Required: paging_id.
- **list_all_street_light_data_satc_geometries** — List StreetLight segment geometries in GeoJSON format. Returns an array of geometry records, each containing a segment_id and its GeoJSON LineString. Required: mode, geometry, country. Max 10,000 results per page.
- **list_all_street_light_data_satc_geometry_pages** — List the next page of segment geometries for a StreetLight geometry query. Returns segment_id and line_geometry for each record. Required: paging_id. Max 10000 per page.
- **list_all_street_light_data_satc_segment_counts** — Count segments in a StreetLight geometry. Returns the matching segment count. Required: geometry, country, mode. Result is never lower than the metrics endpoint count but may be higher.
- **list_all_street_light_data_satc_usage** — List previous StreetLight SATC usage requests. Returns: status, created_date, type, job_id, billed_fields_queried, segments_queried, is_billable.

## How it works

1. **Link your customer's StreetLight Data account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach StreetLight Data.** The Proxy API is a 1-to-1 mapping of the StreetLight Data API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed traffic analytics in PropTech and site selection tools** — Real estate and retail platforms can offer users instant vehicular and pedestrian traffic metrics for any parcel or catchment area, replacing costly manual traffic studies with API-driven insights rendered directly in the app.
- **Power smart city and digital twin dashboards** — SaaS platforms serving DOTs and municipal planners can pull StreetLight's AADT, VMT, and congestion metrics on demand, letting their customers correlate mobility patterns against local IoT and safety data in a single command center.
- **Automate transportation emissions and ESG reporting** — Sustainability platforms can trigger StreetLight analyses to fetch VMT and active transportation metrics, so municipalities and enterprises can quantify transport-related emissions and track reductions over time without manual data collection.
- **Enable programmatic corridor and O-D studies for engineering firms** — Civil engineering SaaS tools can let users define zones and kick off asynchronous origin-destination or corridor analyses from within their existing project workflow, then pipe results into proprietary dashboards or GIS layers.

## What you can build

- **On-demand traffic count heatmaps** — Let users draw a polygon in your app and use the SATC endpoints to render road-segment geometries with vehicle counts by day part, day type, and direction.
- **Asynchronous analysis orchestration** — Trigger StreetLight analyses with custom zone sets and travel modes, poll status via the analyses list endpoint, and surface completion events back to your users.
- **Zone builder from OpenStreetMap** — Let users search OSM features inside your app and construct reusable StreetLight zone sets programmatically for repeatable studies.
- **Metric export and visualization pipelines** — Pull completed analysis metrics by UUID or name into your backend to power native time-series charts, O-D matrices, and CSV downloads inside your product.
- **Multi-tenant project tagging** — Map your internal workspace or project IDs to StreetLight tags using bulk tag creation so analyses stay organized per end-customer across your platform.
- **Quota and usage monitoring** — Surface remaining SATC segment counts and usage to your users before they submit expensive requests, preventing failed jobs and quota surprises.

## FAQs

### How does authentication work for StreetLight Data via Truto?

Each of your end users connects their own StreetLight Data account through Truto, which manages credential storage, refresh, and secure token handoff. You never handle raw API keys or auth flows in your product code.

### Can we run both synchronous traffic counts and long-running analyses?

Yes. The SATC endpoints support near-real-time segment counts, geometries, and metrics for polygon-based lookups, while the analysis endpoints support asynchronous multi-modal studies that you create, list, update, cancel, and fetch metrics from once complete.

### How do we handle analyses that take minutes or hours to complete?

Create the analysis, then poll list_all_street_light_data_analyses to track status. Once complete, retrieve outputs via list_all_street_light_data_analysis_metrics_by_uuid or by name to load the results into your product.

### Can we organize analyses per customer or project inside our SaaS?

Yes. Use the tag endpoints, including bulk create and delete, to map your internal workspace or project identifiers to StreetLight so analyses remain segmented per end-user account.

### How do we define custom geographic zones for analyses?

Use street_light_data_osm_ids_search to look up OpenStreetMap features, then create_a_street_light_data_zone_set to persist reusable zones. Existing zone sets can be listed for selection in your UI.

### Can end users cancel or modify analyses from our product?

Yes. Truto exposes tools to update an analysis, delete it, or create a cancellation, so you can build full lifecycle controls into your UI without wrapping the raw StreetLight API.

### How do we avoid hitting StreetLight quotas?

Before submitting SATC requests, call list_all_street_light_data_satc_segment_counts and list_all_street_light_data_satc_usage to check remaining capacity and surface it to users, so heavy requests can be gated in your product.
