---
title: "Run analytics query"
method: POST
path: "/v1/analytics/query"
---

# Run analytics query

`POST /v1/analytics/query`

## Request

- Base URL: `https://api.turos.app`
- URL: `https://api.turos.app/v1/analytics/query`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Run a tenant-safe analytical query over supported SEC API history datasets without exposing raw SQL.

## Request body

- AnalyticsQueryInput
  - `dataset` 'filings' | 'sections_items' | 'segmented_revenues' | 'ownership' | 'enforcement', required
  - `dimensions` string[], required
  - `measures` string[], required
  - `filters` object
    - `ticker` string
    - `cik` string
    - `form` string
  - `timeWindow` object
    - `from` string
    - `to` string
  - `sort` object
    - `field` 'year' | 'form' | 'count' | 'ticker' | 'sum_value', required
    - `direction` 'asc' | 'desc'
  - `limit` integer, required

## Response `200`

Successful analytics query result

- AnalyticsQueryResult
  - `object` 'analytics_query_result', required
  - `dataset` 'filings' | 'sections_items' | 'segmented_revenues' | 'ownership' | 'enforcement', required
  - `dimensions` string[], required
  - `measures` string[], required
  - `filters` object
    - `ticker` string
    - `cik` string
    - `form` string
  - `timeWindow` object
    - `from` string
    - `to` string
  - `sort` object, required
    - `field` 'year' | 'form' | 'count' | 'ticker' | 'sum_value', required
    - `direction` 'asc' | 'desc', required
  - `limit` integer, required
  - `rowCount` integer, required
  - `rows` object[], required
    - `values` object, required
    - `recordCount` integer, required

## Other responses

- `default`: Contract-aware error response

---

[API](https://skmtc.dev/turos/apis/turos-api.md) · [All operations](https://skmtc.dev/turos/apis/turos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/turos/apis/turos-api/revisions/a68d3ec80a56?raw)
