Skip to content

Analytics · Beta

StreetLight Data
API integration

Ship Analytics features without building the integration. Full StreetLight Data API access via Proxy and 20+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
StreetLight Data

Use Cases

Why integrate with StreetLight Data

Common scenarios for SaaS companies building StreetLight Data integrations for their customers.

01

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.

02

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.

03

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.

04

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

Ship these features with Truto + StreetLight Data

Concrete product features your team can ship faster by leveraging Truto’s StreetLight Data integration instead of building from scratch.

01

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.

02

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.

03

Zone builder from OpenStreetMap

Let users search OSM features inside your app and construct reusable StreetLight zone sets programmatically for repeatable studies.

04

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.

05

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.

06

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.

SuperAI

StreetLight Data AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

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.

Why Truto

Why use Truto’s MCP server for StreetLight Data

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with StreetLight Data in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s StreetLight Data account

Use Truto’s frontend SDK to connect your customer’s StreetLight Data account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call StreetLight Data

Truto’s Proxy API is a 1-to-1 mapping of the StreetLight Data API. You call us, we call StreetLight Data, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate StreetLight Data’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about StreetLight Data on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

StreetLight Data

Get StreetLight Data integrated into your app

Our team understands what it takes to make a StreetLight Data integration successful. A short, crisp 30 minute call with folks who understand the problem.